基于嵌入式Linux的自助點(diǎn)菜終端設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
隨著人民生活水平的提高和生活方式的轉(zhuǎn)變,餐飲業(yè)的市場(chǎng)急劇擴(kuò)大,利潤飛速增長,被稱為中國的黃金產(chǎn)業(yè)。而電子點(diǎn)菜系統(tǒng)的應(yīng)用,提高了餐館檔次和營業(yè)效率、優(yōu)化了業(yè)務(wù)流程,為餐飲行業(yè)帶來嶄新的管理理念與服務(wù)手段。目前較為流行的點(diǎn)菜終端主要分為2種模式。第一種采用單片機(jī)和無線模塊實(shí)現(xiàn),該模式成本低,但是功能和界面較為簡單,通信距離也較短,使用者一般是服務(wù)員;另外一種采用商業(yè)PDA和無線網(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)菜終端為全觸摸屏操作,無需點(diǎn)菜員參與,可完全由顧客自己完成點(diǎn)菜;且采用了開放源代碼的自由軟件開發(fā)方式,降低了系統(tǒng)成本。對(duì)于大量數(shù)據(jù)的存儲(chǔ)與更新問題,本文提出構(gòu)建一個(gè)服務(wù)器網(wǎng)站,由此解決大容量數(shù)據(jù)的存儲(chǔ)與更新問題,提高餐飲服務(wù)批量生產(chǎn)與業(yè)務(wù)升級(jí)效率。顧客可通過自助點(diǎn)菜終端訪問服務(wù)器網(wǎng)站自主完成菜譜查詢、點(diǎn)菜、結(jié)賬、多媒體娛樂等操作。點(diǎn)菜終端與服務(wù)器之間的通信基于WiFi無線網(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ǎng)絡(luò)通信技術(shù)與手持移動(dòng)終端技術(shù)于一身。
前臺(tái)手持自助點(diǎn)菜終端設(shè)備,無需點(diǎn)菜員參與,完全由顧客自己完成點(diǎn)菜。前臺(tái)開發(fā)環(huán)境為嵌入式Linux,Qt/Embedded Linux。后臺(tái)系統(tǒng)平臺(tái)為PC,也可以稱為整個(gè)系統(tǒng)的服務(wù)器,它的主要用戶為餐館的管理人員,管理員可以通過后臺(tái)服務(wù)器向系統(tǒng)添加餐館的新菜、修改菜價(jià)、查詢歷史記錄等。服務(wù)器負(fù)責(zé)協(xié)調(diào)各設(shè)備的工作,對(duì)各種數(shù)據(jù)做必要的處理,及時(shí)為工作人員、管理人員提供真實(shí)、可靠的數(shù)據(jù)。后臺(tá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)。用戶通過觸摸屏訪問服務(wù)器網(wǎng)站自主完成菜譜查詢、點(diǎn)菜、結(jié)賬、多媒體娛樂等操作。該系統(tǒng)以無線寬帶路由器作為無線AP(AccessPoint)接入點(diǎn),點(diǎn)菜終端內(nèi)置無線網(wǎng)卡,在內(nèi)核支持、驅(qū)動(dòng)程序的配合下,客戶終端便能夠接入無線網(wǎng)絡(luò),連接到遠(yuǎn)端服務(wù)器,訪問網(wǎng)站。
3 自助點(diǎn)菜終端軟件設(shè)計(jì)
自助點(diǎn)菜終端的軟件設(shè)計(jì)主要是開發(fā)基于嵌入式Linux系統(tǒng)的客戶端應(yīng)用程序,用以訪問服務(wù)器網(wǎng)站。終端軟件結(jié)構(gòu)如圖3所示。該系統(tǒng)開發(fā)主要有3個(gè)主要內(nèi)容:開發(fā)平臺(tái)的構(gòu)建、編譯Qt/Embedded庫和終端應(yīng)用程序的實(shí)現(xiàn)。
[!--empirenews.page--]
3.1 嵌入式Linux系統(tǒng)開發(fā)平臺(tái)的構(gòu)建
搭建交叉編譯環(huán)境是嵌入式開發(fā)的第一步,也是必備一步。由于一般嵌入式開發(fā)系統(tǒng)存儲(chǔ)大小有限,通常需要在功能強(qiáng)大的PC機(jī)上建立一個(gè)用于目標(biāo)機(jī)的交叉編譯環(huán)境。該系統(tǒng)主機(jī)開發(fā)平臺(tái)選擇Fedora 12系統(tǒng),安裝交叉編譯器ARM-linuX-gcc 4.3.2用來編譯Linux內(nèi)核,安裝ARM 920t-eabi用來編譯Qt/Embedded庫,用來支持瀏覽程序的開發(fā)。終端以嵌入式Linux作為操作系統(tǒng),管理系統(tǒng)軟硬件資源。該終端采用Linux 2.6.29內(nèi)核版本,首先移植了系統(tǒng)引導(dǎo)程序U-boot,然后編譯裁剪的Linux內(nèi)核,加載無線網(wǎng)卡等驅(qū)動(dòng),制作根文件系統(tǒng)。
3.2 編譯Qt/embedded庫和Tslib觸摸屏庫
Qt/Embedded是一個(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架,其對(duì)象容易擴(kuò)展,可移植性好,支持多個(gè)GUI平臺(tái)的交互開發(fā)。Qt/Emb-edded被廣泛地應(yīng)用于各種嵌入式產(chǎn)品和設(shè)備中。因此本文選擇Qt/Embedded為本系統(tǒng)的GUI。
Qt/embedded Linux是為嵌入式Linux優(yōu)化過的Qt版本。為了盡可能減少內(nèi)存占用量,Qt/embeddedLinux可以被重新編譯以去掉那些不用的特性。
首先編譯安裝tslib,添加觸摸屏支持:下載,tslibl.4.tar.gz,解壓后執(zhí)行配置、編譯和安裝命令。
然后通過./configure開始配置Qt embedded庫,將不需要的應(yīng)用去除以減小庫的大小。配置完畢后,用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ī)則編寫代碼,主要分為瀏覽器核心類和主窗口類的實(shí)現(xiàn),最后編譯并通過NFS進(jìn)行板上測(cè)試。
瀏覽器核心類使用Qt提供的QWebView類。該類提供了常用的功能,如加載特定的URL、設(shè)置、歷史記錄和網(wǎng)頁對(duì)象。它還提供包括后退、向前和重新加載在內(nèi)的基本瀏覽功能。
例如,以下代碼實(shí)例化用于顯示網(wǎng)頁并與其互動(dòng)的QWebView類,指示QWebView加載URL并顯示,這樣就得到可與網(wǎng)站互動(dòng)的基本窗口。
4 服務(wù)器網(wǎng)站開發(fā)
該系統(tǒng)利用普通的PC機(jī)和Windows XP作為網(wǎng)站服務(wù)器,數(shù)據(jù)庫使用SQL Server 2005,Web服務(wù)器使用Tomcat 6.0。在MyEclipse環(huán)境下開發(fā)完成了JSP網(wǎng)站,網(wǎng)站實(shí)現(xiàn)了如圖4所示功能。
5 結(jié)語
本文設(shè)計(jì)的自助點(diǎn)菜終端,具有價(jià)格低廉,操作簡單,界面友好等特點(diǎn),采用開放源代碼軟件設(shè)計(jì),使系統(tǒng)的成本降低,更具有市場(chǎng)競(jìng)爭力;點(diǎn)菜終端通過WLAN以B/S模式與服務(wù)器交互,降低了客戶端的設(shè)計(jì)難度,解決了大容量數(shù)據(jù)的存儲(chǔ)與更新問題。經(jīng)實(shí)驗(yàn)測(cè)試驗(yàn)證,該系統(tǒng)所有功能模塊都能正常運(yùn)行,達(dá)到了預(yù)期效果,能夠滿足一般餐飲企業(yè)的實(shí)際要求。自助點(diǎn)菜系統(tǒng)使餐飲企業(yè)改善了餐館的經(jīng)營策略、管理效率和服務(wù)質(zhì)量。隨著信息化的發(fā)展,將得到更為廣泛的應(yīng)用,有著廣闊的前景。