本文主要記錄關於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坐標參數的值)