一款基于嵌入式Linux的触摸屏自助点菜机
扫描二维码
随时随地手机看文章
引言
随着人民生活水平的提高和生活方式的转变,餐饮业的市场急剧扩大,利润飞速增长,被称为中国的黄金产业。而电子点菜系统的应用,提高了餐馆档次和营业效率、优化了业务流程,为餐饮行业带来崭新的管理理念与服务手段。目前较为流行的点菜终端主要分为2 种模式。第一种采用单片机
单片机
单片机是单片微型计算机(Single-Chip Microcomputer)的简称,是一种将中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)采用超大规模集成电路技术集成到一块硅片上构成的微型计算机系统。 [全文]
和无线模块
无线模块
通常我们把无线数据传输模块简称作无线模块,无线模块主要采用无线信号(红外,超声波,无线射频信号等)来代替有线的方式解决生活中的数据传输问题,生活中常见的如:各种遥控器,无线上网,等等。 [全文]
实现,该模式成本低,但是功能和界面较为简单,通信距离也较短,使用者一般是服务员;另外一种采用商业PDA 和无线网卡实现,功能强大,界面华丽,操作方面,但成本较高,不利于大范围推广与应用。此外,友好的自助点菜终端要给客户提供诸如每道菜肴的名称、插图、介绍和价格等各种相关信息,这些信息需要随着菜单的变化实时更新。由于嵌入式系统的存储空间有限,大量的图片等信息存储和实时更新成为现有点菜终端设计的一个难题。
本文提出了一种新型电子点菜系统模式,该系统由自助点菜终端和网站服务器
服务器
服务器是指在网络环境下运行相应的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机,英文名称叫做Server。 [全文]
组成,自助点菜终端为全触摸屏
触摸屏
触控屏(Touch panel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。 [全文]
操作,无需点菜员参与,可完全由顾客自己完成点菜;且采用了开放源代码的自由软件开发方式,降低了系统成本。对于大量数据的存储与更新问题,本文提出构建一个服务器网站,由此解决大容量数据的存储与更新问题,提高餐饮服务批量生产与业务升级效率。顾客可通过自助点菜终端访问服务器网站自主完成菜谱查询、点菜、结账、多媒体娱乐等操作。点菜终端与服务器之间的通信基于WiFi无线网络。
1 系统概述
本文所介绍的点菜系统,分前台系统和后台系统2 部分,采用B/S 架构,前台和后台之间采用WiFi 无线通信,集无线网络通信技术与手持移动终端技术于一身。
前台手持自助点菜终端设备,无需点菜员参与,完全由顾客自己完成点菜。前台开发环境为嵌入式Linux,Qt/Embedded Linux 。后台系统平台为PC, 也可以称为整个系统的服务器,它的主要用户为餐馆的管理人员,管理员可以通过后台服务器向系统添加餐馆的新菜、修改菜价、查询历史记录等。服务器负责协调各设备的工作,对各种数据做必要的处理,及时为工作人员、管理人员提供真实、可靠的数据。后台开发环境为Windows XP, MyEclipse, SQL Server。电子点菜系统的结构如图1 所示。
[!--empirenews.page--]
2 自助点菜终端硬件设计
自助点菜终端的核心处理器采用ARM920T 核的S3C2440 芯片,其主频可达到400 MH z , 外接64 MBSDRAM 和64 MB FLASH。终端的硬件结构图如图2所示。
其中,显示接口采用8 寸TFT 液晶屏
液晶屏
液晶屏是由LED液晶为主要材料制作的显示器。而液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始被广泛应用在轻薄型的显示技术上。 [全文]
,像素640×480, 为用户提供友好的操作体验。用户通过触摸屏访问服务器网站自主完成菜谱查询、点菜、结账、多媒体娱乐等操作。该系统以无线宽带路由器
路由器
路由器是用来连接不同网络或网段的装置,它能够根据信道的情况自动选择并设定路由,以最佳路径,按前后顺序发送信号。路由器构成了 Internet的骨架。路由器的处理速度与可靠性直接影响着网络互连的速度与质量。 [全文]
作为无线AP(Access Point) 接入点,点菜终端内置无线网卡
网卡
网卡即插在主机箱内,使计算机能够与外界局域网的连接的网络接口板。比较规范的名字应为通信适配器或网络适配器或网络接口卡,网卡是人们口语化的称呼。网卡是工作在物理层的网路组件,是局域网中连接计算机和传输介质的接口。
[!--empirenews.page--]
3 自助点菜终端软件设计
自助点菜终端的软件设计主要是开发基于嵌入式Linux 系统的客户端应用程序,用以访问服务器网站。
终端软件结构如图3 所示。
该系统开发主要有3 个主要内容: 开发平台的构建、编译Qt/Embedded 库和终端应用程序的实现。
3.1 嵌入式Linux 系统开发平台的构建
搭建交叉编译环境是嵌入式开发的第一步,也是必备一步。由于一般嵌入式开发系统存储大小有限,通常需要在功能强大的PC 机上建立一个用于目标机的交叉编译环境。该系统主机开发平台选择Fedo ra 12 系统,安装交叉编译器ARMlinuxg cc 4. 3. 2 用来编译Linux 内核,安装ARM 920teabi 用来编译Qt/Embedded 库,用来支持浏览程序的开发。终端以嵌入式Linux 作为操作系统,管理系统软硬件资源。该终端采用Linux 2. 6. 29内核版本,首先移植了系统引导程序Ubo ot , 然后编译裁剪的Linux 内核,加载无线网卡等驱动,制作根文件系统。
3.2 编译Qt/embedded 库和T slib 触摸屏库
Qt/Embedded 是一个多平台的C++ 图形用户界面应用程序框架,其对象容易扩展,可移植性好,支持多个GUI平台的交互开发。Qt/Embedded 被广泛地应用于各种嵌入式产品和设备中。因此本文选择Qt/Embedded 为本系统的GUI。
Qt/embedded Linux 是为嵌入式Linux 优化过的Qt 版本。为了尽可能减少内存
内存
内存的正式叫法是内存储器,以此来与外存储器区分开。物理上它安装在计算机内部,通常安装在主板上,所以称为内存。它的作用是供暂时存储处理器需要处理的数据或处理后的结果,可见内存是计算机处理器的工作空间。它是处理器运行的程序和数据必须驻留于其中的一个临时存储区域,是计算机十分重要的部件。 [全文]
占用量,Qt/embeddedLinux 可以被重新编译以去掉那些不用的特性。
首先编译安装t slib,添加触摸屏支持: 下载,t slib1.4. tar. g z, 解压后执行配置、编译和安装命令。
然后通过/ cONfigure 开始配置Q t embedded 库,将不需要的应用去除以减小库的大小。配置完毕后,用make 命令编译,用make install 命令安装Qt / embedded Linux 到指定的目录。[!--empirenews.page--]
3.3 设计点菜终端应用程序
对于自助点菜终端应用程序的设计使用Qt Creator 规划点菜终端程序的大致界面,然后遵循Qt/Embedded 编程一般规则编写代码,主要分为浏览器核心类和主窗口类的实现,最后编译并通过NFS 进行板上测试。
浏览器核心类使用Qt 提供的QWebView 类。该类提供了常用的功能,如加载特定的URL、设置、历史记录和网页对象。它还提供包括后退、向前和重新加载在内的基本浏览功能。
例如,以下代码实例化用于显示网页并与其互动的QWebView 类,指示QWebView 加载URL 并显示,这样就得到可与网站互动的基本窗口。
QWebView* WRTWidgetWindow : : createWebView ( )
QWebView * v iew = new QWebView ( this) ;
view> load ( QUr l( " http: / / 192. 168. 1. 100: 8080/ lo g in.
jsp" ) ) ;
return view;
}
4 服务器网站开发该系统
利用普通的PC 机和Windows XP 作为网站服务器,数据库使用SQL Server 2005, Web 服务器使用Tomcat 6. 0。在MyEclipse 环境下开发完成了JSP 网站,网站实现了如图4 所示功能。
5 结语
本文设计的自助点菜终端,具有价格低廉,操作简单,界面友好等特点,采用开放源代码软件设计,使系统的成本降低,更具有市场竞争力;点菜终端通过WLAN以B/S 模式与服务器交互,降低了客户端的设计难度,解决了大容量数据的存储与更新问题。经实验测试验证,该系统所有功能模块都能正常运行,达到了预期效果,能够满足一般餐饮企业的实际要求。自助点菜系统使餐饮企业改善了餐馆的经营策略、管理效率和服务质量。随着信息化的发展,将得到更为广泛的应用,有着广阔的前景。