新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于RFID的農產品生產線讀寫器設計

        基于RFID的農產品生產線讀寫器設計

        作者: 時間:2011-10-09 來源:網絡 收藏
        讀取系統軟件工作流程:

        本文引用地址:http://www.104case.com/article/155650.htm


        圖4 軟件系統工作流程

        1、嵌入式數據庫操作模塊

        在本項目中使用了Sqlite3 作為系統的嵌入式數據庫。嵌入式數據庫是整個系統的重要組成部分, 主要負擔了采集基本數據的本地存儲, 條碼閱讀信息的初步存儲和快速查詢, 工作日志的保存, 還能和網絡通信模塊配合實現網絡主/ 從數據庫的同步, 在主服務器崩潰的情況下, 依然可以通過整理所有嵌入式數據庫的數據進行大部分數據的恢復, 增加了系統的可靠性, 此數據庫采用了單數據文件, 能夠支持大部分SQL 92標準的數據庫操作語句, 支持事務功能, 通過擴展網絡操作接口函數, 達到了和后臺數據庫進行通信和交換數據的目的。

        2、網絡通信模塊

        本系統的特色就是通過嵌入式Linux 操作系統的網絡底層支持, 以多種網絡傳輸途徑, 將數據和后臺數據服務器進行數據傳輸。在本系統的網絡部分中, 在局域網內利用Linux 系統的提供的TCP/IP 協議支持, 在編程中采用了動態與服務器建立連接的方法, 在讀取到標簽信息并解碼出有效信息的時候, 向服務器相應端口發送相應的Socket 請求信息, 服務器端接受到請求后建立連接并新建Socket 端口來和終端進行通信; 只有在讀取數據的時候數據庫和終端間才產生數據傳輸和占用服務器端資源, 從而降低了網絡占有率和服務器端的負荷, 提高了網絡通信的效率。

        3、 協議解析模塊

        協議解析模塊負責將發送的命令參數加入包頭等信息,并將收到的標簽回傳的信息進行解包, 通過對信息的解包, 能夠得到盤存或讀寫的相關信息。MPR6000 支持的 Gen2命令包括Read, Write, Kill , Erase, Lock。命令都由一個字符串構成, 其結構如下:
        SOF> Node> Length> Status> Payload> CRC>
        分別由開始幀、節點、總長度、狀態、標簽信息、CRC 這幾部分組成。

        舉例來說, Gen2 盤點命令的操作碼為01h, 操作會返回在讀寫域內全部的符合讀取條件的Gen2 標簽, 而經過反碰撞模塊處理后, 得到的數據幀由標簽信息和盤存總結兩部分組成:

        即 回復信息>= [ 標簽回復>] 盤存總結>
        標簽回復> = EPC> 訪問回復>
        EPC> = 標簽ID 長度> 協議控制字> 標簽ID>
        舉例, 當使用天線B 并且RF 的功率為22 時, 讀取所有SL 為NOT SET, S3 flag 為A 的Gen2 標簽, 此時的起始Q 為1( 即2 個時隙) 。
        60 01 01 16 02 03 00 01
        如果當前射頻范圍內的標簽有一個64 位的Gen2 標簽1的ID 為“ 0102 0304 0506 0708”。
        而且有一個96 位Gen2 標簽2 的ID 為“ 1211 1009 08070605 0403 0201”。

        可能讀寫模塊會收到這樣一個包, 完整內容如下:
        04 28 00 01 02 03 04 05 06 07 08 07 08 30 00 12 11 10 09 08 07 06 05 04 03 02 01 00 02 00 16 00 01 00 00 00 02 00 09
        現在對這個包進行解析, 根據協議規定 接受包> = [標簽回復>] 盤存總結>
        = [04 28 00 01 02 03 04 05 06 07 08> 07 08 30 00 12 11 10 09 08 07 06 05 04 03 02 01>] 00 02 00 16 00 01 00 00 00 02 00 09>

        標簽1 回復> = 標簽1 ID 長度> 協議控制字> 標簽1 ID>
        標簽1 ID 長度> = 04> = 4- word = 64 Bit 標簽ID
        協議控制字> = 28 00>, 從而得出 標簽1 ID> =0102 0304 0506 0708>
        標簽2 回復> = 標簽2 ID 長度> 協議控制字> 標簽2 ID>

        標簽1 ID 長度> = 06> = 6- word = 96 Bit 標簽ID
        協議控制字> = 30 00>, 得出 標簽2 ID> = 1211 1009 0807 0605 0403 0201>

        而又有 盤存總結>= 標簽數> 時隙數>EPC CRC 錯誤> 回復CRC 錯誤> 沖突次數> 通信輪數>
        所以得到 標簽數> = 2, 時隙數> = 22, EPC CRC 錯誤> = 1, 回復CRC 錯誤> = 0, 沖突次數> = 2, 通信輪數> = 9

        在提取標簽信息后, 則可以將所獲得的標簽信息送到嵌入式數據庫模塊進行本地暫存, 同時通過網絡模塊上傳至后臺服務器做記錄, 中間的接口函數部分就不詳細給出了。

        四、總結與展望

        本文中描述的嵌入式RFID 終端讀取器, 在農業產品包裝中進行了實用, 基本滿足了RFID 系統對前端RFID 標簽數據采集、處理、通信方面的要求, 在功能上和穩定性方面已經能夠替代專用RF , 因為采用了免費的開源Linux 操作系統和開源數據庫Sqlite , 大大降低了總體成本, 特別適合在成本敏感系數高的生產和監控中使用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 增城市| 新沂市| 大兴区| 合江县| 佛山市| 永安市| 秀山| 莱阳市| 北京市| 石家庄市| 盐池县| 绥阳县| 阳东县| 阜平县| 阳朔县| 包头市| 甘南县| 延吉市| 襄樊市| 确山县| 昭通市| 雅安市| 长垣县| 景德镇市| 株洲市| 德清县| 临西县| 东方市| 谷城县| 西城区| 信宜市| 嵊泗县| 辽阳市| 工布江达县| 米脂县| 右玉县| 浦江县| 湖北省| 通州区| 扶余县| 高唐县|