Name Last Update
example Loading commit data...
extra Loading commit data...
src Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.jshintrc Loading commit data...
.travis.yml Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
gulpfile.js Loading commit data...
index.js Loading commit data...
package.json Loading commit data...

title: 读写器的SDK

读写器的SDK

概要

本SDK主要用于UHF RFID读写器的调用。完全用node来实现Socket的硬件通讯。

已实现接口:

  • 打开读写器(A0 00 00 00 00)
  • 关闭读写器(A1 00 00 00 00)
  • 设置功率(F3 10 00 00 00)
  • 设置频率区域(F5 00 00 00 00)
  • 设置速度模式(FA 00 00 00 00)
  • 设置标签组(B6 00 00 00 00)
  • 设置天线驻留时长(CA 00 00 00 00)
  • 设置定频(BF 00 00 00 00)
  • 获取配置(B3 00 00 00 00)
  • 开始盘点(F1 00 00 00 00)
  • 结束盘点(F2 00 00 00 00)
  • 获取固件版本(B4 00 00 00 00)
  • 设置盘点时长(B0 00 00 00 00)

类关联图

      index + config
       入口    配置
        |
    directive\Base--> Util +   Connector   +     interface
       指令基类      工具类  连接器类<多例>  接口标准输入,输出
        |
   -----------------------------------------
   |               |                       |
directive\Uhf    directive\Config        directive\Inventory
UHF模块指令类    配置指令类              盘点指令类   

使用方法

环境准备

安装nodejs最新版(0.12.2以上)

下载

安装gulp

npm install gulp -g -d

下载和部署rfid-sdk

git clone git@git.dev.yoho.cn:web/rfid-sdk.git
cd rfid-sdk
npm install 

es5调用方法

//调用
var sdk = require('../dist/index');//模块入口

es6调用方法

//调用
require("babel/register");//需要加入Babel的polyfill
var sdk = require('../src/index');//模块入口

例子

//开始盘点
sdk.start({
    host: '172.16.13.6', //IP
    port: '9761', //端口
    filter: { //设置灵敏度的过滤
        'on': '1',
        rssi: -60
    },
    frequencys: [{ //天线的定频
        ant: 0,
        freq: 10
    }, {
        ant: 1,
        freq: 10
    }, {
        ant: 2,
        freq: 10
    }, {
        ant: 3,
        freq: 10
    }],
    inventoryTime: 400, //设置盘点时长
    power: [15, 0, 0, 0] //功率设置
}, function (data) {
    console.log(data);
});

问题:

  1. 对于多个返回结果的拆分(已解决)
  2. 设置定频,没有起作用(待验证)
  3. socket连接异常处理
  4. 读写器有时会返回不到盘点的标签数据