Rokato. RfReader

RF读卡器设备操作类

Constructor

new RfReader(plug, rfIdx)

构造Rf读卡器对象

Parameters:
NameTypeDefaultDescription
plugRktPlug

插件通信对象

rfIdxnumber0

Rf读卡器对象索引

Members

(static, readonly) DevType :number

设备类型

Type:
  • number
Properties
NameTypeDescription
AUTOnumber

自动匹配 优先顺序HID>USB>SERIAL(YZ>HC>MU>CU)

HC_HIDnumber
CU_SERIALnumber
YZ_CH9326number
MU_HIDnumber
YZ_SERIALnumber
CU_CH340number
AE_APInumber

AE-API第三方读卡器接口

(static, readonly) RfType :number

射频协议类型

Type:
  • number
Properties
NameTypeDescription
Nonenumber
Iso14443Anumber
Iso14443Bnumber
Iso15693number

Methods

(async) beep(ms) → {Promise}

蜂鸣器

Parameters:
NameTypeDefaultDescription
msnumber15

持续毫秒

Returns:

err/msg + retval

Type: 
Promise

(async) close() → {Promise}

主动关闭设备连接占用

Returns:

err/msg

Type: 
Promise

(async) findId() → {Promise}

查找初始状态的ID 如需重复查找非初始状态ID需rfReset重置状态

Returns:

err/msg + retval(数组对象各协议最大示例值如下) { "retval": [ { "rf_type": 1, "uid": "FFFFFFFFFFFFFFFFFFFF", "atqa": 65535, "sak": 255 }, { "rf_type": 2, "uid": "FFFFFFFF", "application": "FFFFFFFF", "protocol": "FFFFFF" }, { "rf_type": 4, "dsfid": 255, "uid": "FFFFFFFFFFFFFFFF" } ] }

Type: 
Promise

(async) getDevType() → {Promise}

获取当前设备类型

Returns:

err/msg + retval

Type: 
Promise

getRfIdx() → {number}

获取当前Rf读卡器对象索引

Returns:
Type: 
number

(async) getRfType() → {Promise}

获取当前RF协议类型 参考RfReader.RfType 如果为0则代表设备暂未切换具体的协议模式

Returns:

err/msg + retval

Type: 
Promise

(async) getVer() → {Promise}

获取读卡器固件版本信息描述字符串

Returns:

err/msg + retval/ver

Type: 
Promise

(async) hasRfType(rfType, forceSwitch) → {Promise}

设备当前是否具备指定的RF协议能力 需要当前读卡器已连接

Parameters:
NameTypeDefaultDescription
rfTypeRfType

协议类型参考RfReader.RfType 如果设备不支持且无法切换协议模式返回false

forceSwitchbooleanfalse

默认false仅当前初始为0暂未切换时允许切换,true则为强制切换但会影响感应区RFID状态

Returns:

err/msg + retval

Type: 
Promise

(async) init(devType) → {Promise}

申请初始化读卡器对象

Parameters:
NameTypeDescription
devTypeDevType

设备类型

Returns:

err/msg

Type: 
Promise

(async) led(Y, G) → {Promise}

控制LED灯 仅支持带灯读卡器

Parameters:
NameTypeDescription
Ynumber

黄灯 -1=忽略 0=熄灭 1=点亮

Gnumber

绿灯 -1=忽略 0=熄灭 1=点亮

Returns:

err/msg + retval

Type: 
Promise

(async) loopContinue() → {Promise}

继续loopFindId自动暂停中的循环处理任务

Returns:

err/msg

Type: 
Promise

(async) loopFindId(callback, ms, pause, fixIdle) → {Promise}

自动无限循环寻卡 注意重复调用将取消上次绑定的回调,同时之后调用其他某些读卡器方法也会自动停止

Parameters:
NameTypeDefaultDescription
callbackcallback

事件回调evt参数对象包含retval(数组对象参考findId)

msnumber100

循环间隔毫秒

pausebooleanfalse

是否找到Id后自动暂停等待loopContinue继续 注意loop必须在暂停或停止状态才能执行其他读卡器操作

fixIdlebooleanfalse

是否启用对比Id更改变化修复芯片或设备不兼容Idle寻卡导致的重复寻到相同芯片现象

Returns:

err/msg

Type: 
Promise

(async) loopStop() → {Promise}

主动停止Loop循环处理任务

Returns:

err/msg

Type: 
Promise

(async) ping(open) → {Promise}

检查设备连接是否正常

Parameters:
NameTypeDefaultDescription
openbooleantrue

是否自动打开设备

Returns:

err/msg + retval(-1=已被占用/1=已连接/0=连接失败)

Type: 
Promise

(async) rfReset() → {Promise}

射频感应天线复位重启 重置所有RFID状态

Returns:

err/msg + retval

Type: 
Promise

(async) serialCfg(devType, addr) → {Promise}

串口设备配置 在使用串口类读卡器前必须最优先调用1次

Parameters:
NameTypeDescription
devTypeDevType

设备类型参考RfReader.DevType 仅支持SERIAL类读卡器

addrstring

端口地址 例如 "/dev/ttyS3"

Returns:

err/msg + retval

Type: 
Promise

(async) serialOnly(only) → {Promise}

配置是否占用串口通信唯一连接 非串口设备无意义

Parameters:
NameTypeDefaultDescription
onlybooleantrue

默认true=保持通信,false=仅在操作时占用串口通信

Returns:

err/msg

Type: 
Promise

(async) setDevType(devType) → {Promise}

切换设备类型

Parameters:
NameTypeDescription
devTypeDevType

设备类型

Returns:

err/msg + retval

Type: 
Promise

(async) setIso14443A(enable, limit) → {Promise}

设置Iso14443A协议寻卡

Parameters:
NameTypeDefaultDescription
enableboolean

是否启用 默认为禁用状态

limitnumber0

限制最大查找ID数量 默认0代表不限制

Returns:

err/msg

Type: 
Promise

(async) setIso14443B(enable, limit, afi, slotsNum) → {Promise}

设置Iso14443B协议寻卡

Parameters:
NameTypeDefaultDescription
enableboolean

是否启用 默认为禁用状态

limitnumber0

限制最大查找ID数量 默认0代表不限制

afinumber0

过滤AFI

slotsNumnumber0

时隙槽数0~4分别代表Slots1/2/4/8/16

Returns:

err/msg

Type: 
Promise

(async) setIso15693(enable, limit, afi, nb16Slots) → {Promise}

设置Iso15693协议寻卡

Parameters:
NameTypeDefaultDescription
enableboolean

是否启用 默认为禁用状态

limitnumber0

限制最大查找ID数量 默认0代表不限制

afinumber256

如果AFI>0xFF则忽略AFI过滤

nb16Slotsbooleanfalse

时隙槽数false=1:slot,true=16:slots

Returns:

err/msg

Type: 
Promise

setRfIdx(rfIdx)

设置切换Rf读卡器对象索引

Parameters:
NameTypeDescription
rfIdxnumber

Rf读卡器对象索引

(async) waitFindId(ms) → {Promise}

自动等待循环寻卡 注意重复调用将自动停止上一次,同时之后调用其他某些读卡器方法也会自动停止

Parameters:
NameTypeDefaultDescription
msnumber100

循环间隔毫秒

Returns:

err/msg + retval(数组对象参考findId)

Type: 
Promise

(static) guessAtqaType(atqa)

猜测ATQA芯片类型字符串描述

Parameters:
NameTypeDescription
atqanumber

ISO14443A响应的ATQA

(static) uidToCardNo(uid)

UID前4字节转换为十进制小端序10位的兼容卡号

Parameters:
NameTypeDescription
uidstring

不低于4字节的UID字符串