本文主要记录关于RFID设备商以及Impinj.OctaneSdk相关的使用说明以及功能解释。
Reader本身的API核心方法和配置
Connect(启用连接)
该方法主要用于启动阅读器, 该方法包含多个重载,
Connect(); //默认连接
Connect(string address); //带IP地址的连接
Connect(string address, int port, bool useTLS); //带IP地址与端口 和TLS加密连接
Connect(string address, bool useTLS); //带IP地址 和TLS加密连接
Connect(string address, int port); //带IP地址和端口的连接
ConnectAsync(string address, int port, bool useTLS); //异步 带IP地址与端口 和TLS加密连接
ConnectAsync(string address, bool useTLS); //异步 带IP地址 和TLS加密连接
ConnectAsync(string address, int port); //异步 带IP地址和端口的连接
ConnectAsync(string address); //异步 //带IP地址的连接
ConnectAsync(); //异步连接
Start (开启阅读器)
reader.Start();
Stop (暂停阅读器)
reader.Stop();
Disconnect (关闭阅读器连接)
reader.Disconnect();
TagsReported (标签阅读器订阅事件)
reader.TagReported+=...
通过订阅该事件, 当阅读器检测范围标签, 将触发该事件
AntennaChanged (天线订阅事件)
发生天线更改事件时提供通知的事件。
reader.AntennaChanged +=...
ReaderStarted (启动事件)
当阅读器启动时, 触发该事件
reader.ReaderStarted +=...
ReaderStopped (暂停事件)
当阅读器暂停时, 触发该事件
reader.ReaderStopped +=...
TagOpComplete (标记完成事件)
使用者向阅读器分发一个操作(可以是read, write, lock, kill等)提供标记操作已完成的通知的事件,包括运算结果。
reader.TagOpComplete +=...
AddOpSequence (向读取器添加一系列标签操作)
reader.AddOpSequence(TagOpSequence sequence); //TagOpSequence: 代表一类操作, 通过参数传递到阅读器当中。
下图示例为给阅读器当中添加一个修改动作(TagWriteOp)和杀死动作(TagKillOp)。
TagOpSequence seq = new TagOpSequence();
var target = new TargetTag();
target.MemoryBank = MemoryBank.Epc;
target.BitPointer = BitPointers.Epc;
target.Data = epc;
seq.TargetTag = target;
TagWriteOp writeOp = new TagWriteOp();
writeOp.AccessPassword = null;
writeOp.MemoryBank = MemoryBank.Reserved;
writeOp.WordPointer = WordPointers.KillPassword;
writeOp.Data = TagData.FromHexString(KILL_PW);
seq.Ops.Add(writeOp);
// Define a tag kill operation.
TagKillOp killOp = new TagKillOp();
// Specify the kill password for this tag.
// The kill password cannot be zero.
killOp.KillPassword = TagData.FromHexString(KILL_PW);
// Add this tag write op to the tag operation sequence.
seq.Ops.Add(killOp);
reader.AddOpSequence(seq);
1. TagWriteOp (标签写入动作)
2. TagReadOp (标签读取动作)
3. TagKillOp (标签销毁动作)
4. TagLockOp (标签锁定动作)
5. TagFilterOp (标签过滤动作)
6. ...
DeleteAllOpSequences(删除所有动作)
reader.DeleteAllOpSequences();
DeleteOpSequence (根据ID删除某个动作)
reader.DeleteOpSequence(sequenceId);
EnableOpSequence (根据ID启用某个动作)
reader.EnableOpSequence(sequenceId);
QueryDefaultSettings (获取阅读器的默认配置)
var settings=reader.QueryDefaultSettings();
settings.ReaderMode //阅读器的工作模式
settings.SearchMode //阅读器的搜索模式
settings.Session //阅读器的Session值
settings.Antennas.GetAntenna(X).TxPowerInDbm //阅读器的天线值
Tag的核心返回参数说明
# Tid (标签唯一序列)
# Epc (标签EPC区)
# ReadOperationResults (阅读器优化后的读取结果)
# TagSeenCount (标签的读取次数)
# LastSeenTime (最后的读取时间)
# FirstSeenTime (最早的读取时间)
# AntennaPortNumber (天线的序号)
# GpsCoodinates (GPS坐标参数的值)