Psion Teklogix RFID设备编程指南

Psion Teklogix提供的SDK使得使用753x手持设备进行RFID标签的读写变得简单。本文旨在提供一个易于使用的示例,帮助用户快速上手设备。此外,还包含了一个名为PDAFarsiLib的库,用于在设备上正确显示波斯(Farsi)语言文本。更多关于语言库的信息,可以参考Mohamed Abdel-Monem的文章。同时,也可以从制造商那里获得非常全面的技术支持。

前提条件

要使用Psion Teklogix提供的SDK与设备进行交互,至少需要满足以下前提条件:

  • 安装ActiveSync
  • 在安装ActiveSync时连接设备到PC
  • 在设备上设置PsionTeklogixCE420\RfidDeviceManager CAB文件

安装RfidDeviceManager.cab会在设备上放置所需的库,以便.NET应用程序使用提供的SDK。

使用代码

使用.NETPtxRfidNet.dll SDK库来对设备进行编程。(注意:如上所述的前提条件步骤中,RfidDeviceManager.cab应该安装在设备上,并且设备上应该存在PtxRfid.dll库。)要使用Psion Teklogix 753x设备读取或写入标签,必须构建一个DeviceInterface实例并选择适当的读取器。

在智能设备项目中,创建一个DeviceInterface类的实例,并使用它来在设备上找到读取器:

DeviceInterface DevInt = new DeviceInterface(); ReaderId[] _readers = DevInt.CreateReader(readerId);

使用上述读取器(_readers)来读取/写入并使用设备。

标签ID以十六进制格式表示,长度应为24个字符。要写入像“absdefg0123456789”这样的十六进制数字,应该将其写入一个长度为12字节的数组,每个字节包含一个四位的十六进制数字。例如:

byte[] bUID = new byte[12]; for (int i = 0, j = 0; i < UID.Length; i = i + 2, j++) { bUID[j] = byte.Parse(UID.Substring(i, 2), System.Globalization.NumberStyles.HexNumber); }

构建一个EpcClass1Gen2标签,并将它的UID设置为上面构建的字节数组:

Tag rfidTag = new Tag(TagType.EpcClass1Gen2); rfidTag.Uid = new TagUid(bUID, 96);

使用选定读取器的WriteUid API将UID写入标签:

WriteTagUidParams param = new WriteTagUidParams(); _reader.WriteUid(param, rfidTag);

处理AsynchronousDataDelegate事件以读取设备前方的RFID标签。

ReadTagParams t = new ReadTagParams(ReadModes.Triggered, 2000); _reader.StartAsynchronousRead(t); _reader.AsynchronousDataEvent += new AsynchronousDataDelegate(reader_AsynchronousDataEvent); void reader_AsynchronousDataEvent(object source, AsynchronousDataEventArgs e) { if (e.tagData.Format == TagDataFormats.UnparsedRaw) { foreach (Tag id in e.tagData.TagList) { string tagUidStr = ""; foreach (byte tagUid in id.Uid.Data) { tagUidStr += string.Format("{0:x2}", tagUid); } if (getListBoxItem(lstFoundTags, tagUidStr) < 0) { setListBoxItem(lstFoundTags, tagUidStr); _readCount++; } } } }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485