rfid-js-sdk v1.1.14
Rfid读写器JS-SDK
开始使用
步骤一:引入JS
通过script标签引入js
<script src="./rfid-js-sdk.es.js"></script>
通过npm安装
# npm 安装
npm install rfid-js-sdk
# 在ts中使用
import { RfidManager } from 'rfid-js-sdk';
步骤二:初始化模块
初始化模块只需要在页面加载完成调用一次即可
window.RfidManager.initAsync({
success: (e) => {
},
fail: (e) => {
}
})
接口调用说明
所有接口通过RfidManager对象调用,除了Util的方法其他所有接口统一返回格式如下:
code 0表示成功,-1表示失败
data 返回的数据
msg 返回的信息
开发流程
盘点扫描模式
有默认设置的参数,如果不需要修改可以不用设置。
单标签模式
单标签模式只需要设置标签类型,如果标签类型是 6C 标签,则可以不用设置。
接口详情
初始化RFID模块
window.RfidManager.initAsync({
success: (e) => {
// 初始化成功
},
fail: (e) => {
// 初始化失败
}
})
启动盘点扫描
window.RfidManager.startInventoryScanAsync({
success: (tagInfo) => {
// 扫描完成
// tagInfo 扫描放回的标签信息
},
fail: (e) => {
// 扫描错误
}
})
停止盘点扫描
window.RfidManager.stopInventoryScan()
读单标签
属于单标签读取操作,支持指定标签读取,也支持不指定标签读取;读取区域是 EPC 区只支持 6C标签。
const { data } = window.RfidManager.readTag(
readBank: MemoryBank,
address: number,
blockCount: number,
password: string,
selectBank: MemoryBank | null,
selectData: string | null,
)
参数说明:
readBank:读取区域,EPCMemory(EPC 区)、UserMemory(用户区)、TIDMemory(TID 区)、ReservedMemory(保留区)
address:读取的起始地址,EPC 区默认是 2 位,其他是 0
blockCount:读取的块数,16 进制模式(1 块对应 4 个字符);ASCII码模式(1 块对应 2 个字符),GBK 和 UTF-8 模式(1 块对应 1 个字符)
password:芯片默认密码是 00000000
selectBank:指定操作标签区域,枚举类型 EPCMemory(EPC 区)、TIDMemory(TID 区),目前只支持这两个类型,为 null 值表示不指定操作标签区域
selectData:指定操作的标签数据(tid),为 null 值表示不指定标签,会读取附近一个标签
读单标签EPC区
属于单标签读取操作;此操作会读取 Epc 区整个数据,不需要指定起始地址和读取块数,不需要指定标签,会随机读取附近一个标签(离读写器设备距离近、信号好)的标签;大约 5 秒没有读取到标签,则会提示找不到标签,该接口属于阻塞模式;只支持 6C 标签,6B 标签没有 EPC 区。
const { data } = window.RfidManager.readEpc()
读单标签Tid
属于单标签读取操作;此操作会读取 Tid 区整个数据,不需要指定起始地址和读取块数,不需要指定标签,会随机读取附近一个标签(离读写器设备距离近、信号好)的标签;大约 5 秒没有读取到标签,则会提示找不到标签,该接口属于阻塞模式;6C 标签和 6B 标签都支持。
const { data } = window.RfidManager.readTid()
写单标签
属于单标签写入操作,支持指定标签写入,也支持不指定标签写入,写入块数会自动根据写入数据进行计算;写入区域是 EPC 区时只支持 6C 标签。
const { data } = window.RfidManager.writeTag(
writeBank: MemoryBank,
address: number,
tagData: string,
password: string,
selectBank: MemoryBank | null,
selectData: string | null,
)
参数说明:
writeBank:EPCMemory(EPC 区)、UserMemory(用户区),目前只支持这两个类型。
address:写入标签的起始地址,EPC 区默认是 2 位,其他是 0。
tagData:写入标签数据。
password:默认密码是 00000000
selectBank:指定操作标签区域,枚举类型 EPCMemory(EPC 区)、TIDMemor(TID 区),目前只支持这两个类型,为 null 值表示不指定操作标签区域。
selectData:指定操作的标签数据,为 null 值表示不指定标签,会写入附近一个标签。
锁定/解锁标签
锁定/解锁指定标签的区域,锁定指定标签区域后不能读取和写入操作;解锁指定标签区域后可以读取和写入操作,只支持 6C 标签,6B 标签不支持。
const { data } = window.RfidManager.lockTag(
lockType: LockType,
password: string,
lockBank: LockMemoryBank,
selectBank: MemoryBank | null,
selectData: string | null,
)
参数说明:
lockType:锁定标签类型,LOCK(锁定)、UNLOCK(解锁)
password:默认是 00000000
lockBank:锁定标签区域,ALL(所有区域)、TID(TID 区域)、EPC(EPC 区域)、USERDATA(用户区域)、ACCESSPWD(访问密码区域)、KILLPWD(销毁密码区域)
selectBank:指定操作标签区域,枚举类型 EPCMemory(EPC 区)、TIDMemory(TID 区),目前只支持这两个类型,为 null 值表示不指定操作标签区域。
selectData:指定操作的标签数据,为 null 值表示不指定标签,会锁定或解锁附近一个标签。
设置参数
const { data } = window.RfidManager.setParameters(
paraType: ParamType;
paraValue: number
)
// 设置是否成功 true 成功 false 失败
获取参数
const { data } = window.RfidManager.getParameters(
paraType: ParamType
)
// 返回参数值,与设置的参数值保持一致,除读写器的最小功率和最大功率之外。
设置盘点是否单次扫描
只针对盘点扫描生效,如果是单次扫描,扫描到一个标签则自动停止扫描。
const { data } = window.RfidManager.setInventorySingleScan(
isNo: boolean
)
// isOn:是否单次扫描 true:单次扫描 false:循环扫描
设置盘点是否开启扫描声音
只针对盘点扫描生效,默认是有声音提示。
const { data } = window.RfidManager.setInventoryBeep(
isNo: boolean
)
// isOn:是否开启扫描声音 true:有声音提示(默认) false:无声音
设置是否过滤盘点重复的标签
只针对盘点扫描生效,默认是停用。
const { data } = window.RfidManager.setInventoryFilterRepeatTag(
isNo: boolean
)
设置是否过滤盘点的指定标签
只针对盘点扫描生效,默认停用
const { data } = window.RfidManager.setFilterInventoryTag(
isNo: boolean
)
设置过滤盘点标签数据
只针对盘点扫描和
const { data } = window.RfidManager.setFilterInventoryData(
filterData: string;
memoryBank: MemoryBank;
)
设置盘点是否返回 RSSI 信息值
只针对盘点扫描生效,默认停用
const { data } = window.RfidManager.setInventoryReturnRssi(
isNo: boolean;
)
/* isOn:是否启用返回 RSSI 值 true:启用(在 startInventoryScanAsync 接口中返回
tagInfo 会有 RSSI 值返回) false:停用(默认)
*/
RFID 模块下电
const { data } = window.RfidManager.powerControlOff()
RFID 模块上电
const { data } = window.RfidManager.powerControlOn()
释放 RFID 模块
const { data } = window.RfidManager.release()
类型说明:
MemoryBank:
1)EPCMemory(EPC 区)
2)UserMemory(用户区)
3)TIDMemor(TID 区)
4)ReservedMemory(保留区)
LockType:
1)LOCK(锁定)
2)UNLOCK(解锁)
LockMemoryBank:
1)ALL(所有区域)
2)TID(TID 区域)
3)EPC(EPC 区域)
4)USERDATA(用户区域)
5)ACCESSPWD(访问密码区域)
6)KILLPWD(销毁密码区域)
ParamType:
1)PARA_TAG_TYPE(当前标签类型)
2)PARA_POWER(读写器的当前功率)
3)PARA_MIN_POWER(读写器的最小功率)
4)PARA_MAX_POWER(读写器的最大功率)
5)PARA_QVALUE(当前 Q 值)
6)PARA_INVENTORY_APPLICATION_SCENE(当前盘点扫描应用场景)0 :单标签 ; 1:多标签 ; 2:多标签 2 ; 3:多标签 3
7)PARA_INVENTORY_READ_CONTENT(当前盘点读取内容)
数据转换接口
16进制转字节 hexStrToByte
const str = window.RfidManager.hexStrToByte(str: string);
字节转16进制 byteToHexStr
const str = window.RfidManager.byteToHexStr(str: string);
字节转ascii码 byteToASCIIStr
const str = window.RfidManager.byteToASCIIStr(str: string);
ascii码转字节 asciiStrToByte
const str = window.RfidManager.asciiStrToByte(str: string);
字节转GBK编码 byteToGBKStr
const str = window.RfidManager.byteToGBKStr(str: string);
GBK转字节 gbkStrToByte
const str = window.RfidManager.gbkStrToByte(str: string);
字节转UTF-8 byteToUTFStr
const str = window.RfidManager.byteToUTFStr(str: string);
UTF-8转字节 utfStrToByte
const str = window.RfidManager.utfStrToByte(str: string);
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago