R

rfid-sdk

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. 读写器有时会返回不到盘点的标签数据