《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式Linux的自助點(diǎn)菜終端設(shè)計(jì)
基于嵌入式Linux的自助點(diǎn)菜終端設(shè)計(jì)
現(xiàn)代電子技術(shù)
胡志文 張 崎
摘要: 基于嵌入式Linux的自助點(diǎn)菜終端設(shè)計(jì),為了提高餐飲企業(yè)效率和節(jié)約人力成本,實(shí)現(xiàn)餐飲自動(dòng)化,設(shè)計(jì)并實(shí)現(xiàn)了一種新型顧客自助點(diǎn)菜終端。采用觸摸屏作為人機(jī)交互界面,,無(wú)需服務(wù)員參與,完全由顧客自主通過(guò)點(diǎn)菜終端訪問(wèn)服務(wù)器網(wǎng)站完成菜譜查詢、點(diǎn)菜,、結(jié)賬、多媒體娛樂(lè)等探作,。針對(duì)嵌入式系統(tǒng)存儲(chǔ)空間的局限性,,構(gòu)建一個(gè)服務(wù)網(wǎng)站,解決大容量數(shù)據(jù)的存儲(chǔ)與更新問(wèn)題,。終端采用開(kāi)放源代碼的圖形用戶界面庫(kù)Qt開(kāi)發(fā),,詳細(xì)研究了其編譯與移植的方法。經(jīng)試驗(yàn)驗(yàn)證,,系統(tǒng)具有成本低廉,,界面友好,,易于更新和維護(hù)的特點(diǎn)。
Abstract:
Key words :

0 引言
    隨著人民生活水平的提高和生活方式的轉(zhuǎn)變,,餐飲業(yè)的市場(chǎng)急劇擴(kuò)大,,利潤(rùn)飛速增長(zhǎng),被稱為中國(guó)的黃金產(chǎn)業(yè),。而電子點(diǎn)菜系統(tǒng)的應(yīng)用,,提高了餐館檔次和營(yíng)業(yè)效率、優(yōu)化了業(yè)務(wù)流程,,為餐飲行業(yè)帶來(lái)嶄新的管理理念與服務(wù)手段,。目前較為流行的點(diǎn)菜終端主要分為2種模式。第一種采用單片機(jī)和無(wú)線模塊實(shí)現(xiàn),,該模式成本低,,但是功能和界面較為簡(jiǎn)單,通信距離也較短,,使用者一般是服務(wù)員,;另外一種采用商業(yè)PDA和無(wú)線網(wǎng)卡實(shí)現(xiàn),功能強(qiáng)大,,界面華麗,,操作方面,但成本較高,,不利于大范圍推廣與應(yīng)用,。此外,友好的自助點(diǎn)菜終端要給客戶提供諸如每道菜肴的名稱,、插圖,、介紹和價(jià)格等各種相關(guān)信息,這些信息需要隨著菜單的變化實(shí)時(shí)更新,。由于嵌入式系統(tǒng)的存儲(chǔ)空間有限,,大量的圖片等信息存儲(chǔ)和實(shí)時(shí)更新成為現(xiàn)有點(diǎn)菜終端設(shè)計(jì)的一個(gè)難題。
    本文提出了一種新型電子點(diǎn)菜系統(tǒng)模式,,該系統(tǒng)由自助點(diǎn)菜終端和網(wǎng)站服務(wù)器組成,,自助點(diǎn)菜終端為全觸摸屏操作,無(wú)需點(diǎn)菜員參與,,可完全由顧客自己完成點(diǎn)菜,;且采用了開(kāi)放源代碼的自由軟件開(kāi)發(fā)方式,降低了系統(tǒng)成本,。對(duì)于大量數(shù)據(jù)的存儲(chǔ)與更新問(wèn)題,,本文提出構(gòu)建一個(gè)服務(wù)器網(wǎng)站,由此解決大容量數(shù)據(jù)的存儲(chǔ)與更新問(wèn)題,,提高餐飲服務(wù)批量生產(chǎn)與業(yè)務(wù)升級(jí)效率,。顧客可通過(guò)自助點(diǎn)菜終端訪問(wèn)服務(wù)器網(wǎng)站自主完成菜譜查詢,、點(diǎn)菜、結(jié)賬,、多媒體娛樂(lè)等操作,。點(diǎn)菜終端與服務(wù)器之間的通信基于WiFi無(wú)線網(wǎng)絡(luò)。

1 系統(tǒng)概述
   
本文所介紹的點(diǎn)菜系統(tǒng),,分前臺(tái)系統(tǒng)和后臺(tái)系統(tǒng)2部分,,采用B/S架構(gòu),前臺(tái)和后臺(tái)之間采用WiFi無(wú)線通信,,集無(wú)線網(wǎng)絡(luò)通信技術(shù)與手持移動(dòng)終端技術(shù)于一身,。
    前臺(tái)手持自助點(diǎn)菜終端設(shè)備,無(wú)需點(diǎn)菜員參與,,完全由顧客自己完成點(diǎn)菜,。前臺(tái)開(kāi)發(fā)環(huán)境為嵌入式Linux,Qt/Embedded Linux,。后臺(tái)系統(tǒng)平臺(tái)為PC,,也可以稱為整個(gè)系統(tǒng)的服務(wù)器,它的主要用戶為餐館的管理人員,,管理員可以通過(guò)后臺(tái)服務(wù)器向系統(tǒng)添加餐館的新菜,、修改菜價(jià)、查詢歷史記錄等,。服務(wù)器負(fù)責(zé)協(xié)調(diào)各設(shè)備的工作,,對(duì)各種數(shù)據(jù)做必要的處理,及時(shí)為工作人員,、管理人員提供真實(shí),、可靠的數(shù)據(jù)。后臺(tái)開(kāi)發(fā)環(huán)境為Windows XP,,MyEclipse,,SQL Server。電子點(diǎn)菜系統(tǒng)的結(jié)構(gòu)如圖1所示,。



2 自助點(diǎn)菜終端硬件設(shè)計(jì)
   
自助點(diǎn)菜終端的核心處理器采用ARM920T核的S3C2440芯片,,其主頻可達(dá)到400 MHz,外接64 MBSDRAM和64 MB FLASH,。終端的硬件結(jié)構(gòu)圖如圖2所示,。其中,顯示接口采用8寸TFT液晶屏,,像素640×480,為用戶提供友好的操作體驗(yàn),。用戶通過(guò)觸摸屏訪問(wèn)服務(wù)器網(wǎng)站自主完成菜譜查詢,、點(diǎn)菜,、結(jié)賬、多媒體娛樂(lè)等操作,。該系統(tǒng)以無(wú)線寬帶路由器作為無(wú)線AP(AccessPoint)接入點(diǎn),,點(diǎn)菜終端內(nèi)置無(wú)線網(wǎng)卡,在內(nèi)核支持,、驅(qū)動(dòng)程序的配合下,,客戶終端便能夠接入無(wú)線網(wǎng)絡(luò),連接到遠(yuǎn)端服務(wù)器,,訪問(wèn)網(wǎng)站,。



3 自助點(diǎn)菜終端軟件設(shè)計(jì)
   
自助點(diǎn)菜終端的軟件設(shè)計(jì)主要是開(kāi)發(fā)基于嵌入式Linux系統(tǒng)的客戶端應(yīng)用程序,用以訪問(wèn)服務(wù)器網(wǎng)站,。終端軟件結(jié)構(gòu)如圖3所示,。該系統(tǒng)開(kāi)發(fā)主要有3個(gè)主要內(nèi)容:開(kāi)發(fā)平臺(tái)的構(gòu)建、編譯Qt/Embedded庫(kù)和終端應(yīng)用程序的實(shí)現(xiàn),。


3.1 嵌入式Linux系統(tǒng)開(kāi)發(fā)平臺(tái)的構(gòu)建
   
搭建交叉編譯環(huán)境是嵌入式開(kāi)發(fā)的第一步,,也是必備一步。由于一般嵌入式開(kāi)發(fā)系統(tǒng)存儲(chǔ)大小有限,,通常需要在功能強(qiáng)大的PC機(jī)上建立一個(gè)用于目標(biāo)機(jī)的交叉編譯環(huán)境,。該系統(tǒng)主機(jī)開(kāi)發(fā)平臺(tái)選擇Fedora 12系統(tǒng),安裝交叉編譯器ARM-linuX-gcc 4.3.2用來(lái)編譯Linux內(nèi)核,,安裝ARM 920t-eabi用來(lái)編譯Qt/Embedded庫(kù),,用來(lái)支持瀏覽程序的開(kāi)發(fā)。終端以嵌入式Linux作為操作系統(tǒng),,管理系統(tǒng)軟硬件資源,。該終端采用Linux 2.6.29內(nèi)核版本,首先移植了系統(tǒng)引導(dǎo)程序U-boot,,然后編譯裁剪的Linux內(nèi)核,,加載無(wú)線網(wǎng)卡等驅(qū)動(dòng),制作根文件系統(tǒng),。
3.2 編譯Qt/embedded庫(kù)和Tslib觸摸屏庫(kù)
   
Qt/Embedded是一個(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架,,其對(duì)象容易擴(kuò)展,可移植性好,,支持多個(gè)GUI平臺(tái)的交互開(kāi)發(fā),。Qt/Emb-edded被廣泛地應(yīng)用于各種嵌入式產(chǎn)品和設(shè)備中。因此本文選擇Qt/Embedded為本系統(tǒng)的GUI,。
    Qt/embedded Linux是為嵌入式Linux優(yōu)化過(guò)的Qt版本,。為了盡可能減少內(nèi)存占用量,Qt/embeddedLinux可以被重新編譯以去掉那些不用的特性,。
    首先編譯安裝tslib,,添加觸摸屏支持:下載,,tslibl.4.tar.gz,解壓后執(zhí)行配置,、編譯和安裝命令,。
    然后通過(guò)./configure開(kāi)始配置Qt embedded庫(kù),將不需要的應(yīng)用去除以減小庫(kù)的大小,。配置完畢后,,用make命令編譯,用makeinstall命令安裝Qt/embedded Linux到指定的目錄,。
3.3 設(shè)計(jì)點(diǎn)菜終端應(yīng)用程序
   
對(duì)于自助點(diǎn)菜終端應(yīng)用程序的設(shè)計(jì)使用Qt Creator規(guī)劃點(diǎn)菜終端程序的大致界面,,然后遵循Qt/Embedded編程一般規(guī)則編寫(xiě)代碼,主要分為瀏覽器核心類(lèi)和主窗口類(lèi)的實(shí)現(xiàn),,最后編譯并通過(guò)NFS進(jìn)行板上測(cè)試,。
    瀏覽器核心類(lèi)使用Qt提供的QWebView類(lèi)。該類(lèi)提供了常用的功能,,如加載特定的URL,、設(shè)置、歷史記錄和網(wǎng)頁(yè)對(duì)象,。它還提供包括后退,、向前和重新加載在內(nèi)的基本瀏覽功能。
    例如,,以下代碼實(shí)例化用于顯示網(wǎng)頁(yè)并與其互動(dòng)的QWebView類(lèi),,指示QWebView加載URL并顯示,這樣就得到可與網(wǎng)站互動(dòng)的基本窗口,。
   

4 服務(wù)器網(wǎng)站開(kāi)發(fā)
   
該系統(tǒng)利用普通的PC機(jī)和Windows XP作為網(wǎng)站服務(wù)器,,數(shù)據(jù)庫(kù)使用SQL Server 2005,Web服務(wù)器使用Tomcat 6.0,。在MyEclipse環(huán)境下開(kāi)發(fā)完成了JSP網(wǎng)站,,網(wǎng)站實(shí)現(xiàn)了如圖4所示功能。



5 結(jié)語(yǔ)
    本文設(shè)計(jì)的自助點(diǎn)菜終端,,具有價(jià)格低廉,,操作簡(jiǎn)單,界面友好等特點(diǎn),,采用開(kāi)放源代碼軟件設(shè)計(jì),,使系統(tǒng)的成本降低,更具有市場(chǎng)競(jìng)爭(zhēng)力,;點(diǎn)菜終端通過(guò)WLAN以B/S模式與服務(wù)器交互,,降低了客戶端的設(shè)計(jì)難度,解決了大容量數(shù)據(jù)的存儲(chǔ)與更新問(wèn)題。經(jīng)實(shí)驗(yàn)測(cè)試驗(yàn)證,,該系統(tǒng)所有功能模塊都能正常運(yùn)行,,達(dá)到了預(yù)期效果,能夠滿足一般餐飲企業(yè)的實(shí)際要求,。自助點(diǎn)菜系統(tǒng)使餐飲企業(yè)改善了餐館的經(jīng)營(yíng)策略、管理效率和服務(wù)質(zhì)量,。隨著信息化的發(fā)展,,將得到更為廣泛的應(yīng)用,有著廣闊的前景,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。