1.1.14 • Published 1 year ago

rfid-js-sdk v1.1.14

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

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的方法其他所有接口统一返回格式如下:

  1. code 0表示成功,-1表示失败

  2. data 返回的数据

  3. msg 返回的信息

开发流程

盘点扫描模式

有默认设置的参数,如果不需要修改可以不用设置。

npm.io

单标签模式

单标签模式只需要设置标签类型,如果标签类型是 6C 标签,则可以不用设置。

npm.io

接口详情

初始化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,
)

参数说明:

  1. readBank:读取区域,EPCMemory(EPC 区)、UserMemory(用户区)、TIDMemory(TID 区)、ReservedMemory(保留区)

  2. address:读取的起始地址,EPC 区默认是 2 位,其他是 0

  3. blockCount:读取的块数,16 进制模式(1 块对应 4 个字符);ASCII码模式(1 块对应 2 个字符),GBK 和 UTF-8 模式(1 块对应 1 个字符)

  4. password:芯片默认密码是 00000000

  5. selectBank:指定操作标签区域,枚举类型 EPCMemory(EPC 区)、TIDMemory(TID 区),目前只支持这两个类型,为 null 值表示不指定操作标签区域

  6. 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,
)

参数说明:

  1. writeBank:EPCMemory(EPC 区)、UserMemory(用户区),目前只支持这两个类型。

  2. address:写入标签的起始地址,EPC 区默认是 2 位,其他是 0。

  3. tagData:写入标签数据。

  4. password:默认密码是 00000000

  5. selectBank:指定操作标签区域,枚举类型 EPCMemory(EPC 区)、TIDMemor(TID 区),目前只支持这两个类型,为 null 值表示不指定操作标签区域。

  6. selectData:指定操作的标签数据,为 null 值表示不指定标签,会写入附近一个标签。

锁定/解锁标签

锁定/解锁指定标签的区域,锁定指定标签区域后不能读取和写入操作;解锁指定标签区域后可以读取和写入操作,只支持 6C 标签,6B 标签不支持。

const { data } = window.RfidManager.lockTag(
    lockType: LockType,
    password: string,
    lockBank: LockMemoryBank,
    selectBank: MemoryBank | null,
    selectData: string | null,
)

参数说明:

  1. lockType:锁定标签类型,LOCK(锁定)、UNLOCK(解锁)

  2. password:默认是 00000000

  3. lockBank:锁定标签区域,ALL(所有区域)、TID(TID 区域)、EPC(EPC 区域)、USERDATA(用户区域)、ACCESSPWD(访问密码区域)、KILLPWD(销毁密码区域)

  4. selectBank:指定操作标签区域,枚举类型 EPCMemory(EPC 区)、TIDMemory(TID 区),目前只支持这两个类型,为 null 值表示不指定操作标签区域。

  5. 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.1.14

1 year ago

1.1.13

1 year ago

1.1.12

1 year ago

1.1.11

1 year ago

1.1.10

1 year ago

1.1.9

1 year ago

1.1.8

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago