美文网首页
销邦PDA读取RFID的一次简单尝试

销邦PDA读取RFID的一次简单尝试

作者: Quintusss | 来源:发表于2020-10-15 18:59 被阅读0次

这次项目使用的设备为销邦R2手持终端,所以文中概念和相关代码只针对此类型设备,不确定能否对其他产品及型号构成参考建议。

1、首先让我们了解一下被读取的标签的基本概念:

Gen2 标签一般分为 4 个区:Reserve(保留区); EPC 区; TID 区; USER 区; 读出
为 16 进制字符数,写需要 4 倍数 16 进制字符数;
Reserve(保留区):存放密码。0-1 存放销毁密码,永远销毁标签,2-3 块
存放访问密码。
EPC 区:标签 EPC 码(全球物联网统一电子商品码),一般为 96 位共 6 块,
也有 64 位。扩展可达 496 位,前面两个块是:校验块和 PC 块(PC 区标明
EPC 的长度)。所以通常读 EPC 区从第二块开始,共 6 个块。
TID 区:一般出厂时已经确定,不可修改,只读,通常有 64 位/96 位(4 块 或 6 个块),标签的唯一 ID 标识。
USER 区:专门为用户存放数据区域,可读写,从 0 块开始(一般 0-31 块 共 32 块)。

2、上手开发

流程.png
第一步:获取 ModuleController 实例,传入DataListener(由流程可知要在onStart()中执行)
mModuleController = ModuleController.getInstance(context, new 
ModuleController.DataListener() {
        @Override
        public void onServiceStarted() {
                //TODO 服务启动成功
        @Override
        public void onError() {
                //TODO 模块不存在,初始化失败
        @Override
        public void onConnect(boolean isSuccess) {
                //TODO 连接成功
        }
        @Override
        public void onDisConnect(boolean isSuccess) {
                // TODO 断开连接
        }
        @Override
        public void onReadTag(byte[] tagData) {
                super.onReadTag(tagData);
                 //TODO 读取成功
                String tag = DataUtils.byteToHexStr(tagData);
            }
);
ps:所有的标签操作都会在DataListener的方法中返回,可重写相关方法获取对应操作的数据
public DataListener() {
        }

        public void onServiceStarted() {
        }

        public void onError() {
        }

        public void onConnect(boolean isSuccess) {
        }

        public void onDisConnect(boolean isSuccess) {
        }

        public void onReadTag(byte[] tagData) {
        }

        public void onWriteTag(boolean isSuccess) {
        }

        public void onLockTag(int lockType) {
        }

        public void onInventoryTag(byte[] epcTid, byte[] epc, byte[] tid, byte[] pc, byte count, float rssi, float freq) {
        }

        public void onInventoryNewTag(byte[] epcTid, byte[] epc, byte[] tid, byte[] pc, byte count, float rssi, float freq) {
        }

        public void onRefreshModule() {
        }

        public void onSetBeep() {
        }

        public void onSetParameters(int paraKey, boolean isSuccess) {
        }

        public void onGetParameters(int paraKey, int paraValue) {
        }

        public void onGetInfo(String info) {
        }

        public void onSetRssiRange() {
        }

        public void onGetRssiRange(float rssiMin, float rssiMax) {
        }

        public void onGetPowerRange(int powerMin, int powerMax) {
        }

第二步:执行相关操作(盘点标签,读,写等,以读为例)

moduleController.moduleReadTag(bank, address, blockCount, password,tagEPC);

读取成功后会回调到DataListener.onReadTag()

 @Override
 public void onReadTag(byte[] tagData) {
         super.onReadTag(tagData);
         //TODO 读取成功
         String tag = DataUtils.byteToHexStr(tagData);
 }

相关参数解释:

参数 释义
bank 区块,包括Reserved 区,EPC 区,TID 区,User 区 4 个区块。
address 起始地址
blockCount 读取块数
password 密码,没有则为null
tagEPC 指定的标签(可以盘点后获取),没有为null

第三步:页面关闭时,关闭moduleController

  @Override
    protected void onDestroy() {
        super.onDestroy();
        moduleController.close();
    }

相关文章

  • 销邦PDA读取RFID的一次简单尝试

    这次项目使用的设备为销邦R2手持终端,所以文中概念和相关代码只针对此类型设备,不确定能否对其他产品及型号构成参考建...

  • rfid与条形码的比较

    和传统条形码识别技术相比,RFID有以下优势 (1)快速扫描 RFID辨识器可同时辨识读取多个 RFID标签,而...

  • Hi,朋友~~那个你爱的工业手持终端X8AT出加强型咯!

    曾经X8AT,这位销邦PDA产品家族中的颜值担当者,凭借超乎寻常的外表,强悍的性能及高度的适用性,活跃在各行业,为...

  • 销邦X8AT手持PDA,多领域运用

    X8AT是一款性能强劲的商用移动智能终端。广泛应用于各类零售门店、商超卖场及仓储物流等场景。基于Android8....

  • 安卓PDA

    超高频rfid手持机的读取距离为1~3米,这个距离是低频和高频rfid手持机所达不到的,所以超高频rfid手持机一...

  • RFID读写器的选购指南

    RFID技术与条码技术相比,具有存储量大、批量读取、距离远、穿透识别、环境适应能力好等特点。随着RFID技术的应用...

  • 服装门店管理更高效,不妨试试RFID手持机

    RFID手持机通过射频识别技术读取标签信息,来进行信息的采集与录入。RFID手持机可实现远距离、非接触、多标签识别...

  • 数据采集是无线PDA的特点

    数据采集是无线PDA最大的特点,较为常见的是条码扫描、二维码扫描等,通过PDA的扫描来读取信息。作为数据采集终端,...

  • 2019-07-04

    物流扫描pda,专为物流行业打造的工业级PDA,俗称物流巴枪,利用光学原理,把条形码的内容解码读取后存储,并通过有...

  • 2019-07-04

    物流仓储pda,专为物流行业打造的工业级PDA,俗称物流巴枪,利用光学原理,把条形码的内容解码读取后存储,并通过有...

网友评论

      本文标题:销邦PDA读取RFID的一次简单尝试

      本文链接:https://www.haomeiwen.com/subject/lfhopktx.html