好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

基于嵌入式和RFID技術的電子門票系統

作者:沈洪銳,張晶晶,李 燁,孫番典
來源:微型機與應用2011年第9期
日期:2016-04-11 15:48:25
摘要:介紹了通過在ARM+μClinux+Web+SQLite平臺下擴展CAN總線,并以RFID讀卡器作為控制節點而實現的電子門票系統。一方面可以方便持卡者查詢門票使用情況、場所路線以及館內人流量,幫助其更好地選擇相關路線;另一方面有助于舉辦方實時了解各片區的人流情況及追蹤目標,以便做出調度和提高安防工作效率。

  由于RFID電子門票具有防偽性能好、可靠性高、適應性強、成本低等特點,已被普遍應用于各種大型公共活動中。本文提出一種經濟型、基于嵌入式技術的RFID電子門票系統。

  1 RFID的原理

  射頻識別(RFID)利用射頻信號的空間耦合或反射的傳輸特性,對被識別物體自動識別,是一種非接觸式自動識別技術。RFID主要由電子標簽(Tag)和閱讀器(Reader)兩部分組成。電子標簽由耦合元件和芯片組成,其工作能量來源于閱讀器發出的射頻脈沖,通過無線電波與讀寫設備進行數據交換。閱讀器主要由無線收發模塊、天線、控制模塊和接口電路組成,其主要任務是控制射頻模塊向電子標簽發射讀取信號,并接收電子標簽的應答,對電子標簽的標識信息進行解碼,將標識信息及其他相關信息傳輸到主機以便處理。該系統選用低頻(125 kHz)RFID系統,性能不受環境影響,價格低廉,因此適合大規模生產使用。

  2 CAN總線技術[1]

  CAN是由ISO定義的串行通信總線,具有高位速率、高抗電磁干擾性、高可靠性等特點,而且能夠檢測到產生的任何錯誤。CAN在微控制器之間互相通信或微控制器與遠程的外圍器件互相通信的情況下是一個理想的解決方法。CAN相比于RS485采用了新技術及獨特的設計,具有多主節點的網絡特性,總線利用率高,數據傳輸速度快,可擴充性好,通信距離長,具有可靠的錯誤處理和檢錯機制,個別節點失效并不影響整個通信網絡的運行,實時性好。因此在自動化各個行業,CAN取代RS485將是一種不可逆轉的趨勢。

  3 ARM+μClinux平臺下實現動態Web[2]

  在μClinux環境下,httpd、thttpd和Boa是三個主要的Web服務器。這里選擇非常適合嵌入式系統的Boa Web服務器,它支持認證、CGI等。Boa是一個單任務的http服務器,μClinux代碼已經自帶了Boa的源碼,配置和修改源碼后,在配置內核時把Boa選進內核實現入網,通過瀏覽器就可以訪問嵌入式網頁。

  迄今,實現動態Web頁面有CGI、ASP、PHP和JSP四種技術可供選擇,由于目前μClinux還不支持ASP、PHP等動態Web頁面技術,因此本設計選擇CGI。CGI提供Web服務器一個執行外部程序的通道,這種服務端技術使得瀏覽器和服務器之間具有交互性。CGI程序接收Web瀏覽器發送給Web服務器的信息,進行處理后執行相應的任務。本系統選擇與平臺無關的C語言編寫CGI程序。

  4 嵌入式數據庫SQLite及其在μClinux上的移植[3]

  4.1 嵌入式數據庫SQLite簡介

  嵌入式數據庫SQLite較其他大型數據庫的特點是程序直接調用相應的API實現對數據的存取操作,無需獨立運行的數據庫引擎。SQLite不具有外部依賴性,完全獨立,并且提供了對SQL92標準的大多數支持:支持多表和索引、事務、視圖、觸發和一系列的用戶接口及驅動。在嵌入式系統中移植SQLite數據庫成為一種很好的解決方案。

  4.2 SQLite開發技術

  SQLite本身提供了C語言的API接口,使得對數據庫的操作十分簡單,主要是對3個API函數的調用。

  (1)打開數據庫

  int sqlite3_open(const char*filename,sqlite3**ppDb);

  sqlite3_open()用于打開指定的數據庫,數據庫文件名稱由filename參數指定,并通過ppDb參數返回合法的數據庫句柄。

  (2)執行數據庫

  int sqlite3_exec(sqlite3*,const char *sql,sqlite_callback, void*,char**errmsg);

  第一個參數sqlite3*是前面open函數得到的指針。第二個參數const char*sql是一條SQL語句或多條SQL語句,語句間必須用“;”號隔開,以\0結尾。第三個參數是回調,當這條SQL語句執行之后,SQLite3會調用該回調函數。第四個參數void*是傳遞給回調函數的參數,如果不需要傳遞指針給回調函數,可以賦NULL給該參數。第五個參數char**errmsg用來保存錯誤信息。

  (3)關閉數據庫

  int sqlite3_close(sqlite3*db);

  參數db就是打開時的結構體,即數據庫句柄。

  4.3 SQLite應用程序交叉編譯

  要將嵌有SQLite的CGI程序應用到S3C44b0+μClinux開發平臺上,必須對CGI程序進行交叉編譯。由于交叉編譯要用到romfs格式的libsqlite.a庫文件,因此必須先對SQLite源代碼進行修改,以便生成靜態庫文件libsqlite3.a。然后交叉編譯生成cgi格式文件,與內核一起編譯后下載到開發板。

  5 電子門票系統的設計

  在S3C44B0+μClinux+Web+SQLite嵌入式平臺下,通過CAN總線與RFID讀卡器進行通信。整體構架如圖1所示。該系統可以分為兩個模塊:第一部分為各個場所的刷卡點,包括CAN總線和RFID讀卡器的設計,該模塊的功能是采集數據。第二部分為ARM嵌入式遠程控制功能,實現數據的讀取、儲存以及處理,數據包括CAN總線數據和Web內建表單數據。

基于嵌入式和RFID技術的電子門票系統

  5.1 CAN通信節點工作原理[4]

  當持卡者將RFID電子門票靠近讀卡器時,通過固有頻率的射頻載波向無源電子標簽傳送信號,無源電子門票進入讀寫器的天線工作區域后被激活,并將載有個人信息的射頻信號經卡內收發模塊發射出去;讀卡器天線接收到無源電子標簽發來的射頻信號,經過處理后,提取出個人信息,通過CAN現場總線送至ARM處理器處理。

  5.2 ARM數據處理核心[5]

  ARM把CAN總線傳過來的信息進行解析,得到卡號和位置的信息,并且更新數據庫里面各項信息。持卡者或者主辦方通過Web服務器就可以查詢信息。CGI程序在收到Web頁面內建表單的數據,對數據進行處理,進而調用相應的SQLite語言進行處理,例如select、update等操作。CGI程序完成處理后的輸出被重定向到客戶瀏覽器,持卡者或主辦方通過瀏覽器查詢到相關的信息。

  本論文討論了基于嵌入式和RFID技術的電子門票系統,是一個經濟實用的解決方案。傳統的紙質門票功能單一、效率低、客戶管理和跟蹤很難實施。RFID門票是票務行業探索的熱點,相信RFID門票將會被更多的企業、景區、活動主辦方、比賽場所接受并應用。