郭 鵬,胡 慧
(湖南工程學(xué)院 計(jì)算機(jī)與通信學(xué)院,湘潭 411104;2.湖南工程學(xué)院 電氣信息學(xué)院,湘潭 411101)
目前傳統(tǒng)意義上的購(gòu)物車只是一個(gè)單純的載物車輛,購(gòu)物車和商品的結(jié)算之間沒有任何必然聯(lián)系.商品的結(jié)算都是由專門設(shè)立在超市出口的結(jié)算終端來完成.因?yàn)檫@樣設(shè)立的專用結(jié)算終端數(shù)量有限,所以在超市當(dāng)顧客準(zhǔn)備結(jié)算商品時(shí)就需要排隊(duì)等待.造成結(jié)算速度緩慢,導(dǎo)致顧客的時(shí)間浪費(fèi),同時(shí)給超市的服務(wù)質(zhì)量帶來不良的影響,直接影響到超市的收益.
嵌入式購(gòu)物自助結(jié)算系統(tǒng)可以通過在超市或商場(chǎng)的出口處設(shè)置自動(dòng)付費(fèi)機(jī),該設(shè)備由消費(fèi)者自己進(jìn)行商品的掃描信息錄入,然后計(jì)算出應(yīng)付費(fèi)用總額,最后由消費(fèi)者自己進(jìn)行自動(dòng)刷卡付費(fèi).通過該付費(fèi)終端可以很容易的實(shí)現(xiàn)消費(fèi)者的自動(dòng)付費(fèi),同時(shí)為商場(chǎng)減少了在收銀員聘用方面所必須要支付的花費(fèi).
實(shí)現(xiàn)購(gòu)物的自動(dòng)化不僅能極大地方便人們的生活,還能帶給企業(yè)更好的管理方式,降低企業(yè)的管理成本,促進(jìn)商業(yè)智能化的發(fā)展.
嵌入式[1]是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分.通常嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板.事實(shí)上所有帶有數(shù)字接口的設(shè)備,如手邊、微波爐、錄像機(jī)、汽車等都使用嵌入式系統(tǒng).嵌入式自助購(gòu)物結(jié)算系統(tǒng)是嵌入式技術(shù)的一個(gè)方面的應(yīng)用.其核心技術(shù)大致分為ARM微處理器、網(wǎng)絡(luò)通訊、無線射頻通信、POS終端和Linux系統(tǒng)移植.
ARM 微處理器[2]:ARM(Advanced RISC Machines)處理器是Acorn計(jì)算機(jī)有限公司面向低預(yù)算市場(chǎng)設(shè)計(jì)的第一款RISC微處理器.更早稱作A-corn RISC Machine.RM處理器及技術(shù)的應(yīng)用幾乎已經(jīng)深入到各個(gè)領(lǐng)域,包括工業(yè)控制領(lǐng)域、無線通信領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費(fèi)類電子產(chǎn)品、成像和安全產(chǎn)品等許多領(lǐng)域.ARM處理器將作為嵌入式自助結(jié)算系統(tǒng)的主要的信息處理部件.是該系統(tǒng)的核心.
網(wǎng)絡(luò)通訊技術(shù):使嵌入式自助結(jié)算系統(tǒng)的終端能夠從服務(wù)器端獲取數(shù)據(jù)并將處理的結(jié)果送回到服務(wù)器端.數(shù)據(jù)在傳送過程中要安全保密.同時(shí)該嵌入式購(gòu)物自助結(jié)算系統(tǒng)還應(yīng)該能夠與外網(wǎng)進(jìn)行通信,要求能夠訪問安全的特定的外部網(wǎng)絡(luò)進(jìn)行必要數(shù)據(jù)的獲取.網(wǎng)絡(luò)通訊技術(shù)是數(shù)據(jù)傳送的基本保障,只有通過網(wǎng)絡(luò)的數(shù)據(jù)交換才能夠獲取必要的商品信息和客戶賬戶信息.
無線射頻技術(shù)[3]:無線射頻譯自英文 Radio Frequency Identification,簡(jiǎn)稱為RFID,是20世紀(jì)90年代興起的一種非接觸式的自動(dòng)識(shí)別技術(shù).射頻技術(shù)(RFID)相對(duì)于傳統(tǒng)的磁卡及IC卡技術(shù)具有非接觸、閱讀速度快、無磨損等特點(diǎn).
無線射頻技術(shù)在閱讀器和射頻卡之間進(jìn)行非接觸雙向數(shù)據(jù)傳輸,以達(dá)到目標(biāo)識(shí)別和數(shù)據(jù)交換的目的.與傳統(tǒng)的條型碼、磁卡及IC卡相比,射頻卡具有非接觸、閱讀速度快、無磨損、不受環(huán)境影響、壽命長(zhǎng)、便于使用的特點(diǎn)和具有防沖突功能,能同時(shí)處理多張卡片.在國(guó)外,射頻識(shí)別技術(shù)已被廣泛應(yīng)用于工業(yè)自動(dòng)化、商業(yè)自動(dòng)化、交通運(yùn)輸控制管理等眾多領(lǐng)域.
POS終端:POS終端是您在任何購(gòu)物過程中都可以看到的設(shè)備,它廣泛用于零售業(yè)和服務(wù)業(yè)的交易處理和記錄.它們還越來越多地用來對(duì)銷售和庫(kù)存數(shù)據(jù)進(jìn)行實(shí)時(shí)報(bào)告,這使得企業(yè)可以簡(jiǎn)化供應(yīng)鏈、促進(jìn)自助式交易并且降低部署和維護(hù)零售環(huán)節(jié)的IT基礎(chǔ)設(shè)施的成本.
Linux系統(tǒng)移植:系統(tǒng)移植技術(shù)是嵌入式系統(tǒng)的核心,它是一種對(duì)內(nèi)核進(jìn)行裁剪,然后通過交叉編譯將編譯后的系統(tǒng)安裝在嵌入式處理器設(shè)備上運(yùn)行的技術(shù).Linux內(nèi)核移植不僅涉及代碼的編譯還涉及到設(shè)備間的通信.因此需要對(duì)設(shè)備和編程語言都比較熟悉才可能移植成功.
該系統(tǒng)主要功能是實(shí)現(xiàn)商品購(gòu)買后的自動(dòng)付款功能,該系統(tǒng)的模塊圖如圖1所示.
圖1 系統(tǒng)功能模塊圖
在該超市自動(dòng)付費(fèi)系統(tǒng)中,處理中心是該系統(tǒng)的核心,處理中心中配置有商品支付軟件,可以對(duì)掃描輸入的商品的信息進(jìn)行處理,該系統(tǒng)的運(yùn)行處理過程為:
(1)處理中心運(yùn)行商品支付系統(tǒng),并置于初始化狀態(tài)(無人進(jìn)行支付操作的狀態(tài)).
(2)客戶使用條形碼掃描儀對(duì)其所購(gòu)買的商品進(jìn)行掃描,每掃描一次商品,處理中心的商品支付系統(tǒng)將根據(jù)商品掃描碼查詢商品信息并對(duì)商品信息進(jìn)行顯示,顯示的信息包括:商品注冊(cè)碼、商品名稱、商品購(gòu)買數(shù)量、商品單價(jià)、購(gòu)買時(shí)間、購(gòu)買該類商品的總價(jià)以及消費(fèi)者已經(jīng)購(gòu)買的所有商品的總的應(yīng)付金額.
(3)在消費(fèi)者對(duì)購(gòu)買的商品掃描輸入完并輸入確認(rèn)信息后,系統(tǒng)提示消費(fèi)者進(jìn)行刷卡終端付費(fèi).
(4)消費(fèi)者在刷卡終端進(jìn)行刷卡,系統(tǒng)進(jìn)行IC卡的識(shí)別驗(yàn)證,在驗(yàn)證通過后自動(dòng)扣除應(yīng)該支付的總金額,然后再顯示屏上顯示支付結(jié)果,再為客戶打印支付憑條和商品購(gòu)物清單并修改商場(chǎng)的商品記錄.由于IC卡保存著用戶的余額信息,這里需要對(duì)IC卡進(jìn)行讀寫操作,讀寫都成功才算成功完成一次支付.
(5)一筆交易完成后處理中心的商品支付系統(tǒng)自動(dòng)進(jìn)行重置,等待為下一位消費(fèi)者服務(wù).
由于本系統(tǒng)是運(yùn)行于嵌入式設(shè)備上,因此需要對(duì)Linux內(nèi)核進(jìn)行裁剪定制,使其支持所要連接的外部設(shè)備,本系統(tǒng)中使用的兩種外部設(shè)備都是通過串口進(jìn)行連接的,因此內(nèi)核必須要能夠支持串口通信.這里使用270-S開發(fā)平臺(tái)自帶的內(nèi)核270-S-2.6.9.對(duì)于文件系統(tǒng)和Bootloader,采用270-S系統(tǒng)自帶的即可.在圖形界面上,由于這里使用的是Qt作為GUI支持,因此需要安裝Qt桌面環(huán)境[4].
使用交叉工具鏈編譯后的內(nèi)核和Qt支持庫(kù)都必須要下載至目標(biāo)板才能執(zhí)行.該系統(tǒng)的設(shè)計(jì)開發(fā)基于270-S平臺(tái),根據(jù)該平臺(tái)的說明書,系統(tǒng)移植步驟如下[5]:
(1)創(chuàng)建JTAG,生成jflashmm二進(jìn)制文件.
(2)編譯并燒寫B(tài)ootloader到目標(biāo)板中.
(3)下載Linux內(nèi)核鏡像.
(4)下載文件系統(tǒng).
為了使該系統(tǒng)能夠支持Qt,需要加入交叉編譯后的Qt庫(kù)以及Qtopia應(yīng)用平臺(tái),這樣就能夠在該系統(tǒng)中運(yùn)行Qt編寫的商品支付處理軟件.
2.2.1 Bootloader的移植
Bootloader初始化硬件如CPU,SDRAM,F(xiàn)LASH,UART,&GPIO等,并為用戶提供系統(tǒng)引導(dǎo)等功能.Bootloader的主要功能如下:
(1)初始化硬件.初始化CPU clock,Memory timing,interrupt,UART和GPIO.
(2)啟動(dòng)Linux.這是bootloader最重要的功能,它將內(nèi)核映像復(fù)制到SDRAM中并跳轉(zhuǎn)到內(nèi)核入口地址處.
(3)下載Image.下載內(nèi)核和文件鏡像到SDRAM中.本開發(fā)平臺(tái)下載只能通過以太網(wǎng),利用Ethernet通過tftp and bootp協(xié)議進(jìn)行下載.
(4)Flash存儲(chǔ)器管理.用 write,erase,lock,和unlock等命令管理Flash存儲(chǔ)器.
本開發(fā)平臺(tái)提供有Bootloader源代碼,因此先要進(jìn)行Bootloader的編譯創(chuàng)建名為boot的Bootloader鏡像.然后通過創(chuàng)建JTAG生成的jflashmm命令燒寫B(tài)ootloader到目標(biāo)板.
2.2.2 內(nèi)核的移植
在完成對(duì)內(nèi)核的定制和在目標(biāo)機(jī)上完成Bootloader的安裝并且在宿主機(jī)上成功安裝bootp和tftp協(xié)議后,才可以將內(nèi)核鏡像下載至目標(biāo)板.
內(nèi)核移植步驟為:
(1)進(jìn)入Bootloader的命令行模式.
(2)使用tftp命令下在內(nèi)核鏡像到開發(fā)板的SDRAM中.
(3)使用flash命令燒寫下載成功的內(nèi)核鏡像到flash中.
Linux內(nèi)核通過minicom使用tftp命令下載至目標(biāo)板,內(nèi)核編譯后生成的內(nèi)核鏡像文件名為zImage_EDR_tinyx,在下載完成后需要將內(nèi)核燒寫到flash中,其下載燒寫過程如圖2所示.
圖2 Linux內(nèi)核下載燒寫過程
2.2.3 Qt/Qtopia的移植
Qt/Qtopia的移植[6]首先要在宿主機(jī)上對(duì) Qt庫(kù)和Qtopia桌面環(huán)境進(jìn)行交叉編譯,然后安裝在目標(biāo)機(jī)平臺(tái).在Linux系統(tǒng)上安裝軟件一般是通過將相應(yīng)的庫(kù)文件和頭文件拷貝至目標(biāo)板,然后配置相應(yīng)的環(huán)境變量.如果在宿主機(jī)上進(jìn)行開發(fā)時(shí)對(duì)Qt源碼在編譯時(shí)進(jìn)行了安裝路徑的配置,則在目標(biāo)機(jī)上需要有一樣的路徑,否則可能出現(xiàn)頭文件或源文件找不到的問題.
當(dāng)用條形碼掃描儀掃描一件商品時(shí),效果如圖3所示.
圖3 掃描商品效果圖
當(dāng)結(jié)算處理,點(diǎn)擊結(jié)算按鈕時(shí),效果如圖4所示.
圖4 支付結(jié)算效果圖
該嵌入式購(gòu)物自助結(jié)算系統(tǒng)是一個(gè)緊跟時(shí)代發(fā)展,為提高購(gòu)物收銀效率,降低企業(yè)人力成本支出同時(shí)能夠極大的方便顧客購(gòu)物付款,因此具有很大的現(xiàn)實(shí)意義,值得應(yīng)用和推廣.該系統(tǒng)結(jié)合了應(yīng)用廣泛的嵌入式技術(shù),使得支付更加小型化,簡(jiǎn)單化,方便化.該系統(tǒng)也是跟隨當(dāng)前物聯(lián)網(wǎng)的興起而設(shè)計(jì)實(shí)現(xiàn),可以對(duì)本系統(tǒng)的數(shù)據(jù)進(jìn)行修改,很容易使該系統(tǒng)與物聯(lián)網(wǎng)技術(shù)進(jìn)行對(duì)接.本系統(tǒng)的設(shè)計(jì)初始針對(duì)解決商場(chǎng)人工收銀的弊端而設(shè)計(jì).本系統(tǒng)提供了電子支付更靈活的平臺(tái),當(dāng)前電子支付正迅速發(fā)展,尤其是移動(dòng)終端支付平臺(tái)給商品交易帶來了極大的方便.
[1]嵌入式技術(shù)_百度百科,“技術(shù)應(yīng)用”[EB/OL].Available:http://baike.baidu.com/view/685011.htm [Accessed:April.9,2012].
[2]李佳南.基于ARM的IC卡機(jī)房管理終端設(shè)計(jì)[D].成都理工大學(xué)碩士論文,2009.
[3]孫永飛.基于ARM的RFID讀卡器設(shè)計(jì)[M].南京理工大學(xué),2007.
[4](美國(guó))沃爾夫.嵌入式計(jì)算系統(tǒng)設(shè)計(jì)原理(第二版)[M].李仁發(fā)譯 .北京:機(jī)械工業(yè)出版社,2009.
[5]徐晨輝.嵌入式Linux內(nèi)核裁剪及移植的研究與實(shí)現(xiàn)[C].東華大學(xué),2009.
[6]廣州友善之臂計(jì)算機(jī)科技有限公司.Mini6410Qt4和Qtopia編程開發(fā)指南[Z].2011.