【深入探討】嵌入式RFID讀寫器的內部數據管理
發布時間:2014-07-09 責任編輯:echotang
【導讀】不同於普通物流領域,由於裝備信息較為複雜,單一普通標簽難以勝任承載所需全部信息。考慮經濟和實用性,采用不同頻率多標簽方式才能較好滿足要求。因此,本文針對裝備信息的RFID數據結構重點進行了分析,並詳細研究了嵌入式讀寫器內部數據的存儲和管理,以滿足裝備保障信息化需求。
在保障裝備裝備時,訓練使用、檢修、加裝改造等記錄用傳統手工操作,管理人員必須對進裝備名稱、隨裝配套類型及數量、出廠單位、出廠日期以及其他眾多屬性進行逐一登記,不但工作效率低、而且容易出差錯,成為製約工作進度的瓶頸。如果裝備信息管理運用RFID標簽取代紙質履曆表,記錄裝備從出廠、配備、動用、維修、保管、事故、加裝改造、退tui役yi報bao廢fei等deng全quan生sheng命ming周zhou期qi的de履lv曆li信xin息xi,手shou持chi讀du寫xie器qi讀du取qu射she頻pin標biao簽qian及ji信xin息xi記ji錄lu裝zhuang置zhi每mei日ri信xin息xi,可ke以yi幫bang助zhu操cao作zuo人ren員yuan及ji時shi掌zhang握wo裝zhuang備bei工gong作zuo情qing況kuang,為wei維wei修xiu保bao障zhang人ren員yuan提ti供gong信xin息xi支zhi持chi。
1RFID數據模型研究
1.1RFID數據特性
RFID數據模型是管理RFID數據的基礎。從總體上RFID應用有著共同的需求特點:
(1)識別:RFID標簽唯一地標識該物體。
(2)位置:一個位置可以是一個地理位置,也可以是有背景含義的特殊位置,如倉庫、靶場等。
(3)關係:RFID應(ying)用(yong)的(de)另(ling)一(yi)個(ge)關(guan)鍵(jian)概(gai)念(nian)是(shi)聚(ju)合(he),即(ji)對(dui)象(xiang)之(zhi)間(jian)形(xing)成(cheng)的(de)關(guan)係(xi)。一(yi)種(zhong)常(chang)見(jian)聚(ju)合(he)情(qing)況(kuang)是(shi)包(bao)含(han)關(guan)係(xi),即(ji)在(zai)物(wu)體(ti)運(yun)動(dong)過(guo)程(cheng)中(zhong),被(bei)包(bao)含(han)的(de)物(wu)體(ti)與(yu)外(wai)包(bao)裝(zhuang)物(wu)體(ti)有(you)相(xiang)同(tong)的(de)運(yun)動(dong)路(lu)徑(jing)等(deng)特(te)性(xing)。另(ling)一(yi)個(ge)集(ji)合(he)情(qing)況(kuang)是(shi)協(xie)作(zuo),即(ji)貼(tie)有(you)標(biao)簽(qian)的(de)物(wu)體(ti)之(zhi)間(jian)有(you)一(yi)定(ding)的(de)關(guan)係(xi)[1],如某型導彈射擊訓練由發射車與檢測車共同完成,則發射車與檢測車之間有協作關係。
1.2數據模型
本文重點是利用數據庫技術實現裝備數據信息的層次化管理。係統中涉及的數據主要有靜態數據和動態數據兩種類型。
1.2.1靜態數據
靜態數據是有關固定信息、業務規則以及係統設置的數據,不輕易隨時間變更[2]。在本係統中,靜態數據主要包括:
(1)Objects:所有使用射頻標簽進行標識係統,包括係統及隨裝配件的名稱、型號、出廠單位、出產年份等信息。
(2)Organizations:裝備在生命周期(出廠到退役報廢之間的時間)內裝配變動信息,包括裝配單位、裝配時間、戰鬥序列等信息。
(3)Actions:事務處理類型。包括重大活動記錄、技術檢查、維修、加裝改裝等信息。
1.2.2動態數據
動態數據反映了係統運作中的事務過程,與時間、空間密切相關。動態數據主要包括:Arrangement,用於描述裝備實體(Objects)與狀態的層次關係;ObjectOrganization,用於描述裝備實體(Objects)在某時間內的調撥、調整;ActionItem,用於描述裝備處理情況。
1.2.3數據模型的建立
如果有靜態關係,則根據ER模型的映射關係,映射成表即可[3]。對於兩個實體之間的基於狀態的關係,則在兩個實體表的主鍵之間加上時間間隔(stime,etime)組成,其中時間間隔代表了關係或者狀態存在的生命周期。基於事件的動態關係,由映射在兩個表的主鍵加上時間戳屬性timestamp組成,這個時間戳代表了時間發生的時間點。
2基於嵌入式的RFID讀寫器數據管理
2.1係統的設計思路
根據以上分析,數據來源主要分為兩類:一類是固定的裝備身份信息,這些信息是一般不會隨時間變化,數據量比較小;另一類是動態的裝備壽命信息,通常是記錄日常操作的起始時間和裝備調撥、調整,數據量稍大且需要重複讀寫。
為此,以某型車輛裝備為例,采用一種13.56MHz的無源標簽存儲裝備身份信息,采用頻率為2.4GHz的有源標簽存儲動態壽命信息。本設計采用WindowsCE作為操作係統,通過RFID射頻收發模塊讀取所需求的數據,對數據進行解析、提取、存儲,並構建嵌入式SQLite數據庫,實現對數據的管理。而用戶對存儲的數據進行查詢修改等操作,最方便的方法就是在Web頁麵裏實現,因此需要搭建一個Web服務器,使用戶可以通過Web頁麵來控製這些工作的完成並實現對數據的操作訪問。
設備管理提供了統一的讀寫器接口程序,可兼容性地控製多種類型讀寫器的工作;數據管理完成了數據的過濾、存儲,並利用嵌入式Web服務器對數據進行查詢和修改;嵌入式Web服務器是嵌入式技術和網絡技術結合的產物,把Internet中的Web服務器進行一定的裁剪,嵌入到設備中,從而可以利用嵌入式Web服務器對設備進行操作、管理。本文擬使用GoAheadWebServer,它是一個源碼免費、可以運行在多個平台的嵌入式Web服務器,並支持ASP、嵌入式JavaScript和標準的CGI執行,能較好地滿足需求。
2.2數據的解析和過濾
讀寫器從標簽讀取大量的未經處理的數據,一般來說讀取到的數據並非完全有用的標簽數據,需要對其進行提取、jiexi,yidedaoyouyongdexinxi。shujuzaichuanshuguochengzhongbukebimiandihuishoudaowaijiedeganraoerfashengcuowu,yincishujubixujinxingguolv,jiangguolvhoudeshujuzaijinxingcunchu[4]。
標簽數據一般都是二進製編碼,讀取後需要將二進製編碼數據轉換成unicode數據。
在標簽讀取過程中實現標簽的二進製位編碼到unicode編碼的轉換,在標簽數據處理環節則根據轉換獲得的標簽unicode編碼以及過濾條件對標簽進行過濾,為信息應用層提供有意義的標簽信息。
過濾規則可以通過Web頁麵進行設置,設置信息存儲到過濾規則配置文件中。進行過濾時,過濾器讀取配置文件並應用於過濾規則。
3數據存儲與管理的實現
3.1構建嵌入式數據庫
SQLite3是輕型、免費和開源的嵌入式數據庫,支持絕大多數標準的SQL92語句,工作速度快,可以滿足中間件數據處理的實時要求。因此選用SQLite3數據庫在大小和功能方麵是一個理想的折中。
SQLite3嵌入式數據庫提供了源碼,在硬件平台上對源碼進行交叉編譯即可實現移植。編譯後,生成了大小為93KB的sqlite3可執行文件和大小為991KB的sqlite3動態鏈接庫libsqlite3.so。
3.2數據模型在數據庫中的實現
嵌qian入ru式shi數shu據ju庫ku中zhong以yi單dan個ge庫ku文wen件jian形xing式shi進jin行xing數shu據ju存cun儲chu,數shu據ju庫ku文wen件jian可ke以yi在zai不bu同tong的de操cao作zuo係xi統tong平ping台tai下xia使shi用yong而er無wu需xu轉zhuan換huan。數shu據ju庫ku文wen件jian內nei部bu采cai用yong表biao數shu據ju頁ye和he索suo引yin數shu據ju頁ye兩liang種zhong存cun儲chu結jie構gou進jin行xing組zu織zhi。用yong戶hu定ding義yi的de臨lin時shi表biao和he係xi統tong中zhong的de臨lin時shi表biao(用於排序、分組等操作)以臨時數據庫文件形式進行管理。
在開發板上,使用上一步生成的sqlite3可執行文件來生成本係統所需要的數據庫表。Sqlite3的數據庫與Access數據庫類似都采用了單文件的模式,為此生成了一個名為rfid的數據庫文件,根據項目需求規劃必須的數據表。
直接在命令行下敲入“sqlite3rfid;”即可生成rfid數據庫,並得到提示符“sqlite3〉”,通過輸入SQL語句即可建立所需的表:
createtablerfid(Numberintegerprimarykey,Objectsvarchar(),Organizationsvarchar(),Actionsvarchar(),ActionItemvarchar(),ObjectOrganizationvarchar(),Arrangementvarchar());
.quit;
這裏隻考慮了基本屬性,可以為數據表做擴展表格實現其額外的屬性。
參照SQLDML的語法,該模型的邏輯結構主要元素描述如下:
(1)Objects:Objects(EPCPrimaryKey,name,deseription),記錄係統及隨裝信息。
(2)Organizations:Organizations(organizationIDPrimaryKey,organization),標識裝備在生命周期內裝配單位及編製序列。
(3)Actions:Actions(actionIDPrimaryKey,actType),標識業務流程中的事務類型。其中,actionID為事務類型標識碼;actType表示事務類型的名稱。
(4)Arrangement:Arrangement(IDPrimaryKey,EPC,parentEPC,QtyOfChild,organizationID,stime,etime),Arran-
gement關係是本數據模型的關鍵,反映了物品的物理層次關係。其中,parentEPC標識關於該EPC的上一層次的EPC編碼;QtyOfChild記錄了由該EPC標識的下一層次的物品數量;stime和etime分別標識該層次關係的發生和結束時間。
(5)ActionItem:ActionItem(IDPrimaryKey,actionID,EPCreferencesObjects,timestamp):ID標識每個發生的事務;timestamp為該事務發生的時間。
(6)ObjectOrganization(IDPrimaryKey,EPCreffereneesObjects,organizationID,timestamp):ID標識裝備的調撥、調整及編製戰鬥序列的變化。
SQLite數據庫提供了豐富的C語言API接口函數,使得對數據庫的操作十分方便。本係統隻需要以下3個核心函數就可以實現連接數據庫、處理查詢等操作:
intsqlite3_open(constchar*db,intmode,char**errmsg);
intsqlite3_close(sqlite*db);
intsqlite3_exec(sqlite*db,char*sql,int(*callback)(void*,
int,char**,char**),void*parg,char**errmsg);
其中,前2個函數用於打開與關閉數據庫,第3個函數sqlite3_exec()用來處理SQL查詢,此函數的第2個參數用來處理一條或多條SQL語句,如果是查詢(SELECT)語句,則查詢結果的每一條記錄都必須調用第3個參數的Callback函數,第4個參數則為Callback函數的第一個參數指針;如果不是查詢語句,則第3、4個參數為NULL。所有SQL執行完畢後返回0,否則返回錯誤代碼,可通過第5個參數值來查看詳細錯誤信息。
使用sqlite3_mprintf函數將數據段的值添加到SQL語句中,然後通過sqlite3_exec函數執行該SQL語句把標簽數據插入到數據庫中。
3.3數據的訪問操作
GoAheadWebServer是一款麵向嵌入式係統的Web服務器,作為係統中數據轉發和模塊承載平台。向Wince係統中移植比較簡單,在VisualC++6.0打開CE子目錄下的工作空間webs.dsw,將生成的webs.exe和所需的Web頁麵導入WinCE係統中相應位置即可。需要注意的是:要設置計算機係統環境變量Path,使其包含include和lib,確保包含CE、UEMF、webs和UNICODE的特征值被定義在內。
在使用GoAheadWebServer前,需要對GoAheadWebServer進行配置:
(1)在瀏覽器輸入地址時,服務器返回某一頁麵,該頁麵通過在main.c文件中的initWebs函數進行設定,設定語句為:
websRedirec(wp,T("index.htm"));
(2)當瀏覽器訪問某一地址下的目錄時,服務器將返回該目錄下的缺省頁麵,通過main.c文件中的websHomePageHandler函數進行設定,設定語句為:
websSetDefaultPage(T("default.asp"));
用戶在頁麵對過濾規則進行配置後,CGI程序將配置結果寫入配置文件filter.conf中。在進行數據過濾時,過濾器將會讀取此配置文件得到相應的過濾規則對數據進行過濾。
首先使用C語言API調用sqlite3_open()打開數據庫,然後調用sqlite3_exec()函數來執行SQL語句完成對數據庫的讀寫更新等操作,最後執行sqlite3_close()關閉數據庫。
通常,CGI應用程序將執行結果輸出到標準輸出(stdout),WebServer從CGI應用程序中的標準輸出中讀取信息,並將這些信息返回給客戶端[5]。因此,在程序中如果要將SQL查詢結果輸出給客戶。CGI應用程序中可以使用prinf()函數將查詢結果以HTML的形式輸出到標準輸出,進而Web服務器向客戶端返回動態頁麵,這樣就實現了用戶、WebServer與SQLite3嵌入式數據的交互。
通過編譯,webs.erezuihoujiangyicaozuoxitongdeyigezijinchengyunxing,keyucaozuoxitongneideqitajinchengjinxingtongxinjishujuchuanshu,congershixiancaozuoxitongneibuchengxujiandexianghujiaohuzuoyong。
本文研究了針對裝備信息的RFID數據結構模型,使用SQLite數據庫實現標簽數據的存儲、過濾,並設計了簡單易用的Web界jie麵mian,隻zhi需xu通tong過guo瀏liu覽lan器qi進jin行xing簡jian單dan的de操cao作zuo,就jiu可ke完wan成cheng對dui過guo濾lv規gui則ze的de設she置zhi以yi及ji與yu數shu據ju的de交jiao互hu等deng功gong能neng。今jin後hou的de工gong作zuo是shi進jin行xing更geng多duo的de頁ye麵mian優you化hua設she計ji,將jiang使shi其qi更geng加jia有you實shi際ji應ying用yong價jia值zhi。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻




