基于ARM的无线餐厅点菜系统

2020-09-05 08:29杨哲
科学导报·学术 2020年80期

杨哲

【摘 要】随着科学技术的快速发展,嵌入式技术开始在各个行业和领域中应用起来,例如农业生产活动、环境工程、水质监测管理以及餐厅点菜等不同的领域。其中和人们日常生活联系最为紧密的就是餐厅点菜系统。因此本文在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月出版.