楊哲



【摘 要】隨著科學技術的快速發展,嵌入式技術開始在各個行業和領域中應用起來,例如農業生產活動、環境工程、水質監測管理以及餐廳點菜等不同的領域。其中和人們日常生活聯系最為緊密的就是餐廳點菜系統。因此本文在ARM的基礎上對無線餐廳點菜系統進行了分析和討論,對系統的設計、嵌入式系統的移植與實現等進行了分析,希望通過本文的研究來實現手持終端點菜和服務器端確認菜單的功能。
【關鍵詞】ARM;無線餐廳;點菜系統
Abstract:With the rapid development of science and technology,embedded technology began to be applied in various industries and fields,such as agricultural production activities,environmental engineering,water quality monitoring management and restaurant order and other different fields,which is the most closely related to People's Daily life is the restaurant order system Therefore,this paper analyzes and discusses the wireless restaurant order system on the basis of ARM,analyzes the design of the system,the transplantation and implementation of the embedded system,and hopes to realize the function of handheld terminal order and server confirmation menu through the research of this paper.
Keywords:ARM Wireless restaurant Order system
前言
隨著嵌入式技術在計算機科學技術領域的快速發展,嵌入式芯片的種類和作用越來越多,但是其體積在不斷的縮小,功能在不斷的增強,耗能也在不斷的降低。各種嵌入式操作系統的穩定性越來越高,可以在更多的硬件設備中應用起來。嵌入式開發軟件也越來越多,功能也越來越齊全,滿足了社會中各個領域和行業的需求。而本文中所研究的ARM的無線餐廳點餐系統就是在嵌入式技術發展的前提下設計實現的,嵌入式無線餐廳點餐系統不僅可以幫助餐廳節約了成本,吸引了消費者,同時還大大的提高了服務質量,對餐廳的品牌形象進行了塑造,充分的滿足了消費者的消費心理。
一、相關技術介紹
(一)ARM介紹
ARM技術的全稱是進階精簡指令集機器,是一個32位的精簡指令集的處理器結構,也會有16位的指令集。最早是由ACORM公司推出的。一般情況下,在ARM處理器中有37個寄存器,其中有31個是通用寄存器,6個是狀態寄存器,通用寄存器主要有程序計數器組成,狀態寄存器主要是用于標識CPU和程序的狀態。其應用范圍非常廣,根據相關資料顯示,在很多移動設備市場中ARM處理器所占的比重非常高,其被應用在無線通訊、網絡應用、工業控制和電子產品中。因此可以說,ARM技術在未來的市場發展中有著非常廣泛的空間和價值。
(二)無線餐廳點菜系統介紹
無限餐廳點菜系統,主要是通過客人點菜形成的初步菜單,之后通過無線途徑來把菜單的相關信息通發送到后廚。無線餐廳點菜系統的出現可以在很大的程度上方便點菜、加菜、退菜和結賬服務,不僅節約了人工的成本,同時還提高了餐廳的服務質量和工作效率,有著非常廣闊的研究價值和意義。而無線餐廳點菜系統的實現其中最為明顯的就是應用了嵌入式系統和相關的設備。
而嵌入式系統的主要特點包括:1)使用了專用的計算機系統;2)嵌入式系統對環境有一定的要求;3)嵌入式系統有著比較長的生命周期和實時性、可靠性;4)嵌入式系統可以實現軟件代碼的固化;5)嵌入式系統需要滿足于對象系統的控制需求并且還需要有專業的開發工具和方法才可以實現其功能和價值[1]。
二、無線餐廳點菜系統設計
(一)系統功能性需求分析
在本文研究的無線餐廳點菜系統中主要包括了點菜系統和后臺管理系統兩個子系統。其中點菜系統的主要作用包括了客戶所點的菜單信息的呈現、用戶點菜和后期的自動結賬;而后臺管理系統包括了原材料信息、菜品的信息管理和員工消費者信息的管理、以及餐廳營業情況的統計分析等功能[2]。
第一,菜單、桌臺、拼音碼;無線點菜系統在使用之前需要下載相應的菜單和桌臺信息以及拼音輸入法。在設備的開機界面通過功能鍵來下載所需要的相關信息,在下載成功之后,系統會提示通訊成功。
第二,點餐;在開臺成功之后,系統會跳轉到點餐界面,這時可以進行點餐;這時候界面會進入到餐廳菜譜信息界面,里面包括了菜品的名稱、材料、配料和價位,以及選擇按鈕,客戶只需要點擊菜品后面的選擇按鈕,系統就會彈出來菜品相關的功能選擇,如口味的調整、配料的選擇等等;之后再輸入菜品的數量,點擊“加入”菜品就會進入到系統相應桌臺好的儲備庫中,之后客戶再進行其他菜品的點餐;最后在點餐完畢之后,點擊界面最下方的點餐,菜單信息就會進入到后臺系統管理中。
第三,修改菜品數量和信息;在還沒有點擊點餐的菜品是可以隨時進行修改的,如選中所要編輯的菜品,通過上下鍵來更改菜品的數量和信息,在確定之后按下確定按鈕,就可以完成菜品的修改。
第四,申請結賬;在功能界面下方選擇申請結賬選項,客戶手中的手持終端設備會把申請結賬的命令發送到吧臺服務器中,吧臺服務器中會自動彈出相關桌臺申請結賬的請求,在吧臺人員進行信息核對之后會向終端設備上發送用餐價格的詳單,在客戶確認無誤之后,點擊確認進入到結算系統中,這時候客戶可以選擇結賬的方式,并進行賬務的結算工作[3]。
第五,評價;在申請結賬完畢之后,系統會進入到服務評價環節,客戶可以對餐廳的服務質量,菜品質量等等來進行評價;在評價系統中可以設置多種評價模式,一般情況下很多餐廳設置的是兩種評價模式,一種是餐廳列出評價內容,客戶只需要進行滿意、不滿意的選擇就可以;另外一種是客戶自行評價模式,客戶可以通過系統中的手寫面板來對餐廳的服務情況進行針對性和評價,在評價結束之后,系統會把客戶的評價信息發送到后臺的管理系統中。
(二)系統非功能性需求分析
第一,一般非功能性需求分析;非功能性需求分析,主要指的是除了系統的特定的功能之外的,實現系統運行的必要的需求。對于無線餐廳無線點菜系統來說,一般分功能性需求包括了以下幾個內容;(1)可用性;此部分主要是指點菜系統和用戶發生直接性的交互關系,并且用戶的文化程度和理解能力存在著很大的不同和差異,所以,可用性需要便于不同的客戶進行操作,具有很好的理解性,可以直接對客戶的心理需求進行反應,還可以讓客戶更好的進行操作。(2)實時性;主要是指無線點餐系統中,根據用戶的實際需求來實現其一定的時效性,所以需要對各種信息實現及時、有效、精準的傳遞和反饋。時效性的實現是為了提高無線點餐系統服務的質量和使用價值。(3)可靠性;因為很多餐廳的客流量非常大,所以,無線點餐系統需要對很多不同的、復雜的信息進行處理,并且還要保障這些信息系統的準確性和正確性,保障無線點餐系統中各種信息數據的準確、安全可靠。
第二,系統安全性需求分析;無線餐廳點菜系統中的系統安全性需求包括了機密性、完整性和穩定性。其中機密性主要是指系統需要對不同客戶的基本信息設置權限設置,涉及到一些高機密性的數據信息只能有級別達到標準的管理人員才可以進行查閱和獲取,通過設置不同的等級的機密程度信息來保護餐廳數據信息的安全。完整性,主要指的是為了防止其被非法修改,對一些系統性的數據進行備份和調整。在特定的時間內由系統進行備份,并對權限進行設置。穩定性;穩定性主要是指系統在無線點餐系統運行的過程中,要對系統運行中的各種數據的安全性進行保障。同時,還要確保用戶可以隨時對各項數據庫進行訪問和數據處理,對系統中出現的各種問題進行系統保障,確保系統可以正常的運行。
在無線點菜系統的功能性需求和非功能性需求中,根據功能特點來進行詳細的系統分析,為接下來的系統實現充分的準備。
(三)系統軟件的總體結構
在無線餐廳的點菜系統中主要是通過LCD模塊中的圖形界面來進行用戶點餐信息的收集的,無線收發模塊把用戶點餐后的信息通過發送器發送到后臺的管理系統中。而這個過程起到的是數據轉換的作用。通過無線路由器形成的無線局域網和后臺管理的服務器終端進行數據的通信。而ARM中軟件的獲得過程是在整個系統中得到的,之后通過已經設定的文件系統來進行應用軟件的開發,再進行編譯程序后下載到ARM開發板上運行。通過開發板的運行來實現客戶的點菜、加菜、退菜、選擇、結賬申請等,并在完成這一系列的功能后,再通過無線模塊中的TCP/IP協議把數據進行轉換,并傳輸給后堂的服務終端上。
(四)交叉編譯環境的形成
在嵌入式系統中進行代碼的編寫,之后實現運行,這個難度系數是比較大的,但是通過交叉編譯就可以徹底解決這一問題[4]。交叉編譯主要是在編程計算機上安裝一個虛擬機,在虛擬機內安裝一個可以使用的嵌入式開發板,而開發板中要有一個操作系統,并在這個系統中進行代碼的編寫,之后通過交叉編譯設備來把所編寫的代碼轉換成可以在嵌入式開發板上直接運行的二進制代碼,之后通過相應的傳輸工具來把所有的二進制代碼傳送到嵌入式開發板的文件系統中,就可實現交叉編譯環境的形成。
三、嵌入式系統的移植與實現
(一)BootLoader的移植
一般情況下U-boot的啟動需要兩個步驟;第一步是把各種不同的硬件設備進行初始化,為下一個階段配備足夠的RAM空間,并對相應的信息進行保存,構建相應的空間設置;第二步是在第一步的基礎上添加操作系統的內核和根文件系統設置,一般情況下對此部分內容的設計使用的是C語言,主要是因為C語言具有讀性和移植性。
(二)嵌入式Linux內核的移植
嵌入式Linux系統的關鍵性軟件是內核,而內核的移植是一個非常復雜的過程,同時也是在ARM基礎上的嵌入式開發過程中非常重要,非常復雜的一項工作任務。內核移植的過程包括了內核的配置、內核的下載和內核的編譯等等[5]。其中內核的配置包括;1)對Makefile修改是對根目錄下的Makefile中交叉編譯器的版本和所要使用的體系結構進行修改;2)設置NAND Flash分區,主要是構建一個Flash的分區表,對內存空間和每個分區的起始地址和空間大小進行劃分;3)配置內核選項;主要是根據使用的開發板的配置文件來進行相應的配置。
內核編譯包括了;1)對多余的文件進行清除;在進入到根目錄之后,對之前編譯過殘余的.config和.o文件進行清理;2)對內核映像和模塊進行編譯;make zlmage編譯生成gzip壓縮形式的image;3)安裝模塊;make modules install;在默認的系統中模塊被會被安裝到/lib/modules目錄之下;
內核下載首先需要在所要開發的計算機中建立起一個tftp服務,之后通過超級終端或者是DNW工具來啟動目標板。
(三)文件系統移植和實現
文件系統的主要功能是文件存放在存儲設備上的組織方法。主要體現在對文件和目錄的組織管理上,UNIX系統中,文件系統是最為基本的資源和信息。在內核和文件系統之間,一般情況下會形成一個標準的接口,以此來對不同文件結構之間的數據交換[6]。而在作根文件的主要系統包括了;1)建立起lu設備的臨時掛節點;2)建立起一個大小為15MB的臨時性文件;3)連接設備和臨時性文件;4)把/dev/lu0進行格式化位ext2文件系統;5)把虛擬盤掛載在節點上;6)通過cp命令來把所需要的文件復制到虛擬盤中;7)卸載原來的文件系統,從而形成文件系統映像;8)壓縮文件系統映像。
(四)文件系統移植和實現
服務器端與無線點菜機之間的無線通信,只需在餐廳的管理系統軟件中設置串口參數即可。串口通信數據的結構如下。
具體操作流程如圖2所示。
(五)數據庫設計
根據點餐業務的需求,系統中涉及五個實體,分別是顧客、餐桌、訂單、菜品和點菜清單。
3 表設計
結語
基于ARM的開發,很多便捷式的電子設備開始應用到人們的生活和工作中,為人們提供了很大的便利。而在本文的研究中主要是對基于ARM的無線餐廳點菜系統進行了分析和研究,這個系統看似比較簡單,但是此系統的開發和應用是在ARM基礎上實現的,和其他具體的軟件代碼的開發是有很大的差別的,無線餐廳點菜系統雖然比較小,但是其所需要的代碼的復雜性卻非常高。而通過本文的研究,不僅可以對無線餐廳點菜系統的完善提供一些參考建議,同時從另外一個方面上來講,還可以幫助我國餐飲行業快速的進入到信息化進程中,推動餐飲管理的快速發展。
參考文獻:
[1]李柏言.基于ARM的智能餐廳服務機器人[J].科技與創新,2019(22):20-23+28.
[2]范長青.智能點菜系統設計開發與應用[J].微型電腦應用,2019,35(06):147-149.
[3]陸政.基于ARM的無線餐廳點菜系統[J].電腦知識與技術,2016,12(29):273-275.
[4]王寧,于源.基于ARM9的點菜系統設計分析[J].商,2015(36):217.
[5]曹天麟,劉忠富,龔建穎,金健男,王昊,程陽小都.基于RFID的餐廳無線點菜系統的研究[J].山西電子技術,2015(03):79-81.
[6]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社2003年2月出版.