1、1嵌入式无线点菜系统的实现摘要:随着经济发展脚步的加快,餐饮信息化技术也走进了企业,而无线点菜系统是餐饮企业实现信息化改造、提升管理水平、提高运作效率的重要手段。当前市场上的手持无线终端,大多数看起来就像是个手机,而且只能显示字符界面,虽说有预约,订餐等功能,但是它的可操作性和美观性还是不能很好的体现出“无线点菜系统”的价值;而本文介绍的一种手持点菜系统,基于嵌入式 linux,采用高清显示屏,图形化界面,外加稳定的无线网络和功能强大的后台数据库处理,是信息化时代电子产品和传统餐厅行业完美的结合。 关键词:无线点菜 数据传输 XML 嵌入式 0 引言 21 世纪,餐饮业已经发展成为我国的黄金产
2、业,在国民生产生活中扮演重要角色。开发一种更便捷有效应用的餐厅点菜系统,提供更加快速、便捷、透明、卫生的餐饮条件。这对餐饮企业提高服务质量、管理效率而占据市场份额富有积极意义,同时也为自身研究学习嵌入式系统和 GUI 应用开发提供一个良好的平台。 本文通过研究餐厅点菜系统的解决方案,以当代广泛应用 IEEE802.1 1b 无线 WLAN 技术为基础,利用 ARM9 开发板,配合无线路由器和无线网卡组成系统的点菜终端机,通过制定的无线通信协议连接到后台服务器,并在后台服务器上构建数据库,处理和管理餐厅信息数据。 2通过考察现有的电子点菜系统的解决方案,综合应用 WLAN、嵌入式Linux 和
3、Qt 开发等技术,以程序软件的通用性和易用性为方向,构造能够方便应用到各种 PDA 系统的点菜终端程序和普通 PC 机的服务器软件,实现高效,便捷的无线点菜系统。 1 基本思想 需求模型:一般无线点菜系统的需求模型如右图: 在点菜系统中包含三个部分:终端:点菜终端用于向客户显示就餐前后所有的数据信息,包括开台前餐厅客桌使用情况,向服务器端发送开台信息,点菜过程中查看菜谱,查看某道菜的详细信息,点菜,加菜,退菜,查看自己的菜谱,结账等功能。手持终端最好是图形化显示的界面,这样就餐者不通过餐厅服务员,就能够方便快捷的完成自己的就餐过程。后台数据库服务器:后台服务器上的数据库,用于存储餐厅业务中的各
4、类数据,如:当前餐厅所有客桌的使用情况,菜谱,每道菜的详细信息(包括菜名,菜价,菜的营养成分,客户好评,菜图片等) ,客户订单及每个订单中的信息(包括用户信息,用户订单中所包含的各个菜品,总结等) 。后台数据库中的信息应该可以随时更新菜谱,删除客户不喜欢的菜品,更改菜的价格等。而以上的更改应该在不影响前台手持终端的各项业务的情况下完成。无线网络系统:无线网络系统,用于为前台手持终端和后台数据库提供数据传输媒介。该无线网络系统应该稳定可靠,最好是餐厅私有的无线局域网系统,因为如果是第三方网络的话,如移动或电信网络,会牵扯到收费问题,不利于餐厅的效益。而且如果第三方网络不稳定的话,会影响到餐厅业务
5、的正常运转,而这3个故障是不允许出现的。除此之外,该无线局域网络系统还应该有加密功能,防止前台手持终端或后台数据库接收到餐厅之外的其他数据。 2 基本设计 2.1 基本流程:就餐者进入餐厅后,使用手持终端进行开台,查询菜谱,点菜,加菜,结账等业务。而手持终端里边的菜谱,菜单信息,订单信息以及结账金额都必须通过无线网络传输给后台服务器,并用后台服务器做统一处理后再将菜单及菜谱内容发送给点菜终端。 由此可以看出,整体设计需分为软件,硬件两个部分,硬件部分用于安装点菜终端界面和后台的数据库服务器。而软件部分用于制作点菜终端的显示界面和无线数据传输首创终端结构图。 硬件使用 ARM9 配有 320*2
6、40 的 LCD 显示屏,可以作为手持终端的显示界面,同时该 LCD 显示屏支持触摸操作,方便客户进行点菜操作。 后台数据库使用 Mysql。Mysql 数据库小巧易用,适合作为本课题的后台数据库。Mysql 数据库安装在配有 Ubuntu10.04 镜像的 x86 主机上,作为餐厅无线点菜系统的后台服务器。在 Mysql 中生成 menubase 数据库,并创建 Desk,MenuInfo,Order_Form,Order_Item 四张表,用于存储餐厅点菜系统的所有相关数据,在这几张表做更新的时候,禁止前台手持终端访问数据库。这样可以避免前台手持终端和后台 Mysql 数据库中的数据不匹配
7、问题。 无线局域网络系统由无线路由器和 RT2870 无线网卡组成。RT2870 无线网卡,传输距离超过 150 米。 2.2 通信方式:Socket 用于在两个基于 TCP/IP 协议的应用程序之间4相互通信。最早出现在 unix 系统中,是 unix 系统主要的信息传递方式。在 windows 系统中 Socket 称为 winsock。所以本系统手持终端作为client,服务器作为 server,其基本通信模型为: 使用 socket 做数据传输的过程中,因为客户端和服务器端每次传输的数以及数据格式以及数据长度都不统一,因此不能是简单的空格或者字符作为传输数据的格式划分,此时,XML 的
8、功能恰好能解决自定义数据格式的问题,他为自定义数据的每个数据成员生成一个特定的节点,节点的标题可以自己设置,而 XML 的 parser 函数又可以将*.XML 文件解析成可用的数据,供程序的前后台使用。 使用 XML 所生成的文件,实际的存储格式类似于一颗多叉树,有它对应的头节点和父子节点指针,方便编程时动态的生成 XML 文本以及遍历各个节点。 XML 文件结构举例: 5 1001 . 实现效果:通过使用分析的模型,对手持终端进行开发以及建立相应的服务器和后台代码的开发,经过调试最终版本运行结果如下列图组所示: 5 3 总结 手持终端采用 LCD 显示器,可以显示图片,视频格式,美观,实效
9、,支持点击操作,及可见即可得的操作过程。整个架构基于局域网,为整个系统提供稳定的信息传输平台,避免使用其他供应商,如:移动等厂家的网络,降低这个系统的成本价值,方便各大,中,小型餐厅使用。传输模块基于无线网卡和无线路由器;无线网卡支持的传输距离为一百米到一百五十米的范围,可以很好的支持楼层之间的信息传输;后台基于数据库操作,方便菜品信息的增,删,改,查等操作,并可以及时的向顾客展示本餐厅当前的特价菜,招牌菜,各个厨师的拿手菜等。参考文献: 1甘刚.Linux/UNIX 网络编程M.北京:中国水利水电出版社,2008. 2周立功.LPC3250&Linux2.6 实验指导M.北京:北京航空航天大学出版社. 3美数据结构与 STLM.北京:机械工业出版社,2004. 4董永清.Linux C 编程实战M.北京:人民邮电出版社,2008.