新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式 RFID 中間件的標簽數據處理

        基于嵌入式 RFID 中間件的標簽數據處理

        作者: 時間:2010-01-11 來源:網絡 收藏

         3 流程

         SQLite 的應用開發是在GoAhead 基礎上對數據進行接收、過濾和分組處理。客戶端將用戶填寫的XML 表單通過HTTP 協議發送到GoAhead 服務器端。GoAhead 進程中的主線程接收XML文件,將文件內容通過命令消息通道傳給ALE子進程。ALE子進程通過ezXML模塊把XML 文件解析出來,提取出數據存入ECSpec 結構體中。

         DSP 解調出二進制EPC 數據,通過DSP 驅動發送到接收模塊。接收模塊濾除重復EPC碼,屏蔽閱讀器數據格式差異,轉換成統一數據格式后將數據送入到SQLite 中,作為數據庫操作的數據源。每個 ECSpec 對應創建一個線程。該線程根據ECSpec 結構體執行數據庫操作,將查詢結果封裝成XML 數據報表通過數據消息通道發送給XML 報告線程。XML 報告線程通過TCP 協議發送給客戶端。數據流程圖如圖2 所示。下面以EPC 數據的流動方向進行詳細分析。

        圖2 流程

        3.1 EPC 標簽數據格式

         EPC(Electronic Product Code)是本世紀初由美國麻省理工學院(MIT)的AUTO-ID 中心提出的編碼方式。EPC 數據標準1.3 版本[5]中,EPC 由代表版本號的頭部、過濾字段、制造商、物品種類以及物品序列號組成。是唯一存儲在 標簽中的信息。AUTO-ID 中心將全球接受的EAN/UCC 編碼整合到新的EPC 中,共8 種格式:GID,SGTIN,SSCC,GLN,GRAI,GIAI,GDTI 和GSRN。后兩種是數據標準1.4 版本新增加的。為了在應用軟件中更好地表示EPC 碼以及方便用戶閱讀和查詢,AUTO-ID 中心定義另一種表示方式:統一資源標識符(Uniform. Resource Identifier,URI)。中用到的URI 格式如:urn:epc:pat:sgtin-96:0.*.*.*。“urn:epc:pat:”部分為URI 命令格式的固定內容,“sgtin-96”即由EAN/UCC 編碼轉化而來的96 位二進制SGTIN 編碼頭部分,其后四部分為具體編碼內容。

         3.2 EPC 二進制數據轉化成標準URI

         在數據轉化標準[6]中,EPC 有四種表示方式:二進制、URI、不帶物品序列號的純識別URI 和EAN/UCC 編碼。在中需要將閱讀器發送過來的二進制EPC 編碼轉換成標準URI 形式,才能方便數據庫的分組過濾操作。方法是首先將EPC 二進制數據轉換成一個字符一位的‘0’和‘1’字符串。選出代表版本號的頭部,根據頭部查詢EPC 格式表找到這種類型標簽的分段結構,然后依據該分段結構分別提取出各個部分。例如96 位標簽數據300833B2DDD9014935050007(十六進制數表示)轉換成URI 格式為urn:epc:pat:sgtin-96:0.0867360217.005.39544225799。

         3.3 標簽數據插入 SQLite 數據庫

         因為用戶端的 filter 或group 命令是以URI 命令格式發送,查詢結果也是以URI 格式返回,所以在二進制EPC 碼到達數據庫時,立即轉化為URI 格式存儲到SQLite 中,方便查詢操作。tableURI 就是用來保存URI 形式標簽數據的信息表。tableURI 分成七個字段存貯URI 標簽數據:Header,Filter,Company,Class,Serial,ReaderID,Time。前五個字段都是EPC 碼URI 格式的組成部分,ReaderID 為閱讀器ID 號,表明EPC 碼來自哪個物理閱讀器。Time 為DSP 上交標簽數據的時間,是控制產生報表的邊界條件。EPC 數據轉化成標準URI 后提取各個數據段,使用sqlite3_mprintf 函數將數據段的值添加到SQL 語句中,然后通過sqlite3_exec 函數執行該SQL 語句把標簽數據插入到數據庫中。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 加查县| 永清县| 招远市| 双流县| 衡阳县| 淳化县| 洞头县| 屏山县| 桃园县| 玉屏| 慈溪市| 太和县| 华蓥市| 井研县| 汝阳县| 临邑县| 高碑店市| 托克托县| 英超| 宜川县| 广东省| 治多县| 监利县| 胶州市| 阿图什市| 古丈县| 镇宁| 佳木斯市| 临洮县| 吉林省| 普定县| 克东县| 莱芜市| 岫岩| 海伦市| 罗源县| 通城县| 湘潭县| 长寿区| 雅安市| 奉节县|