版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的智能餐饮服务器的设计与研究- i -摘 要如今,随着科技的发展,餐饮企业依托科技的进步更全面、周到、便捷地为广大消费者服务,同时实现企业自身的快速发展。自助式手持餐饮终端就是在科技进步的大背景下产生并迅速发展起来的,其利用先进的无线通信技术、嵌入式手持终端技术、嵌入式移动数据库和远程监控等技术,满足了广大顾客方便、自主、放心的用餐需求。本文提出了自助式手持餐饮终端的设计理念、体系结构,同时设计了更具人性化的功能模块。文章对手持终端的软硬件环境进行了深入的探讨,其中,硬件环境包括:pxa270 lcd显示模块、触摸屏模块、cf卡无线通信模块等;软件环境包括:荃于pxa270平台的嵌入
2、式linux操作系统移植、基于嵌入式linux的qt和qtopia的相关软件开发、基于windows操作系统iis服务点菜数据库的开发、基于嵌入式linux操作系统web server服务功能的软件开发和linux操作系统下apache服务器端视频监控的功能开发。在软件具体开发中,首先将嵌入式linux操作系统移植到pxa270开发板上;然后基于嵌入式linux操作系统,进行嵌入式qt以及qtopia图形界面移植:对服务器端数据库进行模块化设计,并具体实现菜单显示、分类查询、点菜、帐单显示及数据打印等功能。本设计与市场上现有的手持餐饮终端不同的是,对手持终端的功能进行了扩展,实现了手持终端we
3、b服务器,厨师们即可通过访问客户手持终端的菜单来制作菜品。另外,本设计还开发了手持餐饮终端的远程监控功能,使顾客在用餐区也能看到厨房中菜品的现场制作过程,从而放心的用餐。本设计对基于嵌入式linux操作系统进行终端开发,具有一定的借鉴指导意义,对自助式餐饮业具有商业实用价值。同时,作为一款手持式产品,可以随身携带,可以使用于多种支持无线上网的场合,具有一定的市场应用前景和商业实用价值。关键词: pxa270; 802.11b; web server;视频监控;jpeg沈阳工程学院毕业设计(论文)- ii -abstractwith the science and technology deve
4、loped, nowadays, the food and beverageindustry facilitate the customer and promote the enterprise depending on theachievement of science and technology. dining terminal has been developed in thisbackground, which use advanced wireless communications technology, embeddedhandheld terminal technology,
5、embedded mobile database, and remote moniteringand controling technology. that makes the customer more convenient,self-determined and reassuring meals.in this paper,meidea, system architecture, and functions of a self-servicerestaurant terminal has been put forward. the hardware and software environ
6、mentof the handheld terminal are deeply discussed: the hardware includes pxa270lcd display module, touchscreen module, cf card wireless communicationsmodule, etc. and the software includes the transplantion of the embedded linuxoperating system on pxa270 platform, the transplantion of the qt and qto
7、pia inembedded linux, the development of database in is of windows, the developmentof the functions software of web server and monitoring and controling of theapache.first, embedded linux operating system has been transplanted to pxa270board. second, the embedded qt and qtopia software have been dev
8、eloped in theembedded linux operation system. basing on the analysis of the server databasemodules, the functions of display menu, categories searching, orders, bil, and dataprinting have been realized. compared with the existing handheld terminal。market, the design is diferent of extend the functio
9、ns including the web server.the chef can cook by visiting customers handheld terminal for order. in addition,this system provided remote monitoring function, which has the customersimultaneously see the cook process to reassuring meals.the design has reference and pratical value to embedded systemsd
10、evelopment in the embedded linux operting system environment. meanwhile, ithas a market prospects and practical value, since it is portable and be used tosupport a variety of wireless internet occasions.keywords: pxa270; web server; video frequency monitoring; jpeg基于单片机的智能餐饮服务器的设计与研究- iii -目 录摘 要.ia
11、bstract.ii目 录.iii第 1 章 绪论.11.1 引言.11.2 本设计研究的背景和意义.11.3 论文实现的目标.2第 2 章 自助式手持餐饮终端整体设计.32.1 设计需求资源分析.32.2 自助式餐饮终端整体体系结构设计.32.3 自助式手持餐饮终端软件结构设计.5第 3 章 自助式手持餐饮终端软硬件环境的建立.73.1 硬件环境.73.2 软件开发平台的建立.73.2.1 嵌入式 linux 操作系统的定制.73.2.2 qt/embedded 及 qtopla 桌面环境的建立.83.2.3 嵌入式 konqueror 浏览器的分析.8第 4 章 持餐饮终端与数据库服务器的
12、无线通信.114.1 概论.114.2 无线网卡的驱动分析和设计.114.2.1 pcmcia 系统结构.114.2.2 socket driver 的实现.124.2.3 pcmcia 驱动的实现.134.2.4 pcmcia 接口 cf 卡的配置使用.144.3 数据库服务器的建立.154.3.1 数据库服务器端整体功能分析.154.3.2 前台模块设计.164.3.3 后台模块设计.194.4 自助式手持餐饮终端与系统数据库服务器之间的通信.21结 论.23致 谢.24参考文献.25附 录.26基于单片机的智能餐饮服务器的设计与研究- 1 -第 1 章 绪论1.1 引言随着人民生活水平和
13、生活方式的转变,餐饮业具有巨大的投资市场,被称为中国的黄金产业。自助式餐饮的目的就是利用先进的无线通信技术、嵌入式手持终端技术、嵌入式移动数据库和无线监控等技术,为餐饮业走向全面数字化提供了完整的解决方案。自助式手持餐饮终端操作简便,利用网络可以实时显示当天菜品情况、点菜单状况等情况;实现了自动结账、避免人为错误和跑单现象;我们对手持终端的功能进行了扩展实现了手持终端web服务器,厨师们即可通过访问客户手持终端的菜单来制作菜品。更重要的是手持餐饮终端还实现了远程监控功能,使客户在点菜的同时看到菜品的制作过程,从而放心的用餐。自助式手持餐饮终端的实现为餐饮行业带来崭新的管理理念与服务手段,能够提
14、高餐馆档次,同时优化业务流程,提高效率、精简人手,为客户提供更好的服务,实现企业价值最大化同时又使成本最低化,是餐饮行业向信息化发展的一个重要标志。本文将介绍有关自助式餐饮终端的相关理论及技术。自助式餐饮终端是一套全新打造的集人性化服务、自动化管理、方便等特点于一身的无线餐饮信息化终端。自助式手持餐饮终端以先进的技术手段,充分体现了无线餐饮管理的实时性、服务的新颖性和高效性特点,使餐饮企业能更周全、迅速的为客户提供服务,让应用本终端的餐饮企业以独特的经营模式和管理特色在同类企业中独树一帜。1.2 本设计研究的背景和意义在我们的生活中,随处可见很多的手持嵌入式设备,在电子商务领域,也出现了很多具
15、有名片存储、记事提醒、电话簿查询等常用功能的手持嵌入式设备。但是,他们基本上只是作为目前pda的多个子功能,而没有实现将几个功能有机结合起来整合为一个较为综合的应用。而如果能够在pda上整合无线上网、web浏览、数据查询以及实时监控功能,实现通过无线移动网络访问远端数据库服务器中的数据文件和利用摄像头实时监控的技术,应用前景将十分广泛。例如,采用此技术,可以开发出手持式城市公交路线查询设备:手持式公路,铁路,航空查询定票设备:手持式全国各城市酒店宾馆预定设备;手持式企事业单位人事档案管理查询设备;手持自助式餐饮系统终端设备:手持式股票查询设备等等一系列终端设备,而这些设备的最大的优点,在于:1
16、.设备的便携性,可以随身携带。2.因为数据文件存放在数据库服务器端,因此,只要维护好服务器端数据文件,终端设备就可以随时获取最新的数据资料,做到信息的随时更新。3.手持设备上的web服务器功能,实现了手持设备和其它设备之间数据交流。4.实时监控功能的扩展使手持设备在任何时间空间都可以实时监控。沈阳工程学院毕业设计(论文)- 2 -1.3 论文实现的目标本文将围绕自助式手持餐饮终端的实现,确立如下目标:1.自助式手持餐饮终端与数据库服务器及视频服务器之间的无线网络通信功能。2.实现自助式餐饮服务器端的设计,使得手持餐饮终端通过无线网络访问服务器,实现菜品浏览、菜品选择等功能。3手持餐饮终端实现w
17、eb服务功能,使厨房的厨师通过网络即可得知客人们的点菜情况,节省了时间并避免了人为传递菜单发生的错误。4.手持终端实现视频监控功能,使用餐者能够实时监控厨房、备菜间等地的卫生和菜品准备情况。基于单片机的智能餐饮服务器的设计与研究- 3 -第 2 章 自助式手持餐饮终端整体设计自助式餐饮系终端是基于目前最先进的pda(个人数字助理)技术、无线通信技术、计算机技术、网络技术、数据库技术、远程监控技术研发而成的。自助式手持长饮终端是是整个自助式餐饮系统的核心:通过终端的web浏览器,可以选择自助式餐饮系统服务器上的菜品;通过手持餐饮终端实现的网络服务功能,可以使厨房的厨师通过网络即可得知顾客的点菜情
18、况,避免了人为传递菜单发生的错误;通过手持餐饮终端的视频监控功能,可以对厨房的卫生情况、厨师做菜情况进行实时监控。本设计 要 实现一个自助餐饮手持终端,集监控功能和服务功能于一身。由于设计时把服务、监控等功能实现于一个手持终端中,所以给应用带来极大的方便。2.1 设计需求资源分析作为一个自助式手持餐饮系统终端,需要的硬件平台必然要能够方便携带,除了能够支持视频监控设备外同时本身也要具有较强的核心处理性能,以便成为真正的便携设备。在软件上来说,自助式手持餐饮终端,必然要提供良好的人机界面接口,以方便用餐者操作,因此要采用图形化界面开发工具,还需要嵌入式操作系统的支持。总的来说,本设计需要以下一些
19、软硬件资源:1)支持无线上网功能;2)具有屏幕输入和显示功能;3)支持嵌入式操作系统;4)支持图形化界面。根据以上一些要求,本系统选用北京博创兴业科技有限公司的up-techpxa270嵌入式开发平台来进行设计,它体积小,比较类似于手持式便携设备,当然做成产品时可再对其硬件资源进行裁减,可以做到更小,成为真正的自助式餐饮终端设备。该平台的核心工作频率为523mhz,拥有64m内存和80m flash存储器,具有良好的图形处理性能,支持cf卡无线上网,还具有液晶触摸显示屏。同时,它能够支持嵌入式linux操作系统,从成本上来考虑,选择开源的嵌入式linux操作系统,也可以使得产品具有更高的性价比
20、,它可以支持qt/embedded图形库,支持用qt编写的图形界面程序。因此,该平台能够满足自助式手持餐饮终端的所有资源需求,是较理想的一个选择。2.2 自助式餐饮终端整体体系结构设计自助式餐饮体系采用无线网络通信方式,传统的自助式餐饮体系结构图如图2.1所示。图中可以看到,整个体系包括服务器、无线网络和嵌入式手持终端构成。手持 餐 饮 终端设备上配备有无线网络芯片,通过它与无线网络接入点通信。无线网络接入点是无线网络的核心,它是移动用户进入有线以太骨干网的接入点。无线网络接入点主要包括天沈阳工程学院毕业设计(论文)- 4 -线和接入点本体。天线可以简便地安装在天花板或墙壁上等建筑内的隐蔽处,
21、它在开放空间最大有效搜盖范围可达50米,并把不同的用餐区域连接起来。这样,在餐厅的各个区域都可以通过手持终端连接到数据库服务器端。 图 2.1 传统的自助式餐饮结构功能图但是传统的自助式餐饮体系存在着一些缺陷,如图2-1所示那样当顾客选定菜品后仍需要服务人员把点菜单传至厨房,在用餐繁忙时段可能会产生人为的串单现象。井且由于一些顾客比较挑剔,对于厨房的卫生情况和菜品的制作过程不放心。所以针对以上几点我们对传统的自助式餐饮系统作了如下的改进:1.整个自助式餐饮体系由以前的以数据库为核心转变为以手持终端为核心,使所有的功能都通过终端来实现,真正实现自助式手持餐饮的特点:功能齐全又方便简单.2.利用手
22、持终端作为客户选定菜单的服务器,使厨师通过网络看到用餐者的菜单,从而避免了跑单所引起的错误,并节省了跑单时间,提高了效率。3.在厨房或者任意需要的地方设置摄像头,手持终端通过无线网络可以对这些地方进行实时监控。改进后的自助式餐饮体系如图2.2所示:基于单片机的智能餐饮服务器的设计与研究- 5 -图 2.2 改进的自助式餐饮体系结构图2.3 自助式手持餐饮终端软件结构设计自助式手持餐饮终端的实现至少需要以下几个功能:服务器端的餐饮数据库实现功能:手持终端的web服务器的实现;.视频监控服务器端的视频监控功能实现.其系统软件结构如图2.3所示:图 2.3 自助式手持彼饮终端软件结构图沈阳工程学院毕
23、业设计(论文)- 6 -每一种模块功能又包括许多子功能:1.自助式手持餐饮终端通过浏览器可以实现菜品浏览功能(可以看到中英文的菜品名称、菜品照片、菜品价格、菜品用料及制作过程介绍)、菜品分类查询功能、用户点菜功能、菜单修改及确认功能。同时能通过浏览器进行实时监控功能。2.自助式手持餐饮终端自身能实现web服务功能。3.数据库服务器端可以实现对菜品的添加、修改和删除功能;外卖订单管理功能和用户帐单打印功能。4.视频监控服务器主要实现了视频监控服务功能。基于单片机的智能餐饮服务器的设计与研究- 7 -第 3 章 自助式手持餐饮终端软硬件环境的建立根据自助式手持餐饮终端的软硬件资源需求分析,本系统采
24、用以 intel xscale pxa270嵌入式微处理器为核心的硬件开发板平台,及嵌入式 linux 操作系统和 qt/enbedded 的图形库、qtopia 桌面环境管理系统组成的软件开发平台。下面为这些开发平台条件的搭建和准备逐一做介绍,没有这些基础平台的准备,自助式手持餐饮终端就如空中楼阁,将无法实现。3.1 硬件环境本系统的硬件实现平台是北京博创兴业科技有限公司的 up-techpxa270 教学开发平台,它具有丰富的硬件资源,可以满足自助式手持餐饮终端的设计需求。up-techpxa270 开发板由处理器核心板、主板及 lcd 三部分组成。该开发平台具有较高的处理器性能,支持多媒
25、体数据优化处理,具有cf无线网卡接口,另外具有8寸液晶触摸品显示,同时可以接受屏幕反馈,还支持嵌入式linux操作系统和qt/enbedded嵌入式图形界面,是实现自助式手持餐饮终端的理想平台。除了核心开发平台和lcd液晶及触摸屏外,本终端还需要无线上网设备支持,根据该开发平台的接口资源,无线上网设备为eagletec(鹰泰)802.11b无线cf网卡,工作时最大可达11mbps的速率,3.2 软件开发平台的建立3.2.1 嵌入式 linux 操作系统的定制开发板上软件运行平台的搭建,首先要根据对所需要硬件资源的支持定制嵌入式linux 内核,本系统使用开发板自带 linux-2.6.9 版本
26、的内核,因为厂商已打过相关处理器芯片补丁,所以只需根据相关软硬件资源需求进行定制即可,本设计需要定制支持的硬件 lcd 液晶机触摸屏、无线网卡,在软件方面需要 linux 操作系统以及 qt 桌面环境的建立,解压嵌入式 linux 内核源码 up-techpxa270-linux-2.6.9-2005-12-13.tar.bz2,进入解压后的目录 linux-2.6.9,执行 make menuconfig 进行配置,确保如下几项配置被选中:1)pxa270 微处理器及开发平台支持。2)无线网卡支持,鹰泰无线网卡采用 hemes 核心芯片。其他选项均可以按默认配置。然后执行 make 命令,将
27、使用预先在开发主机上安装好的交叉编译工具 arm-linux-gcc编译在当前目录下生成新的内核 vmlinux,将其烧入 pxa270 开发平台,文件系统可以使用开发平台自带系统。沈阳工程学院毕业设计(论文)- 8 -3.2.2 qt/embedded 及及 qtopla 桌面环境的建立桌面环境的建立qt/embedded 是 qt 图形化程序开发工具的嵌入式版本,是一个完整的自包含 gui 和基于 linux 的嵌入式平台的开发工具,可以设计出友好的用户界面,同时也封装了对底层接口如套接字等操作,使得程序设计更加方便快捷简单。qt 本身是一个完整的多平台c+图形应用程序开发框架,是完全面向
28、对象的,很容易扩展,并且允许真正的组件编程。它包含一个类库和用于跨平台开发及国际化的工具。qtapi 在所有支持的平台上都是相同的,qt 工具在这些平台上的使用方式也是一致的,因而 qt 应用的开发和部署与平台无关。因此,使用 qt 开发的程序具有平台无关性。qt/embedded 平台的搭建需要以下几步:1)解压所需要的软件源码包如 tmake、qt2.3.2、qt/embedded2.3.10,并设置它们相应的环境变量。2)配置编译 qt/embedded,先编译 qt2.3.2,利用其生成 uic 工具再对 qt/embedded进行编译。在编译时,除了设置 tmake 工具的 tmak
29、epath 环境变量为支持 arm 工作目录外,在对 qt/embedded 进行配置时,还要指定-system-jpeg 库支持,-thread 加入程库支持,-xplatform 指定目标平台为 arm 平台。然后交叉编译 qtopia 桌面环境,编译后生成的结果,包括 qt/embedded 图形库,都将被自动放入 qpe/image/opt/qtopia 中,将该目录打包并将其下载到目标机,并解压,qtopia 桌面环境即搭建完成。3.2.3 嵌入式嵌入式 konqueror 浏览器的分析浏览器的分析嵌入式浏览器是支持互联网的嵌入式系统中的重要组成部分。与普通浏览器相比,嵌入式浏览器应
30、该具有代码少,运行空间小,与操作系统紧密结合,需要针对嵌入式系统定制开发等特点。嵌入式浏览器的作用就是在网页中利用cgi(commongatewayinterface;公共网关接口)来调用其他可执行程序。这样控制页面可以做的很美观,而且可扩展性好。konqueror/embedded是针对嵌入式linux,由著名的桌面操作环境kde下的浏览器konqueror派生出来的。konqueror/embedded将konqueror中关于khtml,ssl(sesunitysocketlayer;安全套接层),javascript等内容继承下来,同时简化konqueror中很多类的定义。konque
31、ror/embedded完整地支持html4(hypertextmarkuplanguage;超文本连接标本语言)和css1(cascadingstylesheets;层叠样式表单) ,部分支持css2、javascript(ecmascript262)、cookies、ssl、ipv6;支持和管理兼容的xbel的书签,并且能够很好地支持中文网页浏览。而且还可以将konqueror/embedded作为一个pppdialer或文件管理器来使用。konqueror/e是由底层网络连接,图形化用户界面和处理html绘制的引擎-khtml构成的。底层的通信协议实现是基于kio/slave机制来实现的
32、;gui界面采用kparts组建技术基于单片机的智能餐饮服务器的设计与研究- 9 -和qt的基本构件;而作为konqueror/e的核心html则运用了文档对象模型(dom)所提供的api接口,并在dom树上挂接javascript引擎,css解析器以及渲染引擎。konqueror/e的层次结构如图3.1所示。(1)kparts及qt构件实现gui在kde中,部件被称为part,这和ms中的ole组件是一个概念,一个part通常包含三个部分:一个窗口、功能、以及使用该功能的用户接口。应用在浏览器项目中,part包含了多个窗口(一个页面对应于一个part,而一个页面有可能包含多个窗口) ,par
33、t提供的功能包括:页面、页间的跳转、重定向、窗口的创建和删除、用户的输入处理、剪切、粘贴等,同时为使用这些功能提供了菜单、工具条、状态条等用户接口。其他的应用程序可以使用该part把浏览器窗口嵌入自己的应用中。为了方便地实现将现有应用作为一个控件插入到另外一个应用中去,采用了part对象负责管理整个应用和窗口。对于每个窗口又采取了类似microsoftmfc中的doc-view结构。因此在将应用嵌入到另外一个应用中的时候,只需要获得part中的接口和数据即可,对窗口的一切操作的响应由被嵌入应用的part对象来完成,而类doc-view结构只简单的负责显示和保存显示数据。(2)执行dom模块do
34、m模块对经过解析的标记进行文法检查,并把属性看作节点,按照标记的语义包含关系以及先后顺序组织成dom树。它给html文档定义了一个与平台无关的程序接口。使用该接口可以控制文档的内容、接口和样式。在执行dom模块的过程中, ;浏览器将所有从语法语义解析模块中获得的标记和属性按照一定的层次结构组成dom树。完成构筑dom树的功能后,dom模块会同时标记和属性以对象的形式传给绑定模块和脚本引擎模块。(3)执行i/o模块浏览器加载有关的i/o文件,对http等协议进行解析。语法语义解析模块的解析功能分为两部分:一是对接收到的字节流进行分词,解析为关键字;二是调用解析器检验关键字是否合法,若是合法的关键
35、字,则按规则插入到dom树中。html的标记(tag)和属性(attribute)统称为html的关键字。基本上所有html4.0规范的标记都在此功能模块中获得支持,从i/o模块中接收字节流进行分词,输出标记;再对标记进行判断,如果是html规范中合法的标记,则把标记看作一个节点,并组成一颗语法树。对属性标记的解析首先在标记处理类中执行,如果解析不成功,则交给基类的属性解析器进行解析。沈阳工程学院毕业设计(论文)- 10 -图 3.1 konqueror/embedded 的层次结构基于单片机的智能餐饮服务器的设计与研究- 11 -第 4 章 持餐饮终端与数据库服务器的无线通信4.1 概论20
36、世纪90年代,无线通信技术与计算机网络相结合产生了无线局域网(wireless local area network, ran)技术.wlan是指采用无线介质传输的计算机局域网,采用的标准是工eee 802.11系列。wlan可以为移动或半移动的用户提供高效、优质、低成本的宽带接入服务。无线局域网(wlan)是相当方便的数据传输系统,是取代双绞线的无线局域网络,wlan的传输方式包括wlan采用的传输媒介、选择的频段及调制方式。无线网络具有通信可靠、成本低、灵活性、可移动性和高吞吐量等特点。就目前而言,无线局域网的标准大致有三个,即ets1提出了hiperi.an的无线局域网协议族;ieee组
37、织提出的802.11系列的无线局域网协议族:以及homerf提出的与前面两者相兼容的标准。本文采用802.11b无线局域网协议。作为一项得到广泛应用的无线技术,ieee 802. 11b定义了先进的网络拓扑,不仅提供了在局域网范围内的移动终端的通信,还能提供超出局域网范围的设备之间的通信,使得设备可以在不同范围内的wlan之间漫游,以及和有线网络设备之间的通信。本章重点描述了手持餐饮终端通过无线局域网实现与数据库服务器的通信。4.2 无线网卡的驱动分析和设计4.2.1 pcmcia 系统结构cmcia(personal computer memory card international as
38、sociation,个人计算机存储卡国际协会)。该协会成立于1989年,主要为采用pcmcia接口的设备制定规范标准。采用pcmcia接口的扩展卡,我们一般称为pc卡。linux操作系统中有一个pcmcia一 cs子系统。它由三层结构构成,如图4-1所示。最底层是“插口”驱动层(socket driver),第二层是pc卡服务层(card services),最上层是pc卡客户层(card client)。一个特殊的pc卡客户叫做驱动服务(driver services),提供一个统一的接口给pc卡应用工具(cardmgr, cardctrl等)。每一层都通过标准ap工接口为上层提供服务.最上
39、层的应用软件也是通过应用层ap工函数实现对pc cards的读写操作。沈阳工程学院毕业设计(论文)- 12 -图 4.1 pcmcia-cs 系统结构socket driver是处理最底层硬件的软件层,通常是具体操作硬件的函数集,提供对不同pcmcia控制器和不同系统平台的支持,从而屏蔽了pcmcia插槽和硬件资源配置的差异。使用不同pcmcia控制器的系统要有各自的socket driver层软件,从而使pc card的驱动程序与pcmcia插槽无关。card service是pcmcia系统中最大的一个组件,提供对于操作pc card和pc card stocket的标准api. card
40、 service的实现采用客户机朋民务器(client/server)结构,可同时对多个card client提供服务。card client是使用card service提供的接口函数实现对于具体pc卡的驱动程序。card client层中的driver service模块还提供了一个接口给用户模式的应用程序(cardmgr, cardctl)接口,用来记录、跟踪pc卡的插入/取出,并且加载/移去相应的card client驱动程序。由此可知,只有socket driver层是与硬件相关的。所以在不同平台之间移植pcmcia系统的核心工作就是socket driver的实现。4.2.2 so
41、cket driver 的实现根据pcmcia标准,socket driver层是通过api函数为card service提供服务的,编写socket driver层驱动也就是实现这些操作硬件的函数。能够为pcmcia卡配置模拟的系统设备功能的socket控制器才能为socket service提供有效的接口。这要求它能提供两个10函数和五个存储窗口,这些窗口可以在主机的地址空间中独立配置同时映射到卡的地址空间。一些控制器不能实现这一功能,这时,就需要socket service提供有效对client驱动模拟的socket接口。定义socket service和具体实现的接口数据结构:基于单片
42、机的智能餐饮服务器的设计与研究- 13 -4.2.3 pcmcia 驱动的实现由上面我们知道linux下的pcmcia驱动的实现从严格意义上讲就是利用pcmc工a-cs系统所定义的数据结构,宏和函数来完成数据处理的功能。1.pcmcia模块的注册与注销由于采用了模块加载的方法,调用模块加载入口函数module_ init以及模块卸载入口函数module exit来完成对pcmcia设备的注册与注销。pcmcia设备的注册函数是init_pccardwe cs,注销函数是exit_pccardes cs.注册函数中主要调用register_pccardesdriver,函数,该函数的功能是西南交
43、通大学硕士研究生学位论文第17页完成用户驱动程序与卡槽的绑定,若绑定成功则返回0,否则返回一1。其参数分别是:设备的名称(dev info)、设备初始化连接函数(pccard attach)和设备取消连接函数(pccard detach).卸载的入口函数exites mypccard cs中用到的主要函数有三个,分别是unregister_pccard driver:取消用户驱动程序与卡槽的绑定,这是个系统函数,其参数是dev info,也就是卡的名称;pccardes release是从系统里注销pcmcia设备并且释放设备的配置空间;pccard detach从系统里删除驱动程序的实例,也
44、就是其所用过的数据结构等。pcmcia设备驱动程序必须注册两个设备人口函数,分别是attach和detach其中attach函数完成对设备驱动程序的实例化并为它的数据结构分配空间,而且会向卡服务程序(card services)注册这个驱动程序。detach函数则向卡服务程序(card services)注销这个驱动程序,并且从系统里删除沈阳工程学院毕业设计(论文)- 14 -这个驱动程序的实例,也就是其所用过的数据结构等等。2.pcmcia设备的事件处理pcmcia设备的热插拔是通过对卡槽的相应事件的监测而完成的,不论是卡的插入还是拔出,或者是重启动以及挂起等,都会形成特定的事件掩码。驱动程
45、序通过系统调用获得这些事件掩码以后,通过相应的函数来完成这些特定的事件。比方说卡的拔出事件被检测到以后,驱动会自动调用卡的拔出函数来完成一系列的操作,来注销这块卡的相应结构。在卡的入口函数中我们己经看到了事件函数的入口,是通过一个指向函数的指针来初始化事件函数。其函数的主体结构是一个case语句,通过检测事件掩码来跳转到不同的事件处理函数,并且设置相应的状态位。3.pcmcia的配置处理函数由于pcmcia卡插入卡槽以后,默认是存储卡,为了使它变成i/0或者多功能卡,就必须根据卡信息结构体(c工s)里面的内容对它进行配置。对它的配置主要是通过调用卡服务程序里面提供的系统调用来完成.卡信息结构体
46、里面的结构分为三个部分即:卡信息结构体结构号、偏移量以及具体的配置内容。卡服务程序里面提供了cistpl函数集合来专门处理卡信息结构体相关信息,驱动程序只需要调用这些函数集合来访问卡信息结构体,并且利用卡服务程序的requestconfiguration函数功能来完成配置功能。该函数的参数仍然是dev link t结构。4.pcmcia设备的操作在linux操作系统中,所有的硬件设备都是作为一个特殊设备文件来使用的,如cdrom在linux中对应的文件为/dev/ cdrom,要让应用程序使用pcmcia设备,同样也必须建立与该设备对应的特殊设备文件。驱动程序通过文件操作(file opera
47、tions)数据结构对该文件进行操作(如open /close /read /write等)时就相当于直接对硬件设备进行操作了。而对该文件进行操作需通过数据结构文件操作进行。4.2.4 pcmcia 接口接口 cf 卡的配置使用卡的配置使用在pxa270平台上,cf无线网卡通过cf转pcmcia接口卡与系统相连。cf卡全称是“compactflash (cf:压缩闪存)是目前世界上最小的大容量存储设备之一,1994年由sandisk最先推出。cf卡具有pcmcia-ata功能,并与之兼容。cf卡50针,但能够很容易地插入68针ii型适配器卡(槽)(完全满足pcmcia机电界面技术要求)中使用。
48、cf卡使用的连接器与pcmcia的相似。pcmcia/cf卡拥有两个存储空间:属性内存(attribute memory)和公共内存(common memory),属性内存类似于cis (card information structure),用来保存配置注册和描述符信息。linux卡服务核心与主机控制器设备驱动程序、卡设备驱动程序及用户模式cardmgr后台进程交互。我们使用的是鹰泰et cwb1000无线网卡,该网卡符合802.11 b协议,使用cf接口。配置网卡之前,必须先禁用有线网络连接设备eth0,否则产生冲突,无法连接网络.在平台插入无线网卡后,先运行。ardmgr命令,对无线网络
49、进行配置检测,然后可以使用cardctl命令查看状态网络状态,若检测到就可以配置ip地址通过无线接入点ap上网了,ping网关可以看到网络连通的信息,同时,执行基于单片机的智能餐饮服务器的设计与研究- 15 -ifconfig可以看到ethl设备,即配置成功.如果配置好了无线网卡后仍然不能通过无线网络上网上网,这是因为手持终端的有线网络没有屏蔽掉.用命令:ifconfig eth0 down来屏蔽掉有线网络。然后就可以利用无线网络来上网。总结如下,要想实现无线上网,启动后输入以下命令: afconfig ethl q wconfig eth0 downcardmgr命令来
50、激活无线网卡,ifconfig命令来设置无线ip,最后一个命令就是用来屏蔽有线网络。4.3 数据库服务器的建立4.3.1 数据库服务器端整体功能分析服务器端数据库整体功能结构分析如图4.2所示:图 4.2 总体结构图沈阳工程学院毕业设计(论文)- 16 -根据餐饮系统的特点,可以将其分为前台和后台两个部分。前台主要用于实现菜品展示、会员信息管理、菜品查询管理等功能;后台主要用于管理员对菜品信息、会员信息和菜单信息进行管理。下面对前台、后台两个部分分别进行分析。餐厅的前台功能结构如图4.3所示。图 4.3 点菜系统前台功能结构图餐厅的后台功能结构如图4.4所示.图 4.4 点菜系统构台功能结构图
51、4.3.2 前台模块设计1.用户注册模块:用户注册模块中最重要的就是用户信息注册表。用户注册表信息来保存用户注册信基于单片机的智能餐饮服务器的设计与研究- 17 -息,该表的结构如表4.1所示。表 4.1 用户注册信息表 member 的结构列表数据类型长度主键否允许空功能描述idint4是否唯一标识namevarcher30否否账户名称passwordvarcher30否否登录密码emailvarcher200否否电子邮箱地址rwalnamevarcher50否否用户真实姓名phonevarcher30否否联系电话addressvarcher150否否联系地址当我们要修改用户注册信息时,引用
52、表4-1种的帐户名称、登陆密码、电子邮箱、用户真实姓名、联系电话以及联系地址等字段,将这些字段显示给用户,同时允许用户修改除帐户名称外的所有字段,然后将新的信息写入到数据库中。修改用户注册信息与用户注册表信息相比,多了两个表单元素,如表4.2:表 4.2 新增(member)表单元紊loginvarcher30否否提交表单resetvarcher30否否重设表单2.用户登录模块:用户进入登陆模块,输入帐号密码进行身份验证,系统将会引导用户进入页面,进行信息录入和提交的工作,浏览器端输出相应的信息表,如图4.5所示:沈阳工程学院毕业设计(论文)- 18 -图 4.5 用户注册信息3.菜品分类查询
53、模块:菜品信息表(goods)用来保存菜品信息,该表的结构如表4.3所示。表 4.3 菜品信息表 goods 的结构列表数据类型长度主键否允许空功能描述idint4是否唯一标识namevarcher100否否菜单名称vendibilityfloat8否否单价memberpricefloat8否否会员价picturevarcher100否否图片信息地址residevarcher100否否所属分类remarkvarcher200否否备注分类numberint4否否数量菜品分类查找主要是根据用户提交的表单信息和传递的参数进行数据库检索,并将结果输出到浏览器中。例如我们选择了菜品分类的“中餐”后,在提
54、交以后,系统就会跳转到“中餐”分类表中。这样变可在“中餐”分类表中选择自己所喜爱的菜品。4.菜品购买模块基于单片机的智能餐饮服务器的设计与研究- 19 -菜品购买模块是整个数据库服务端的核心部分。当用户在系统首页,或者分类查询中查询到自己所喜爱的菜品,并点击“购买”链接,则系统会显示用户购买菜品的所有信息,包括数量、编号、菜品名称、价格,以及价格小计。如果用户还需要继续点菜则可以回到主页面点菜,而以前的点菜信息仍然保存.如果选好了菜品,则可以点击“结帐”按钮,并输入自己的信息(姓名,密码)并选择付款方式来完成交易。其具体流程如图4.6所示:图 4.6 菜品购买流程我们可以选择改变数量来改变我们
55、所需菜品的数量,页面将客户所作的修改写入数据库中。4.3.3 后台模块设计后台页面主要包括以下功能模块:. 后台登陆模块:用于管理员登陆网站后台。. 菜品信息管理:主要包括菜品信息浏览、添加、修改、删除4部分。. 订单管理:主要包括订单信息查询、订单信息添加、订单信息修改和订单删除4部分。沈阳工程学院毕业设计(论文)- 20 -. 客户资料管理:主要包括客户信息浏览、客户信息修改、客户信息添加以及客户信息删除4部分。我们以菜品信息管理模块为例,来介绍千味居餐厅的后台模块开发。菜品信息管理包括信息浏览、修改、添加、删除.1)菜品的浏览菜单浏览页面使用了系统菜品信息表,系统应用这个表的菜名字段,将
56、所有的菜名查找出来,提供管理员选择具体的菜品。浏览菜品的页面的表单元素如表4.4所示:表 4.4 浏览菜品的页面的表单元素2)菜品的修改当我们在管理页面中选择了修改时,我们就进入修改菜品单元。使用了3个asp页面来完成对菜品信息的修改:第一个页面是用来让管理员选择所需菜品的种类,即菜名;第二个页面是用来修改主页面,它将菜品的所有信息都显示出来,供用户修改;第三个页面是检查页面,检查页面信息合法性,决定是否写入到数据库中。其页面分布如图4.7所示:基于单片机的智能餐饮服务器的设计与研究- 21 -图 4.7 菜品修改页面分布3)菜品的添加和删除当我们选择添加键进入菜品添加模块。添加菜品信息页面使
57、用了系统的菜品(goods)表,应用了表的标识号、菜品名称、单价、会员价、图片信息、数量、厨师信息以及菜品备注信息。删除菜品信息页面也应用了数据库服务器中菜品数据表的标识号、菜品名称、单价、会员价、图片信息、数量、厨师信息以及菜品备注信息。在删除菜品页面有3个表单元素,具体名称和值与表4.4一致。具体的数据库服务器端的代码由vbscript语言编写而成的,比较简单,在这里就不详细介绍了。4.4 自助式手持餐饮终端与系统数据库服务器之间的通信1.b/s结构模式现代网络以web为中心,采用tcp/ip技术,以http为传输协议,客户端通过browser访问web以及与web相连的后台databas
58、e,即b/s(browser/server)模式。三层结构的b/s模型由浏览器和服务器组成,服务器包括web服务器、数据库服务器、应用服务器、中间层等。数据和程序存放在服务器端,服务器可以有多层结构,并执行必要的计算,负责与数据库的交互工作,并将结果发送到客户。浏览器端不用维护,用户只需拥有浏览器即可十分容易的使用该系统。b/s网络化模式可以用公式表示为:b/s结构模多浏览器十单web服务器+多个数据库服务器十动态计算2.iis服务器iis (internet information server)是微软所推出的服务器软件。它是一个rda(remote data access,远程数据访问)模
59、型,是windows设备在b/s系统当中的一种存取模式。在b/s构架中,数据库存放于服务器,客户端则是通过网络存取服务器上的数据。在数据库中的应用程序通过iis把需求传送给服务器,服务器也需要经过iis做媒介把信息传送给客户端。工is一个很重要的特性在于它支持服务器端的脚本。iis内含了asp (activeserver page动态服务页面)组件和web服务器,使b/s结构下网站开发者可以很方沈阳工程学院毕业设计(论文)- 22 -便的创建动态交互的web站点。iis作用相当于一个处理所有用户的网关,当用户请求.asp文件时,iis将调用工sapi过滤器或者dll组件,将用户请求的.asp文
60、件转换为asp(动态服务页面)解释器能够识别的代码,由其执行后反馈给浏览器,显示出所有浏览器可查看的html格式。由于iis服务器的安装十分简单,所以在这里就不作介绍了。3.asp技术asp是一种服务器端的指令环境,用来建立并执行交互式web服务器应用程序,asp程序包含“脚本语言程序(scripting language)、“嵌入html(embedded html)、com组件调用”等3个部分,前者可由vbscript,javascript, periscript, python, rexx等程序语言编写而成.也正是由于asp程序可以嵌入html,因此,现有的html文件(扩展名为.htm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 货币资金报表范例
- Windows Server网络管理项目教程(Windows Server 2022)(微课版)10.3 任务2 DNS中继代理
- 大型机械设备管理制度与安全操作规程(修改版1)
- 煤化工艺学煤低温干馏
- 幼儿园安全教育教案18篇
- 小学安全教育主题班会教案
- 高三烃含氧衍生物归纳
- 全省小学数学教师赛课一等奖数学一年级上册(人教2024年新编)《10的认识 》课件
- 生命在你手中主题班会
- 病历书写规范
- 生涯规划教育实践研究
- 2021年三中全会知识竞赛题库
- 防欺凌家长会
- 教师职业生涯发展报告
- 2024年时事新闻及点评【六篇】
- 酒店竞争对手分析报告
- 《工伤预防知识教育》课件
- 青岛版二年级上册数学《认识方向》单元整体备课设计
- 国际航空运费计算
- 蛔虫病学习课件
- 期末教师总结大会活动方案
评论
0/150
提交评论