大泽

基于嵌入式Linux的自助点菜终端设计

0
阅读(1972)

0 引言
随着人民生活水平的提高和生活方式的转变,餐饮业的市场急剧扩大,利润飞速增长,被称为中国的黄金产业。而电子点菜系统的应用,提高了餐馆档次和营业效率、优化了业务流程,为餐饮行业带来崭新的管理理念与服务手段。目前较为流行的点菜终端主要分为2种模式。第一种采用单片机和无线模块实现,该模式成本低,但是功能和界面较为简单,通信距离也较短,使用者一般是服务员;另外一种采用商业PDA和无线网卡实现,功能强大,界面华丽,操作方面,但成本较高,不利于大范围推广与应用。此外,友好的自助点菜终端要给客户提供诸如每道菜肴的名称、插图、介绍和价格等各种相关信息,这些信息需要随着菜单的变化实时更新。由于嵌入式系统的存储空间有限,大量的图片等信息存储和实时更新成为现有点菜终端设计的一个难题。
本文提出了一种新型电子点菜系统模式,该系统由自助点菜终端和网站服务器组成,自助点菜终端为全触摸屏操作,无需点菜员参与,可完全由顾客自己完成点菜;且采用了开放源代码的自由软件开发方式,降低了系统成本。对于大量数据的存储与更新问题,本文提出构建一个服务器网站,由此解决大容量数据的存储与更新问题,提高餐饮服务批量生产与业务升级效率。顾客可通过自助点菜终端访问服务器网站自主完成菜谱查询、点菜、结账、多媒体娱乐等操作。点菜终端与服务器之间的通信基于WiFi无线网络。

1 系统概述
本文所介绍的点菜系统,分前台系统和后台系统2部分,采用B/S架构,前台和后台之间采用WiFi无线通信,集无线网络通信技术与手持移动终端技术于一身。
前台手持自助点菜终端设备,无需点菜员参与,完全由顾客自己完成点菜。前台开发环境为嵌入式Linux,Qt/Embedded Linux。后台系统平台为PC,也可以称为整个系统的服务器,它的主要用户为餐馆的管理人员,管理员可以通过后台服务器向系统添加餐馆的新菜、修改菜价、查询历史记录等。服务器负责协调各设备的工作,对各种数据做必要的处理,及时为工作人员、管理人员提供真实、可靠的数据。后台开发环境为Windows XP,MyEclipse,SQL Server。电子点菜系统的结构如图1所示。


2 自助点菜终端硬件设计
自助点菜终端的核心处理器采用ARM920T核的S3C2440芯片,其主频可达到400 MHz,外接64 MBSDRAM和64 MB FLASH。终端的硬件结构图如图2所示。其中,显示接口采用8寸TFT液晶屏,像素640×480,为用户提供友好的操作体验。用户通过触摸屏访问服务器网站自主完成菜谱查询、点菜、结账、多媒体娱乐等操作。该系统以无线宽带路由器作为无线AP(AccessPoint)接入点,点菜终端内置无线网卡,在内核支持、驱动程序的配合下,客户终端便能够接入无线网络,连接到远端服务器,访问网站。


3 自助点菜终端软件设计
自助点菜终端的软件设计主要是开发基于嵌入式Linux系统的客户端应用程序,用以访问服务器网站。终端软件结构如图3所示。该系统开发主要有3个主要内容:开发平台的构建、编译Qt/Embedded库和终端应用程序的实现。


3.1 嵌入式Linux系统开发平台的构建
搭建交叉编译环境是嵌入式开发的第一步,也是必备一步。由于一般嵌入式开发系统存储大小有限,通常需要在功能强大的PC机上建立一个用于目标机的交叉编译环境。该系统主机开发平台选择Fedora 12系统,安装交叉编译器ARM-linuX-gcc 4.3.2用来编译Linux内核,安装ARM 920t-eabi用来编译Qt/Embedded库,用来支持浏览程序的开发。终端以嵌入式Linux作为操作系统,管理系统软硬件资源。该终端采用Linux 2.6.29内核版本,首先移植了系统引导程序U-boot,然后编译裁剪的Linux内核,加载无线网卡等驱动,制作根文件系统。
3.2 编译Qt/embedded库和Tslib触摸屏库
Qt/Embedded是一个多平台的C++图形用户界面应用程序框架,其对象容易扩展,可移植性好,支持多个GUI平台的交互开发。Qt/Emb-edded被广泛地应用于各种嵌入式产品和设备中。因此本文选择Qt/Embedded为本系统的GUI。
Qt/embedded Linux是为嵌入式Linux优化过的Qt版本。为了尽可能减少内存占用量,Qt/embeddedLinux可以被重新编译以去掉那些不用的特性。
首先编译安装tslib,添加触摸屏支持:下载,tslibl.4.tar.gz,解压后执行配置、编译和安装命令。
然后通过./configure开始配置Qt embedded库,将不需要的应用去除以减小库的大小。配置完毕后,用make命令编译,用makeinstall命令安装Qt/embedded Linux到指定的目录。
3.3 设计点菜终端应用程序
对于自助点菜终端应用程序的设计使用Qt Creator规划点菜终端程序的大致界面,然后遵循Qt/Embedded编程一般规则编写代码,主要分为浏览器核心类和主窗口类的实现,最后编译并通过NFS进行板上测试。
浏览器核心类使用Qt提供的QWebView类。该类提供了常用的功能,如加载特定的URL、设置、历史记录和网页对象。它还提供包括后退、向前和重新加载在内的基本浏览功能。
例如,以下代码实例化用于显示网页并与其互动的QWebView类,指示QWebView加载URL并显示,这样就得到可与网站互动的基本窗口。


4 服务器网站开发
该系统利用普通的PC机和Windows XP作为网站服务器,数据库使用SQL Server 2005,Web服务器使用Tomcat 6.0。在MyEclipse环境下开发完成了JSP网站,网站实现了如图4所示功能。


5 结语
本文设计的自助点菜终端,具有价格低廉,操作简单,界面友好等特点,采用开放源代码软件设计,使系统的成本降低,更具有市场竞争力;点菜终端通过WLAN以B/S模式与服务器交互,降低了客户端的设计难度,解决了大容量数据的存储与更新问题。经实验测试验证,该系统所有功能模块都能正常运行,达到了预期效果,能够满足一般餐饮企业的实际要求。自助点菜系统使餐饮企业改善了餐馆的经营策略、管理效率和服务质量。随着信息化的发展,将得到更为广泛的应用,有着广阔的前景。