Low Level Reader Protocol (LLRP) 簡介
標準描述了RFID閱讀器和客戶端之間的介面。是面向訊息的協議。
需要使用者自己保持客戶端和閱讀器間的狀態一致性。
客戶端發起的到閱讀器的訊息:
- 設定閱讀器的配置
- 讀取閱讀器的配置
- 發現閱讀器的能力
- 管理inventory操作
- 管理訪問操作
閱讀器發起的到客戶端的訊息:
- 報告閱讀器狀態
- 報告RF survey
- 報告Inventory的結果
- 報告訪問的結果
- Keepalives
客戶端發起的到閱讀器的訊息都需要響應。
閱讀器發起的到客戶端的訊息只有keepalives需要響應。
LLRP (1.1版)的連線包含兩個階段:版本協商(我現在手頭的裝置不支援這個功能)和執行時。
執行時的執行階段如下:
- 發現能力
- 裝置配置
- (可選的)inventory和訪問操作設定
- 執行inventory迴圈:如果標籤匹配成功,訪問控制操作將在inventory週期內執行。
- 執行RF survey操作
- 傳送報告回客戶端
LLRP中的RF操作有:
- 閱讀器操作(RO): 天線Inventory, RF Survey
- 訪問操作(AO)
天線Inventory(AI)是閱讀器和標籤間的最小互動單元,用AISpec來描述,包括N * M個天線Inventory操作,其中N是天線數,M是InventoryParameterSpecs數。
RF Survey是閱讀器使用一系列頻率在一個天線上執行掃描和測量電量的操作。用RFSurveySpec描述。
閱讀器操作用ROSpec描述,包括至少一個Spec(AISpec或RFSuerveySpec)。
ROSpec的狀態圖
閱讀器根據ROSpec中的優先順序進行強佔(我手頭的裝置只支援一個ROSpec,沒有這種情況)。
在ROSpec進入Active狀態後,依次選擇ROSpec中的Spec(AISpec或RFSurveySpec)執行。
訪問操作用AccessSpec描述,通過引用的ID號與ROSpec相關聯。AccessSpec中包含的TagSpec和OpSpec分別表示標籤匹配條件和操作說明,當ROSpec中的AISpec選擇了一個標籤,而這個標籤符合了某個與該ROSpec關聯的AccessSpec中的TagSpec,則根據OpSpec的描述對該標籤執行對應操作。
有一種特殊的OpSpec——ClientRequestOpSpec,閱讀器會向客戶端傳送請求來獲取額外的引數,需要客戶端響應。
AccessSpec的狀態
LLRP中連線可以是客戶端發起的,也可以是閱讀器發起的(還沒有搞清楚閱讀器如何發起)。
預設的埠是5084,預設的TLS埠是5085(沒有試驗過)。
連線到一個已經建立連線的閱讀器時,如果成功,原先的連線會被關閉;如果不能關閉原來的連線,則當前的請求返回錯誤。
當閱讀器收不到客戶端的keepalives響應時,閱讀器會關閉連線。