当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于嵌入式Linux的自助点菜终端设计

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库和终端应用程序的实现。

[!--empirenews.page--]


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模式与服务器交互,降低了客户端的设计难度,解决了大容量数据的存储与更新问题。经实验测试验证,该系统所有功能模块都能正常运行,达到了预期效果,能够满足一般餐饮企业的实际要求。自助点菜系统使餐饮企业改善了餐馆的经营策略、管理效率和服务质量。随着信息化的发展,将得到更为广泛的应用,有着广阔的前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭