趙明波, 謝 楠, 王亞軍, 陳偉標, 林 浩
(山東理工大學 計算機科學與技術學院,山東 淄博 255091)
隨著經濟的迅猛發展,汽車擁有量急劇增長,同時也為城市的車輛管理帶來了新的問題。高效、安全、快捷的智能車輛管理系統已成為許多小區、公司迫切需求[1-2]。基于RFID和QT/E的車輛出入監控系統就是基于這方面的需求而提出的,實現單位或者小區車輛出入的自動化管理。
本系統設計模擬環境如圖1所示。系統利用注冊的RFID識別卡,對出入車輛進行自動化管理。當有車輛進入或離開時,車輛進入RFID射頻卡識別區,通過對RFID的識別,驗證車輛是否合法,如合法,則進行抬桿放行;并記錄車輛的入出時間、統計車流量。

圖1 基于RFID技術的車輛出入監控系統模擬環境
(1) 實現車輛的安全管理,采用一車一卡。對于車輛的出入時間進行記錄。
(2) 車輛的出入自動管理,當有車出入時,需要識別車輛的身份(通過提前注冊的frid卡),當身份合法時,允許車輛出入。
(3) 對車輛出入實時記錄,實現車輛出入記錄查詢和車流量統計。
(4) 實現對數據庫的管理:車輛、人員信息的增加、修改、刪除和查詢,RFID卡的注冊、掛失和解掛等。
硬件平臺:UP-CUP IOT-6410-Ⅱ型嵌入式物聯網綜合實驗系統[3],處理器是S3C6410。
軟件設計方案:經過參考和比較[4],本系統基于嵌入式linux操作系統,利用RFID實現車輛標識,采用QT/E界面開發語言和Sqlite數據庫來實現本系統的設計。
(1) 利用RFID實現車輛信息的識別和讀取。
(2) 利用Sqlite數據庫作為底層數據的管理與維護,方便大量數據的管理,而且便于實現。
(3) 系統應用嵌入式linux操作系統實現對系統所有資源進行管理。
(4) QT/E作為本系統的人機界面開發語言。QT/E作為GUI開發語言,實現界面一次開發,多平臺編譯和使用[5]。在PC機上開發編寫,交叉編譯后移植到ARM平臺,實現人性化圖形化的友好人機界面。
射頻識別(Radio Frequency Identification,RFID),俗稱電子標簽。RFID射頻識別是一種非接觸式的自動識別技術,它通過射頻信號自動識別目標對象并獲取相關數據,識別工作無需人工干預,可工作于各種惡劣環境。RFID技術可識別高速運動物體并可同時識別多個標簽,操作快捷方便[6]。
RFID的基本組成部分為標簽、閱讀器和天線。標簽(Tag)由耦合元件及芯片組成,每個標簽具有唯一的電子編碼,附著在物體上標識目標對象;閱讀器(Reader)讀取(有時還可以寫入)標簽信息的設備,可設計為手持式或固定式;天線(Antenna)在標簽和讀取器間傳遞射頻信號[7]。
RFID技術的基本工作原理:標簽進入磁場后,接收解讀器發出的射頻信號,憑借感應電流所獲得的能量發送出存儲在芯片中的產品信息(PassiveTag,無源標簽或被動標簽),或者主動發送某一頻率的信號(ActiveTag,有源標簽或主動標簽);解讀器讀取信息并解碼后,送至中央信息系統進行有關數據處理[8]。
TX125系列非接觸IC卡射頻讀卡模塊采用125 KB射頻基站。當有卡靠近模塊時,模塊會以韋根或UART方式輸出ID卡卡號,用戶僅需簡單的讀取即可,在串口方式下,可工作在主動與被動的模式。該讀卡模塊完全支持EM、TEMIC、TK及其兼容卡片的操作,非常適合于門禁、考勤等系統的應用[3~9]。
SQLite,是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百KB的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口。與Mysql、PostgreSQL這兩款開源世界著名的數據庫管理系統相比,它的處理速度更快[10-11]。
Qt是一個1991年由奇趣科技開發的跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發GUI程式,也可用于開發非GUI程式。Qt是面向對象語言,易于擴展,并且允許組件編程。Qt的跨平臺特性,是選擇Qt做嵌入式軟件開發的一個非常重要的原因。Qt支持Microsoft Windows 95/98/NT,Linux,Solaris,SunOS,QNX 等操作系統。對于相同功能的軟件,無須針對不同的操作系統編寫不同程序,只需將相同的代碼針對不同的環境重新編譯即可[12]。
Qt/Embedded是Qt的嵌入式版本,它在原始Qt的基礎上,做了許多出色的調整以適合嵌入式環境。同Qt/X11相比,Qt/Embedded很節省內存,因此它在嵌入式Linux系統上的應用非常廣泛[13]。
嵌入式 Linux是以Linux為基礎的嵌入式操作系統,它被廣泛應用在移動電話、個人數字助理(PDA)、媒體播放器、消費性電子產品以及航空航天等領域中。嵌入式Linux是將日益流行的Linux操作系統進行裁剪修改,使之能在嵌入式計算機系統上運行的一種操作系統。嵌入式Linux既繼承了Internet上無限的開放源代碼資源,又具有嵌入式操作系統的特性。嵌入式Linux的特點是版權費免費,全世界的自由軟件開發者提供支持,而且性能優異,軟件移植容易,代碼開放,有許多應用軟件支持;應用產品開發周期短,新產品上市迅速,因為有許多公開的代碼可以參考和移植[14]。
硬件平臺:UP-CUP IOT-6410-Ⅱ型嵌入式物聯網綜合實驗系統,USB接口的鼠標和鍵盤,連在物聯網平臺用于測試。
PC機用于開發和調試,開發所需軟件:虛擬機Vmware Workstation、Fedora Core 8、MiniCom/Xshell、ARM_LINUX交叉編譯開發環境、QT/E。
RFID模塊通過串口向ARM處理器發送數據,主程序通過串口接收RFID信息,對數據庫操作,在各窗口間傳遞數據,如圖2所示。


設計了兩個表,兩表之間通過卡號建立關聯。
(1) 車輛基本信息表。用于記錄車輛的基本信息,如表1所示。

表1 車輛基本信息表
(2) 車輛出入記錄表。用于記錄車輛出入信息,如表2所示。

表2 車輛出入記錄表
設計了4個基本類,利用SQLite C/C++接口函數[15]實現對數據庫的操作,如圖4所示。
車輛出入監控系統基本功能包括:車輛信息采集,車輛信息刪除、修改、查詢,RFID卡掛失與解掛,車輛出入信息統計與顯示,系統用戶的增加、刪除、修改,車輛出入記錄查詢。主要功能界面如下所示:
(1) 車輛出入信息統計與顯示。當用戶點擊車流量統計時,顯示車流量統計結果,如圖6所示。其中RFID號是讀卡器獲得的射頻卡號。
(2) 掛失。當要掛失RFID時,點擊射頻卡掛失按鈕,彈出射頻卡號輸入框,輸入射頻卡號,點擊OK按鈕,掛失對應的射頻卡號。
本系統能實現對車輛有效基本信息的采集和無效數據的屏蔽;完成了對出入車輛信息的有效驗證、出入時間的準確記錄,實現了車輛出入的自動化管理。
本系統綜合RFID、Sqlite數據庫、QT/E開發語言和嵌入式linux操作系統來實現。QT/E作為本系統的界面開發語言,在PC機上編寫,交叉編譯后移植到ARM平臺,實現人性化圖形化的人機界面。利用嵌入式數據庫Sqlite來管理系統數據,使得ARM平臺自身處理大量數據成為可能。RFID技術用于車輛標識,實現真正意義上的車輛自動化管理。在車輛出入口安裝本系統,對車輛進行識別核對,合法車輛可以不停車快速通過,并同時記錄車輛出入數據。測試表明該設計能夠實現車輛出入的自動化管理,滿足社會管理的現代化需求。相比較基于PC臺式機的設計,基于ARM處理器的便攜式設計在安裝、應用等方面都更加方便。


圖5 車輛出入信息查詢結果圖

圖6 車輛基本信息采集界面圖
[1] 張麗然,沈勝利.基于RFID的車輛自動管理系統研究[J].電子設計工程,2012,20(6):8-10.
ZHANG Liran,SHEN Shengli.Research of vehicle automatic management system based on RFID [J].Electronic Design Engineering,2012,20(6):8-10.
[2] 嚴 奎,邱自學,袁 江.集成RFID和視頻的車輛識別及管理系統[J].自動化儀表,2012,33(12):46-50.
YAN Kui,QIU Zixue,YUAN Jiang. Recognition and Management System for Road Vehicle Integrating RFID and Video Technologies[J]. Process Automation Instrumentation, 2012,33(12):46-50.
[3] 北京博創興盛科技有限公司網站[EB/OL].http://www.up-tech.com.
[4] 吳志紅,楊躍臣.嵌入式停車場管理系統[J].計算機應用,2010,30(11):3126-3129.
WU Zhi-hong,YANG Yue-che.Parking lot management system based on embedded design[J].Journal of Computer Application,2010,30(11):3126-3129.
[5] 湯 偉,李 強.Qt/E的嵌入式Linux GUI研究與實現[J].計算機應用與軟件,2011,28(10): 260-263.
TANG Wei, LI Qiang.Research and Realization of Qt/E Embedded Linux Gui[J].Computer Applications and Software,2011,28,(10): 260-263.
[6] 羅春彬,彭 龑,易 彬.RFID技術發展與應用綜述[J].通信技術,2009,12:112-114.
LUO Chun-bin, PENG Yan, YI Bin.Overview on RFID Technology and Application[J]. Communications Technology,2009,12:112-114.
[7] 張春紅,裘曉峰,夏海輪,等.物聯網技術與應用[M].北京:人民郵電出版社,2011.
[8] 張 凱,張雯婷.物聯網導論[M].北京:清華大學出版社.2012.
[9] 任曉莉.基于RFID的智能公交車輛監控系統設計與實現[J].計算機與數字工程,2013,41(5):835-837.
REN Xiuo-li. Design and Implementation of Intelligent Bus Vehicles Monitoring System Based on RFID[J].Computer& Digital Engineerin,2013,41(5):835-837.
[10] 葉 鵬,馬 俊,王 威.基于ARM 的RFID智能物流管理系統設計與實現[J].計算機工程與設計,2013,34(10):3475-3479.
YE Peng,MA Jun,WANG Wei.Design and implementation of logistics management system based on ARM and RFID[J].Computer Engineering and Design,2013,34(1O):3475-3479.
[11] [加拿大]Jasmin Blanchetee,[英]Mark Summerfield.C++ GUI Qt4編程[M].北京:電子工業出版社.2010.12.
[12] 奚海蛟,諶利.嵌入式Linux的Qt圖形程序實戰開發[M].北京:北京航空航天大學出版社,2012.
[13] 霍亞飛.Qt Creator快速入門[M].北京:北京航空航天大學出版社,2012.
[14] 華清遠見.嵌入式linux應用程序開發標準教程[M].北京:人民郵電出版社.2009.
[15] Sqlite數據庫技術網站[EB/OL].http:www.sqlite.org.