1. 引言
在传统的 RFID 发卡场景中,UHF 读写器通常依赖厂商提供的桌面 SDK 或 ActiveX 控件,只能在 C/S 架构下运行。随着业务系统向浏览器端迁移,如何在 BS 架构中直接调用 UHF 读写器完成发卡,成为许多项目必须解决的问题。
友我科技提供的 RFID 读写器 Web 插件,让浏览器与 UHF 读写器通信。本文将从整体架构、环境准备、核心接口、发卡流程到页面实现,完整介绍基于该插件在 BS 架构中进行 UHF 发卡的方法。
2. 整体架构
在 BS 架构中,浏览器无法直接访问 USB 或串口等硬件资源,因此需要在浏览器与读写器之间引入一层本地代理服务。 这层代理就是 RFID 读写器 Web 插件
- 浏览器页面:负责采集发卡数据、展示连接状态与发卡结果;
- 本地代理服务:友我科技 Web 插件提供的本地程序,负责与读写器 SDK 交互;
- UHF 读写器:执行实际的标签读写操作。
3. 环境准备
3.1 安装RFID读写器web插件
从友我科技官网下载并安装 RFID 读写器 Web 插件对应的本地代理程序。
3.2 引入前端 SDK
在页面中引入友我科技提供的前端 SDK 文件,YOWOCloudRFIDReader.js
<script src="http://127.0.0.1:8008/YOWOCloudRFIDReader.js"></script>
3.3 连接读写器
将 UHF 读写器通过 USB 或串口连接到运行本地代理的电脑,并确认驱动已正确安装。
4. 核心接口说明
友我科技 Web 插件前端 SDK 主要提供以下接口:
G2_Inventory(isEPC)
G2_Read(memType,StartPos, ReadLength,FormatID)
G2_Write(memType,StartPos,FormatID, Data)
G2_WriteEPC(EPCData)
...
5. 发卡流程设计
一次完整的 UHF 发卡操作通常包含以下步骤:
- 应用js自动初始化读写器;
- 用户输入 EPC 编码与用户数据;
- 调用 G2_Write或者G2_WriteEPC 写入标签;
- 根据返回结果提示成功或失败;
- 可选:调用
G2_Read回读校验写入结果。
6. 发卡页面实现
6.1 页面交互
发卡页面通常包含以下元素:
- 读写器连接状态指示;
- EPC 编码输入框;
- 用户数据输入框;
- 发卡按钮与结果提示区。
6.2 页面代码片段
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 14:
document.getElementById("CloudReaderVer").value = resultdata.strData;
break;
case 23:
if(resultdata.Result>0)
{
document.getElementById("CardNo").value = resultdata.CardNo;
}
else
{
document.getElementById("CardNo").value= GetErrStr(resultdata.Result);
}
break;
case 26:
if(resultdata.Result>0)
{
alert("修改EPC成功:");
}
else
{
alert("修改EPC失败,错误:" + GetErrStr(resultdata.Result));
}
break;
}
}
);
function G2Inventory()
{
rfidreader.Repeat=0;
rfidreader.G2_Inventory(0);
}
function G2EditEPC()
{
var Data;
Data =document.getElementById("NewEPC").value;
rfidreader.KeyStringMode=1;
rfidreader.KeyString="0";
rfidreader.Repeat=0;
rfidreader.G2_WriteEPC(Data);
}
7. 总结
在 BS 架构中基于友我科技 RFID 读写器 Web 插件进行发卡,核心在于解决浏览器与硬件设备之间的通信问题。可以在保持浏览器零插件的前提下,完整复用读写器 SDK 的全部能力,实现稳定、高效的发卡操作。
实际项目中,建议根据部署环境、浏览器兼容性要求与安全策略,综合评估方案选型,并在发卡流程中加入完善的日志记录与异常处理机制,确保业务数据准确可靠。