基于Linux操作系統(tǒng)的射頻識(shí)別安檢設(shè)計(jì)方案
引言
本文引用地址:http://www.ex-cimer.com/article/156273.htm射頻識(shí)別(RFID)是一種非接觸式的自動(dòng)識(shí)別技術(shù),它通過射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),識(shí)別工作無需人工干預(yù),可工作于各種惡劣環(huán)境下。RFID技術(shù)可識(shí)別高速運(yùn)動(dòng)物體并可同時(shí)識(shí)別多個(gè)標(biāo)簽, 操作快捷方便。非接觸IC卡是目前RFID系統(tǒng)中最常用的一種電子標(biāo)簽,它誕生于20世紀(jì)90年代初,是世界上最近幾年發(fā)展起來的一項(xiàng)新技術(shù),它成功地將射頻識(shí)技術(shù)和IC卡技術(shù)結(jié)合起來,解決了無源和免接觸這一難題,是電子器件領(lǐng)域的一大突破。由于存在著磁卡和接觸式IC卡不可比擬的優(yōu)點(diǎn),使之一經(jīng)問世,便立即引起廣泛的關(guān)注,并以驚人的速度得到推廣應(yīng)用,如我國(guó)的第二代公民身份證、公交卡、ETC免停車付費(fèi)卡等??梢哉fRFID技術(shù)越來越多地應(yīng)用到我國(guó)身份安檢、質(zhì)量安檢、車輛安檢、執(zhí)法安檢等諸多安檢系統(tǒng)中。由于安檢系統(tǒng)中往往涉及大量重要數(shù)據(jù)的讀取、通信以及實(shí)時(shí)更新,因此數(shù)據(jù)庫(kù)技術(shù)的引入必不可少。在操作系統(tǒng)上,本文選擇了Linux操作系統(tǒng),相比Windows,Linux更安全、更可靠,與其他操作系統(tǒng)相比有著許多獨(dú)特的優(yōu)勢(shì),更加適合用作嵌入式操作系統(tǒng)。
1 系統(tǒng)結(jié)構(gòu)介紹
RFID安檢系統(tǒng)主要包括RFID前段讀寫器、嵌入式Linux終端兩大部分。
其中嵌入式終端的CPU采用ARM9內(nèi)核,內(nèi)核執(zhí)行速率達(dá)幾百兆赫茲,可以很好地滿足RFID數(shù)據(jù)的讀取和存儲(chǔ)。由于嵌入式系統(tǒng)一般是一個(gè)經(jīng)過裁剪、資源極其有限的系統(tǒng),因此對(duì)于安檢系統(tǒng)中涉及到的大量數(shù)據(jù)只能存取到外圍存儲(chǔ)設(shè)備中,本方案中的SD卡模塊正是用來存儲(chǔ)數(shù)據(jù)庫(kù)的,當(dāng)RFID讀寫器讀取到指定數(shù)據(jù),便在SD卡中的相關(guān)數(shù)據(jù)庫(kù)文件中查詢,并根據(jù)查詢結(jié)果做出相關(guān)反應(yīng)并及時(shí)更新本地?cái)?shù)據(jù)庫(kù)。
2 Linux下串口的開發(fā)
在Linux下對(duì)串口進(jìn)行配置、打開、讀寫等一系列的操作其使用方式與文件操作一樣,區(qū)別在于串口是一個(gè)終端設(shè)備[1]。Linux中的串口設(shè)備文件存放于/dev目錄下,其中串口1、串口2一般對(duì)應(yīng)設(shè)備名依次為“/dev/ttyS0”、“/dev/ttyS1”。在使用串口之前必須設(shè)置相關(guān)配置,包括波特率、數(shù)據(jù)位、校驗(yàn)位、停止位等。
串口設(shè)置由下面結(jié)構(gòu)體實(shí)現(xiàn):
按照串口配置流程,對(duì)termios結(jié)構(gòu)體設(shè)置相關(guān)參數(shù),當(dāng)串口按自己的設(shè)置要求配置成功后,即可將串口當(dāng)做普通I/O文件,使用read和write函數(shù)對(duì)串口進(jìn)行讀取。
3 sqlite3數(shù)據(jù)庫(kù)的應(yīng)用開發(fā)
sqlite3數(shù)據(jù)庫(kù)是一種嵌入式數(shù)據(jù)庫(kù),其目標(biāo)是盡量簡(jiǎn)單,因此拋棄了傳統(tǒng)企業(yè)級(jí)數(shù)據(jù)庫(kù)的種種復(fù)雜特性,只實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)而言必備的功能。盡管簡(jiǎn)單性是sqlite3追求的首要目標(biāo),但是其功能和性能都非常出色,具有支持SQL92標(biāo)準(zhǔn)、所有數(shù)據(jù)存放到單獨(dú)的文件中支持的最大文件可達(dá)2 TB、數(shù)據(jù)庫(kù)可以在不同字節(jié)的機(jī)器之間共享、體積小、系統(tǒng)開銷小、檢索效率高、支持多種計(jì)算機(jī)語言、源碼開放,并且可以用于任何合法用途等特性。
3.1 sqlite3數(shù)據(jù)庫(kù)的移植
sqlite3數(shù)據(jù)庫(kù)的移植過程如下所述:
?。?)首先從sqlite官網(wǎng)上下載最新的sqlite3源碼包;
?。?)解壓源碼包,并進(jìn)入解壓目錄:
tar -zxvf sqlite-3.6.23.1.tar.gz
cd sqlite-3.6.23.1
?。?)配置CONfigure腳本,使用相關(guān)選項(xiàng)生成編譯文件Makefile文件:
./configure–-enable-share –-prefix=./sqlite-3.6.23.1/result –-hoST=arm-linux
選項(xiàng) -enable-share指定使用Linux的共享庫(kù)
選項(xiàng) -prefix指定了安裝目錄為。/sqlite-3.6.23.1/result
選項(xiàng) -host指定了編譯環(huán)境為目標(biāo)機(jī)為arm的交叉編譯環(huán)境
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論