基于arm的自助出票機的設計與實現(xiàn)_第1頁
基于arm的自助出票機的設計與實現(xiàn)_第2頁
基于arm的自助出票機的設計與實現(xiàn)_第3頁
基于arm的自助出票機的設計與實現(xiàn)_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于arm的自助出票機的設計與實現(xiàn)

0基于linux平臺的自助出票機設計方案隨著智能城市的發(fā)展,越來越多的手動操作被智能機器所取代。目前在各種景區(qū)、影院等公共場所,人工售票還是主流。本文提出一種基于ARM的自助出票系統(tǒng)的設計,游客可以通過刷身份證來自動獲取公共場所門票,這大大節(jié)約了人力成本,方便了人們的生活。目前市面上的自助出票系統(tǒng)都是基于x86電腦硬件系統(tǒng),采用Windows操作系統(tǒng)來設計的,這使得自助出票機的體積不能縮小,也大大增加了成本,售價非常昂貴。我們采用以S3C2440為CPU核心的ARM平臺,基于Linux操作系統(tǒng)來進行自助出票機系統(tǒng)設計,集成了QT界面設計單元、門票打印單元、身份證識別單元、系統(tǒng)時間單元等多個模塊,設計出低成本、高穩(wěn)定性、適合景區(qū)或影院等公共場所的自助出票機,體積可以做成類似便攜式的嵌入式設備。該設計順應當前智慧城市的需求,有很深遠的應用前景。1后臺界面設計自助出票機系統(tǒng)設計的基本要求和服務流程是:設計出一款便攜式的自助出票機,掛在公共場所墻壁上,提供友好的界面支持,在沒有游客取票時,顯示公共場所景點宣傳畫面,有游客取票時,進入取票界面,等待游客刷二代身份證,后臺根據(jù)身份證信息,結合系統(tǒng)當前的時間,打印出實時的門票票據(jù)。界面需要設計對系統(tǒng)配置的接口,配置系統(tǒng)時間、系統(tǒng)接口參數(shù)等。系統(tǒng)提供SQLite數(shù)據(jù)庫支持,保存游客的客戶信息,便于后臺程序的統(tǒng)計和分析。考慮到整個系統(tǒng)復雜的界面設計需求,同時系統(tǒng)需實現(xiàn)的多個功能模塊的驅動和應用支持,如身份證識別模塊、打印機模塊、系統(tǒng)時鐘配置、系統(tǒng)接口參數(shù)配置等,以及對SQLite輕巧數(shù)據(jù)庫的支持,我們選用以S3C2440為CPU的ARM開發(fā)平臺,采用Linux操作系統(tǒng),能根據(jù)用戶需求進行裁剪,簡化對平臺硬件配置的要求;選用基于Qt4.7類庫的QT嵌入式界面設計,能友好地支持Linux平臺,并提供豐富的復雜的界面設計效果。系統(tǒng)設計框圖2硬件設計嵌入式自助出票機采用S3C2440的ARM開發(fā)板2.1根據(jù)用戶需求設計通信接口門票打印機的選擇要根據(jù)現(xiàn)場的應用場景來決定,主要參數(shù)有:(1)打印參數(shù):門票的紙張寬度、打印寬度,打印紙的折疊形式(折疊式或卷式)、打印方式(熱敏或熱轉印)等;(2)通信接口:要根據(jù)ARM開發(fā)板的接口以及Linux操作系統(tǒng)的特點來選擇打印機的驅動接口,一般熱敏打印機支持USB接口、串口、網口三種通信方式,本設計選用串口驅動打印機,根據(jù)串口命令配置打印機輸出的字體格式、位圖、條形碼等多種用戶需求。本設計選用的打印機是打印寬度為58mm的熱敏票據(jù)打印機,工作電壓為5V。2.2有卡鄰近情況TX523T是一款天線一體化,同時可以讀二代居民身份證卡號的模塊。TX523采用13.56MHz頻基站。當有卡靠近時,模塊會以韋根或UART方式輸出卡號。根據(jù)需要,可選擇UART或Wiegand接口與任何MCU進行連接;使用UART接口時,可以選擇波特率9600或19200。為了簡化代碼,我們同樣采用串口通信與ARM開發(fā)板通信。5V供電電源需要從ARM開發(fā)板引出,ARM開發(fā)板通過GPIO口來配置身份證識別模塊的工作模式。3軟件方案的設計自助出票機軟件系統(tǒng)的設計是難點,軟件模塊包括:(1)基于S3C2440開發(fā)板的Linux環(huán)境開發(fā)的配置3.1android應用程序安裝軟件我們使用的交叉編譯的虛擬機開發(fā)環(huán)境為Ubuntu10.10版本,交叉編譯工具為arm-linux-4.3.3版本,S3C2440開發(fā)板的Linux內核版本為:linux2.6.30.4,需要根據(jù)硬件接口和器件,如LCD顯示屏、UART串口、eth0網口、GPIO口的原理圖來按需對Linux2.6.30.4內核進行裁剪。3.2tt類庫的升級自助出票機系統(tǒng)選用QT進行嵌入式界面設計。QT是一個跨平臺的C++類庫,其界面設計程序在各個平臺上是一樣的,只是跨平臺時需要加上各個平臺的庫重新編譯生成可執(zhí)行文件。QT目前已經發(fā)展到第三代,是通過升級類庫來更新發(fā)展,目前最高版本的類庫是Qt4.7,Nokia一直在對QT類庫進行更新升級。QT平臺主要是面向嵌入式界面設計的,QT界面程序不是一個桌面系統(tǒng),而是可以直接運行在嵌入式環(huán)境下的程序。QT界面程序的設計環(huán)境是Qtcreator,這是QT的集成開發(fā)環(huán)境(IDE),用于開發(fā)源代碼、編譯鏈接源代碼、調試源代碼,大大簡化了設計環(huán)境的配置。Qtcreator環(huán)境配置成交叉編譯的環(huán)境之后,用Qtcreator設計出的界面可執(zhí)行文件能夠在S3C2440開發(fā)板上運行。3.2.1開發(fā)龍頭庫和基于ts的配置程序配置QT嵌入式運行環(huán)境,需要對S3C2440開發(fā)板的文件系統(tǒng)進行修改:添加經過交叉編譯的Qt4.7類庫、添加ts觸摸屏校準庫和配置應用程序、修改/etc/profile配置文件、添加QT配置腳本、添加QT界面設計程序。配置文件主要用于指定環(huán)境變量的具體路徑,其中QTDIR是Qt4.7類庫路徑,QWS_MOUSE_PROTO用于指明觸摸屏或鼠標的設備名。3.2.2屬性配置設置流程圖自助出票機的人機界面是多級界面。主界面提供取票界面、廣告界面、系統(tǒng)設置界面給用戶選擇。取票界面是主要的功能界面,等待從串口接收用戶輸入的身份證信息,與數(shù)據(jù)庫中的信息進行比對和判斷,決定是否打印門票,并將用戶信息存儲到數(shù)據(jù)庫。廣告界面是根據(jù)用戶需求定制展示用戶宣傳圖片。系統(tǒng)設置界面主要需要讀取當前系統(tǒng)時間,并可以根據(jù)時間進行調整和設置,同時提供與打印機通信的串口UART1和與身份證識別模塊通信的UART2的屬性配置選項。系統(tǒng)流程圖如圖2所示。⑴取票的處理過程取票流程為:進入取票界面,系統(tǒng)等待從串口2接收身份證識別模塊輸入的身份證UID號,再查詢數(shù)據(jù)庫,若在當前數(shù)據(jù)庫中沒有查到該游客的信息,則將游客信息存儲到數(shù)據(jù)庫,啟動門票打印機打印出系統(tǒng)實時信息并自動出一張票;若在當前數(shù)據(jù)庫中已查到該游客的信息,則不再重復出票,處理完成之后返回主界面等待用戶輸入。在取票處理的程序設計過程中,我們將界面處理和數(shù)據(jù)處理分開管理,用不同的類進行處理。取票處理過程抽象出五大功能類:GetTicket(取票界面類)、Serial(串口類)、EscPos(操作打印機的類)、IdCardMag(身份證號識別的類)、SqliteHelper(數(shù)據(jù)庫處理的類)。⑵系統(tǒng)設置的處理過程系統(tǒng)設置的過程為:進入系統(tǒng)設計界面,通過輸入用戶名和密碼登錄到系統(tǒng)具體的設置頁面,具體功能是,在系統(tǒng)設置頁面中查看當前自助出票機的系統(tǒng)時間:年月日時分,如果與當前實際的時間不匹配,系統(tǒng)設置界面提供了相應的調整時間的按鈕;在系統(tǒng)設置頁面中可以對串口的屬性進行設置。系統(tǒng)設置過程抽象出三大功能類:SystemSet(系統(tǒng)設置界面類)、TimManager(系統(tǒng)時間處理功能類)。在SystemSet(系統(tǒng)設置界面類)中,完成對打印機的串口初始化和打印機設備初始化、身份證識別模塊串口初始化、QT時鐘管理初始化的工作。界面設計如圖3所示。3.3打印復雜圖像根據(jù)ESCPOS協(xié)議可以設置打印機打印的字符格式:字體、倍寬、倍高、粗體等,如果需要打印復雜的圖片,可以采用定義打印Flash位圖的方式處理。Flash位圖格式如圖4所示。3.4基于q力的文件監(jiān)聽身份證識別模塊串口驅動的軟件設計,重點是監(jiān)聽身份證識別模塊串口發(fā)送過來的數(shù)據(jù),對串口數(shù)據(jù)進行分析,找到UID號的有用數(shù)據(jù)。在Linux操作系統(tǒng)中,串口設備是作為一個文件來進行管理的,本系統(tǒng)中設備名是/dev/ttySAC2。我們對串口文件接收的數(shù)據(jù)監(jiān)聽有效地利用了QT的signal/slot信號/槽機制。采用QT提供的QSocketNotifier對象來監(jiān)聽系統(tǒng)文件操作,可以將文件操作轉換為QT事件(QSocketNotifier::Read)。當串口有數(shù)據(jù)可讀時,QT事件(QSocketNotifier::Read)會驅動QSocketNotifier對象發(fā)送ativated信號,并調用預先設置好的槽函數(shù)(remoteDataIncoming)來處理事件。代碼如下:3.5linux系統(tǒng)時鐘同步機制S3C2440開發(fā)板板載RTC實時時鐘硬件電路,在系統(tǒng)斷電時,RTC時鐘自帶的電池能夠保證時鐘正常工作。Linux操作系統(tǒng)提供的date命令可以設計操作系統(tǒng)的時間,hwclock-w命令可以實現(xiàn)操作系統(tǒng)的時間和硬件RTC實時時鐘的時間同步。我們使用QT的QDataTime類獲取當前系統(tǒng)的實時時間,使用datetimedit控件接收用戶的設置,在通過date和hwclock命令對系統(tǒng)時鐘和硬件時間進行同步修改。4對部分文件進行加載自助出票機系統(tǒng)集成時,操作流程如下:⑴將S3C2440開發(fā)板和周邊器件的硬件環(huán)境連線準備好;⑵在S3C2440開發(fā)板中燒入bootloader、Linux內核和文件系統(tǒng),S3C2440開發(fā)板能夠正常啟動進入文件系統(tǒng);⑶配置S3C2440開發(fā)板文件系統(tǒng)中QT運行的環(huán)境,正確加載庫文件、配置文件和界面程序可執(zhí)行文件;⑷自助出票機系統(tǒng)設計完成,可以驗證結果。自助出票系統(tǒng)的聯(lián)調如圖5所示,實驗驗證表明:系統(tǒng)能準備識別出身份證號,并觸發(fā)打印門票機制,打印出系統(tǒng)的實時信息。5系統(tǒng)開發(fā)板的應用自助出票機系統(tǒng)整體設計方案綜合考慮了現(xiàn)場應用環(huán)境的需求,采用基于Linux的嵌入式開發(fā)技術有效地降低產品成本,提高系統(tǒng)的穩(wěn)定性。本設計可靠性好、成本低廉、操作方便,具有較強的工程實用意義和推廣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論