999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

觸摸屏自助點(diǎn)菜終端的設(shè)計(jì)與實(shí)現(xiàn)

2010-04-12 00:00:00顏澤球廖曉東
現(xiàn)代電子技術(shù) 2010年5期

摘 要:設(shè)計(jì)并實(shí)現(xiàn)了一種自助點(diǎn)菜終端,采用8寸液晶觸摸屏作為人機(jī)交互界面,提供圖文并茂的電子菜單。針對(duì)嵌入式系統(tǒng)存儲(chǔ)空間的局限性,提出一種應(yīng)用層軟件與底層軟件分離的存儲(chǔ)運(yùn)行方式,解決了大容量數(shù)據(jù)的存儲(chǔ)與更新問(wèn)題。采用開(kāi)放源代碼的圖形用戶接口軟件Nano-X窗口系統(tǒng),詳細(xì)探討了其配置與移植的方法。系統(tǒng)具有交互界面良好,易于生產(chǎn)維護(hù)的特點(diǎn)。

關(guān)鍵詞:點(diǎn)菜系統(tǒng);分離式存儲(chǔ);Nano-X;GUI移植;嵌入式系統(tǒng)

中圖分類號(hào):TP311.5文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1004-373X(2010)05-125-03

Design and Implementation of Self-service Touchable Dish-order System

YAN Zeqiu,LIAO Xiaodong,TU Qin

(School of Physics and Opto-electronics Technology,F(xiàn)ujian Normal University,F(xiàn)uzhou,350007,China)

Abstract:A self-service dish-ordering terminal adopts 8-inch LCD touch screen as a man-machine interactive interface,and provides electronic menu with picture and text. According to the limitations of storage space in embedded system,a method of isolated storage about the application-level software and the bottom software is addressed to solve the problem of large-capacity data storage and update. Additionally,using the open source software Nano-X Window system,its configuration and porting process are discussed in detail. The system has characteristics of good interface,easy to maintain and produce.

Keywords:dish-order system;isolated storage;Nano-X;GUI porting;embedded system

0 引 言

電子點(diǎn)菜系統(tǒng),是隨著餐飲業(yè)的智能化、信息化發(fā)展而出現(xiàn)的新一代產(chǎn)品。相對(duì)于傳統(tǒng)的點(diǎn)菜服務(wù)方式,電子點(diǎn)菜具有高效、舒適的特點(diǎn),有效地節(jié)省了人力資源,提高了服務(wù)的質(zhì)量。一個(gè)典型的點(diǎn)菜系統(tǒng)由點(diǎn)菜終端、收銀臺(tái)管理系統(tǒng)和數(shù)據(jù)調(diào)度管理系統(tǒng)組成。根據(jù)應(yīng)用場(chǎng)合的不同,目前較為流行的點(diǎn)菜終端主要分為兩種。第一種采用單片機(jī)和無(wú)線模塊實(shí)現(xiàn),成本低,但是功能和界面較為簡(jiǎn)單,通信距離也較短,使用者一般是服務(wù)員。另外一種采用商業(yè)PDA和無(wú)線網(wǎng)卡實(shí)現(xiàn),功能強(qiáng)大,界面華麗,操作方面,但成本較高,一般作為消費(fèi)者自助點(diǎn)菜的終端,應(yīng)用于中高檔酒店。

自助點(diǎn)菜終端給客戶提供每道菜肴的名稱、插圖、介紹和價(jià)格等各種相關(guān)信息,這些信息隨著菜單的變化實(shí)時(shí)更新。由于嵌入式系統(tǒng)的存儲(chǔ)空間有限,大量的圖片存儲(chǔ)和實(shí)時(shí)更新成了點(diǎn)菜終端設(shè)計(jì)的一個(gè)難題。本文給出了一種自助點(diǎn)菜終端的軟硬件實(shí)現(xiàn)方案,通過(guò)應(yīng)用層與底層軟件的分離存儲(chǔ)設(shè)計(jì),解決了大容量數(shù)據(jù)的存儲(chǔ)更新問(wèn)題,提高了批量生產(chǎn)升級(jí)效率。同時(shí),采用開(kāi)放源代碼的自由軟件開(kāi)發(fā),降低了系統(tǒng)成本。

1 系統(tǒng)結(jié)構(gòu)

終端的核心處理器采用ARM920T核的S3C2440芯片,其主頻可達(dá)到400 MHz,外接64 MB SDRAM和64 MB FLASH。終端的硬件結(jié)構(gòu)圖如圖1所示。其中,顯示接口采用8寸TFT液晶屏LQ080V3DG01,像素640×480,為用戶提供友好的電子菜單。用戶通過(guò)觸摸屏進(jìn)行各種操作。系統(tǒng)首次啟動(dòng)時(shí)進(jìn)行觸摸屏的校準(zhǔn),管理員也可以通過(guò)長(zhǎng)按校準(zhǔn)按鍵進(jìn)入校準(zhǔn)模式。SD卡存放應(yīng)用程序、相關(guān)的圖片和字體等資源,系統(tǒng)支持的最大的SD卡容量為32 GB,可以很好地滿足點(diǎn)菜終端的存儲(chǔ)容量要求。終端與服務(wù)器的各種交互數(shù)據(jù)通過(guò)無(wú)線網(wǎng)卡傳輸。

圖1 硬件結(jié)構(gòu)圖

系統(tǒng)采用C/S模式設(shè)計(jì),點(diǎn)菜終端作為客戶端,數(shù)據(jù)調(diào)度管理中心為服務(wù)器。采用開(kāi)放源代碼的各層軟件構(gòu)成終端軟件平臺(tái),節(jié)省了開(kāi)發(fā)成本,軟件結(jié)構(gòu)如圖2所示。Linux具有開(kāi)放源代碼、協(xié)議棧較完善、運(yùn)行穩(wěn)定和易于移植的優(yōu)勢(shì),在嵌入式領(lǐng)域得到了廣泛的應(yīng)用。終端以嵌入式Linux作為操作系統(tǒng),管理系統(tǒng)軟硬件資源。Linux 2.6.29是2009年3月份發(fā)布的穩(wěn)定的內(nèi)核版本。根文件系統(tǒng)采用日志結(jié)構(gòu)的文件系統(tǒng)JFFS2,用戶可以對(duì)文件進(jìn)行讀寫(xiě)操作,在意外掉電時(shí)仍然可以保持?jǐn)?shù)據(jù)的完整性,而不會(huì)丟失數(shù)據(jù)。

圖2 軟件結(jié)構(gòu)圖

2 應(yīng)用層與底層軟件分離的存儲(chǔ)管理策略

每個(gè)終端設(shè)備都有自己的配置信息(設(shè)備ID號(hào),IP地址,終端設(shè)備對(duì)應(yīng)的餐桌的位置信息等),在系統(tǒng)正常工作前必須手動(dòng)配置這些信息。一種解決的方案是,在終端安裝完首次運(yùn)行時(shí),通過(guò)觸摸屏手動(dòng)配置這些信息。然而,在批量安裝、升級(jí)或者重新規(guī)劃終端設(shè)備的布局時(shí),這種解決方式將大大降低工作效率。

本文將應(yīng)用程序以及相關(guān)的配置信息、圖片及字體資源都存放于SD卡中,實(shí)現(xiàn)應(yīng)用層軟件與其底層軟件的分離存儲(chǔ)。終端設(shè)備的系統(tǒng)目錄結(jié)構(gòu)如圖3所示,/mnt/sdcard為SD卡的掛載點(diǎn),terminal為交叉編譯產(chǎn)生的應(yīng)用程序文件。ipconfig為配置終端設(shè)備IP地址的Shell腳本,在系統(tǒng)啟動(dòng)時(shí)調(diào)用執(zhí)行。devinfo文件存儲(chǔ)設(shè)備的相關(guān)信息(餐館的名稱,包廂號(hào),餐桌號(hào)等),由應(yīng)用程序運(yùn)行時(shí)讀取。log.ini文件記錄終端軟件運(yùn)行時(shí)的各種信息(啟動(dòng)、關(guān)閉的時(shí)間,異常狀態(tài)的記錄等)。終端的固件差異僅在于SD卡中的ipconfig文件和devinfo文件,而這兩個(gè)文件可以通過(guò)上位機(jī)軟件批量生成。

圖3 文件系統(tǒng)目錄結(jié)構(gòu)

Linux啟動(dòng)時(shí)會(huì)加載啟動(dòng)配置文件/etc/initd/rcS,可以通過(guò)修改該文件使系統(tǒng)啟動(dòng)時(shí)設(shè)置系統(tǒng)IP并加載應(yīng)用程序。根據(jù)點(diǎn)菜終端的目錄結(jié)構(gòu)設(shè)置,在rcS文件后添加如下兩行:

/mnt/sdcard/ipconfig#配置終端IP

/mnt/sdcard/terminal #啟動(dòng)應(yīng)用程序

3 Nano-X的定制與移植

3.1 Nano-X介紹

Nano-X是一個(gè)著名的開(kāi)放源碼的圖形用戶接口(GUI)軟件,原名microwindows,由于和微軟的Windows注冊(cè)商標(biāo)存在沖突,從2005年1月起改名為Nano-X Window System,其目的是把圖形視窗環(huán)境引入到嵌入式平臺(tái)和小型設(shè)備上。Nano-X采用C語(yǔ)言設(shè)計(jì),有很好的可移植性,根據(jù)用戶配置,其占用的內(nèi)存資源在100~600 KB左右。Nano-X能在宿主機(jī)上仿真目標(biāo)機(jī),用戶可以在普通個(gè)人電腦上開(kāi)發(fā)和調(diào)試應(yīng)用程序,大大提高了開(kāi)發(fā)效率[10]。

3.2 Nano-X的定制

Nano-X的定制主要通過(guò)修改其源代碼根目錄下的config文件來(lái)實(shí)現(xiàn)。主要包括處理器平臺(tái)、輸入輸出平臺(tái)、圖片支持和字體支持等選項(xiàng)。

(1) 處理器平臺(tái)選項(xiàng)。Nano-X窗口系統(tǒng)支持X86,ARM,MIPS,PowerPC等多種處理器平,通過(guò)配置“ARCH=LINUX-ARM”和“ARMTOOLSPREFIX=arm-linux-”選擇ARM處理器平臺(tái)及其所使用的編譯器。

(2) 輸入輸出驅(qū)動(dòng)配置選項(xiàng),包括顯示驅(qū)動(dòng)平臺(tái),屏幕大小和觸摸屏支持,具體如下:Nano-X支持多種觸摸屏設(shè)備,點(diǎn)菜終端的觸摸屏設(shè)備為“/dev/h3600_tsraw”,對(duì)應(yīng)的Nano-X驅(qū)動(dòng)接口類型為IPAQMOUSE。修改config文件的相關(guān)配置如下:

SCREEN_WIDTH=640 #屏幕大小為640×480

SCREEN_HEIGHT =480

FRAMEBUFFER =Y #使用Linux的framebuffer作為圖形引擎

IPAQMOUSE=Y #觸摸屏驅(qū)動(dòng)類型為Compaq iPAQ

(3) 圖像支持選項(xiàng)。可支持bmp,gif,xpm,jpg,png和tiff格式的圖片解碼。如果要使用后三種格式的圖片,需要額外添加相應(yīng)的解碼庫(kù)。本系統(tǒng)的界面和菜肴的插圖均采用24位bmp格式的圖片,圖像支持選項(xiàng)配置為“HAVE_BMP_SUPPORT=Y”。

(4) 字體支持選項(xiàng)。Nano-X自身支持12×12和16×16的中文點(diǎn)陣字體,但不包含對(duì)truetype矢量字體的解碼支持,所以如果要使用其他樣式的字體,或者使用可伸縮矢量字體,需要移植freetype解碼庫(kù)程序。修改config文件的相關(guān)配置如下:

HAVE_FREETYPE_2_SUPPORT= Y#使用Freetype2解碼Truetype字體

INCFT2LIB=lib/libfreetype/include #freetype頭文件路徑

LIBFT2LIB=lib/libfreetype/lib/libfreetype.a #編譯freetype生成的靜態(tài)庫(kù)文件

HAVE_HZK_SUPPORT=Y#支持HZK點(diǎn)陣漢字

HZK_FONT_DIR=″fonts/chinese″#字體文件的存放路徑

(5) 應(yīng)用程序的編譯和運(yùn)行方式。Nano-X是基于設(shè)備無(wú)關(guān)的圖形引擎,使用Client/Server模式,客戶端程序和服務(wù)器端程序時(shí)同一個(gè)設(shè)備上的兩個(gè)不同進(jìn)程,既可以分別編譯成各自的應(yīng)用程序文件,也可以通過(guò)修改配置選項(xiàng)“LINK_APP_INTO_SERVER=Y”將客戶端程序與服務(wù)器端程序直接鏈接成一個(gè)單獨(dú)的應(yīng)用程序。本文采用后者的編譯和運(yùn)行方式。

4 通信協(xié)議

點(diǎn)菜終端與服務(wù)器之間的通信過(guò)程如圖4所示。終端首先向服務(wù)器發(fā)起會(huì)話連接請(qǐng)求,待服務(wù)器回應(yīng)后建立連接。數(shù)據(jù)交互過(guò)程中,服務(wù)器回應(yīng)終端每個(gè)數(shù)據(jù)包的接收處理狀態(tài)。兩者的通信在TCP/IP協(xié)議的基礎(chǔ)上,采用自定義傳輸層和應(yīng)用層通信協(xié)議進(jìn)行數(shù)據(jù)交互。應(yīng)用層把各種業(yè)務(wù)數(shù)據(jù)組成消息包,把一個(gè)或者多個(gè)消息包組成應(yīng)用包,并把應(yīng)用包發(fā)送給傳輸層發(fā)送,或從傳輸層接收應(yīng)用包,把應(yīng)用包拆分成消息包,并處理各消息包數(shù)據(jù)。本系統(tǒng)采用一個(gè)消息包對(duì)應(yīng)一個(gè)應(yīng)用包,不對(duì)消息包進(jìn)行組包。

圖4 系統(tǒng)通信流程

傳輸層的幀格式如圖5所示。幀標(biāo)識(shí)符包含會(huì)話建立請(qǐng)求標(biāo)志,會(huì)話結(jié)束請(qǐng)求標(biāo)志和應(yīng)用包結(jié)束標(biāo)志。

圖5 傳輸幀格式

終端對(duì)接收區(qū)數(shù)據(jù)的解釋分為服務(wù)器應(yīng)答用戶消息包,服務(wù)器應(yīng)答心跳消息包和終端軟件升級(jí)命令消息包。系統(tǒng)每隔一段時(shí)間檢測(cè)網(wǎng)絡(luò)的連接情況,文中稱該段時(shí)間為心跳間隔時(shí)間。當(dāng)終端發(fā)送心跳給服務(wù)器,服務(wù)器會(huì)回應(yīng)心跳,當(dāng)終端在一定時(shí)間內(nèi)未收到任何命令(包括心跳回應(yīng)),終端可認(rèn)為斷線,主動(dòng)斷開(kāi)連接,并根據(jù)自身的參數(shù)設(shè)置來(lái)決定是否重連。發(fā)送區(qū)由命令編碼、菜肴的類別號(hào)、索引號(hào)和數(shù)量組成,描述用戶的各種操作信息。

5 應(yīng)用程序流程

應(yīng)用程序流程如圖6所示。

圖6 軟件流程圖

6 結(jié) 語(yǔ)

電子點(diǎn)菜系統(tǒng)可以改善餐館的經(jīng)營(yíng)策略、管理效率和服務(wù)質(zhì)量,隨著信息化的發(fā)展,將得到更為廣泛的應(yīng)用,有著廣闊的前景。本文設(shè)計(jì)的自助點(diǎn)菜終端,具有通信速度快、可操作性強(qiáng)和便于維護(hù)特點(diǎn),采用開(kāi)放源代碼軟件設(shè)計(jì),使系統(tǒng)的成本降低,更具有市場(chǎng)競(jìng)爭(zhēng)力。

參考文獻(xiàn)

[1]李劍.基于Linux的嵌入式點(diǎn)菜系統(tǒng)終端[D].杭州:浙江大學(xué),2006.

[2]王琳,余震虹,李鑫,等.基于ARM的嵌入式電子點(diǎn)菜系統(tǒng)的設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2009,25(5):105-107.

[3]孫建梅,曹新.基于Qt4的嵌入式點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009,25(11):101-108.

[4]郭元穎,梁清華,郭爽.基于無(wú)線局域網(wǎng)餐飲服務(wù)點(diǎn)菜系統(tǒng)的研究[J].遼寧工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2009,29(1): 21-23,29.

[5]李忠成,高惠燕.基于nRF24E1的無(wú)線點(diǎn)菜系統(tǒng)架構(gòu)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(4):61-63.

[6]王景景.無(wú)線點(diǎn)菜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].海南大學(xué)學(xué)報(bào):自然科學(xué)版,2009,27(1):65-68,72.

[7]李振坤,藍(lán)芳華.基于PDA的無(wú)線餐飲點(diǎn)菜應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2006(2):189-190,194.

[8]代新冠,田永鵬,張超.基于S3C2440的嵌入式多媒體控制器設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù),2006,29(8):39-41.

[9]吳升艷,岳春生,胡冰.嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(6):68-71.

[10]吳明暉.基于ARM的嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用[M].北京:人民郵電出版社,2004.

主站蜘蛛池模板: 亚洲色图欧美视频| AV色爱天堂网| 日本不卡在线播放| 男女精品视频| 伊人天堂网| 永久在线精品免费视频观看| 欧美成在线视频| 日本不卡在线播放| 免费毛片在线| 亚洲日本精品一区二区| 91成人在线观看| 欧美黄色网站在线看| 久久男人资源站| 亚洲欧美日韩久久精品| 日本亚洲国产一区二区三区| 激情无码视频在线看| 中文字幕av无码不卡免费 | 欧美日韩动态图| 日韩黄色在线| 伊人久久婷婷五月综合97色| 尤物亚洲最大AV无码网站| 国产人前露出系列视频| 国产精品第5页| 日本尹人综合香蕉在线观看| 青草91视频免费观看| 国产综合色在线视频播放线视 | 国产视频久久久久| 内射人妻无套中出无码| 国产高潮流白浆视频| 欧美精品xx| 日本成人精品视频| 99精品免费在线| 福利在线免费视频| 亚洲av成人无码网站在线观看| 狠狠色综合久久狠狠色综合| 爱做久久久久久| 久久精品丝袜高跟鞋| 乱人伦视频中文字幕在线| 第九色区aⅴ天堂久久香| 白浆视频在线观看| 日韩av无码精品专区| 日本五区在线不卡精品| 中文字幕免费视频| 99国产精品一区二区| 噜噜噜久久| AV在线天堂进入| 亚洲成网站| 中文字幕在线观| 一区二区午夜| 亚洲天堂网站在线| 视频一区亚洲| 2021国产精品自产拍在线| 天堂成人在线视频| 亚洲国语自产一区第二页| 99久视频| 美女被操91视频| 免费观看成人久久网免费观看| 久久夜色精品| 成人免费视频一区| 日韩国产黄色网站| 亚洲无码91视频| 成人在线第一页| 精品无码国产一区二区三区AV| 国产精品无码AV片在线观看播放| 高清码无在线看| 免费看a毛片| 色悠久久久| 中文字幕人妻无码系列第三区| 国产一区二区三区夜色| 国产在线视频福利资源站| 99精品视频九九精品| 日韩国产无码一区| 男女精品视频| 午夜视频在线观看区二区| 无遮挡国产高潮视频免费观看| 婷婷午夜天| 国产毛片高清一级国语| 国产精品免费入口视频| 国产午夜看片| 国产午夜精品一区二区三区软件| 漂亮人妻被中出中文字幕久久| 九九九精品视频|