《電子技術(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)菜終端訪(fǎng)問(wèn)服務(wù)器網(wǎng)站完成菜譜查詢(xún)、點(diǎn)菜、結(jié)賬、多媒體娛樂(lè)等探作。針對(duì)嵌入式系統(tǒng)存儲(chǔ)空間的局限性,構(gòu)建一個(gè)服務(wù)網(wǎng)站,解決大容量數(shù)據(jù)的存儲(chǔ)與更新問(wèn)題。終端采用開(kāi)放源代碼的圖形用戶(hù)界面庫(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),被稱(chē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ú)線(xiàn)模塊實(shí)現(xiàn),該模式成本低,但是功能和界面較為簡(jiǎn)單,通信距離也較短,使用者一般是服務(wù)員;另外一種采用商業(yè)PDA和無(wú)線(xiàn)網(wǎng)卡實(shí)現(xiàn),功能強(qiáng)大,界面華麗,操作方面,但成本較高,不利于大范圍推廣與應(yīng)用。此外,友好的自助點(diǎn)菜終端要給客戶(hù)提供諸如每道菜肴的名稱(chēng)、插圖、介紹和價(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)菜終端訪(fǎng)問(wèn)服務(wù)器網(wǎng)站自主完成菜譜查詢(xún)、點(diǎn)菜、結(jié)賬、多媒體娛樂(lè)等操作。點(diǎn)菜終端與服務(wù)器之間的通信基于WiFi無(wú)線(xiàn)網(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ú)線(xiàn)通信,集無(wú)線(xiàn)網(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,也可以稱(chēng)為整個(gè)系統(tǒng)的服務(wù)器,它的主要用戶(hù)為餐館的管理人員,管理員可以通過(guò)后臺(tái)服務(wù)器向系統(tǒng)添加餐館的新菜、修改菜價(jià)、查詢(xún)歷史記錄等。服務(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,為用戶(hù)提供友好的操作體驗(yàn)。用戶(hù)通過(guò)觸摸屏訪(fǎng)問(wèn)服務(wù)器網(wǎng)站自主完成菜譜查詢(xún)、點(diǎn)菜、結(jié)賬、多媒體娛樂(lè)等操作。該系統(tǒng)以無(wú)線(xiàn)寬帶路由器作為無(wú)線(xiàn)AP(AccessPoint)接入點(diǎn),點(diǎn)菜終端內(nèi)置無(wú)線(xiàn)網(wǎng)卡,在內(nèi)核支持、驅(qū)動(dòng)程序的配合下,客戶(hù)終端便能夠接入無(wú)線(xiàn)網(wǎng)絡(luò),連接到遠(yuǎn)端服務(wù)器,訪(fǎng)問(wèn)網(wǎng)站。



3 自助點(diǎn)菜終端軟件設(shè)計(jì)
   
自助點(diǎn)菜終端的軟件設(shè)計(jì)主要是開(kāi)發(fā)基于嵌入式Linux系統(tǒng)的客戶(hù)端應(yīng)用程序,用以訪(fǎ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ú)線(xiàn)網(wǎng)卡等驅(qū)動(dòng),制作根文件系統(tǒng)。
3.2 編譯Qt/embedded庫(kù)和Tslib觸摸屏庫(kù)
   
Qt/Embedded是一個(gè)多平臺(tái)的C++圖形用戶(hù)界面應(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ù)器交互,降低了客戶(hù)端的設(shè)計(jì)難度,解決了大容量數(shù)據(jù)的存儲(chǔ)與更新問(wèn)題。經(jīng)實(shí)驗(yàn)測(cè)試驗(yàn)證,該系統(tǒng)所有功能模塊都能正常運(yùn)行,達(dá)到了預(yù)期效果,能夠滿(mǎn)足一般餐飲企業(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)載。