毕业设计论文基于单片机的智能餐饮服务器的设计与研究.doc_第1页
毕业设计论文基于单片机的智能餐饮服务器的设计与研究.doc_第2页
毕业设计论文基于单片机的智能餐饮服务器的设计与研究.doc_第3页
毕业设计论文基于单片机的智能餐饮服务器的设计与研究.doc_第4页
毕业设计论文基于单片机的智能餐饮服务器的设计与研究.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 如今 随着科技的发展 餐饮企业依托科技的进步更全面 周到 便捷地为广大消 费者服务 同时实现企业自身的快速发展 自助式手持餐饮终端就是在科技进步的大背 景下产生并迅速发展起来的 其利用先进的无线通信技术 嵌入式手持终端技术 嵌入 式移动数据库和远程监控等技术 满足了广大顾客方便 自主 放心的用餐需求 本文 提出了自助式手持餐饮终端的设计理念 体系结构 同时设计了更具人性化的功能模块 文章对手持终端的软硬件环境进行了深入的探讨 其中 硬件环境包括 PXA270 LCD显示 模块 触摸屏模块 CF卡无线通信模块等 软件环境包括 荃于PXA270平台的嵌入式linux 操作系统移植 基于嵌入式Linux的Qt和Qtopia的相关软件开发 基于Windows操作系统 IIS服务点菜数据库的开发 基于嵌入式Linux操作系统Web Server服务功能的软件开发 和Linux操作系统下Apache服务器端视频监控的功能开发 在软件具体开发中 首先将嵌 入式Linux操作系统移植到PXA270开发板上 然后基于嵌入式Linux操作系统 进行嵌入式 Qt以及Qtopia图形界面移植 对服务器端数据库进行模块化设计 并具体实现菜单显示 分类查询 点菜 帐单显示及数据打印等功能 本设计与市场上现有的手持餐饮终端不 同的是 对手持终端的功能进行了扩展 实现了手持终端Web服务器 厨师们即可通过访 问客户手持终端的菜单来制作菜品 另外 本设计还开发了手持餐饮终端的远程监控功 能 使顾客在用餐区也能看到厨房中菜品的现场制作过程 从而放心的用餐 本设计对 基于嵌入式Linux操作系统进行终端开发 具有一定的借鉴指导意义 对自助式餐饮业具 有商业实用价值 同时 作为一款手持式产品 可以随身携带 可以使用于多种支持无 线上网的场合 具有一定的市场应用前景和商业实用价值 关键词 PXA270 802 11b Web Server 视频监控 JPEG Abstract With the science and technology developed 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 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 environmentof 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 Qtopia 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 developed 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 functions including the web server The chef can cook by visiting customer s handheld terminal for order In addition this system provided remote monitoring function which has the customer simultaneously see the cook process to reassuring meals The design has reference and pratical value to embedded systemsdevelopment 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 目 录 摘 要 I ABSTRACT II 目 录 III 第 1 章 绪论 1 1 1 引言 1 1 2 本设计研究的背景和意义 1 1 3 论文实现的目标 2 第 2 章 自助式手持餐饮终端整体设计 3 2 1 设计需求资源分析 3 2 2 自助式餐饮终端整体体系结构设计 3 2 3 自助式手持餐饮终端软件结构设计 5 第 3 章 自助式手持餐饮终端软硬件环境的建立 7 3 1 硬件环境 7 3 2 软件开发平台的建立 7 3 2 1 嵌入式 Linux 操作系统的定制 7 3 2 2 Qt Embedded 及 Qtopla 桌面环境的建立 8 3 2 3 嵌入式 Konqueror 浏览器的分析 8 第 4 章 持餐饮终端与数据库服务器的无线通信 11 4 1 概论 11 4 2 无线网卡的驱动分析和设计 11 4 2 1 PCMCIA 系统结构 11 4 2 2 Socket Driver 的实现 12 4 2 3 PCMCIA 驱动的实现 13 4 2 4 PCMCIA 接口 CF 卡的配置使用 14 4 3 数据库服务器的建立 15 4 3 1 数据库服务器端整体功能分析 15 4 3 2 前台模块设计 16 4 3 3 后台模块设计 19 4 4 自助式手持餐饮终端与系统数据库服务器之间的通信 21 结 论 23 致 谢 24 参考文献 25 附 录 26 第 1 章 绪论 1 1 引言 随着人民生活水平和生活方式的转变 餐饮业具有巨大的投资市场 被称为中国的 黄金产业 自助式餐饮的目的就是利用先进的无线通信技术 嵌入式手持终端技术 嵌 入式移动数据库和无线监控等技术 为餐饮业走向全面数字化提供了完整的解决方案 自助式手持餐饮终端操作简便 利用网络可以实时显示当天菜品情况 点菜单状况等情 况 实现了自动结账 避免人为错误和跑单现象 我们对手持终端的功能进行了扩展实现 了手持终端Web服务器 厨师们即可通过访问客户手持终端的菜单来制作菜品 更重要的 是手持餐饮终端还实现了远程监控功能 使客户在点菜的同时看到菜品的制作过程 从 而放心的用餐 自助式手持餐饮终端的实现为餐饮行业带来崭新的管理理念与服务手段 能够提高餐馆档次 同时优化业务流程 提高效率 精简人手 为客户提供更好的服务 实现企业价值最大化同时又使成本最低化 是餐饮行业向信息化发展的一个重要标志 本文将介绍有关自助式餐饮终端的相关理论及技术 自助式餐饮终端是一套全新打造的 集人性化服务 自动化管理 方便等特点于一身的无线餐饮信息化终端 自助式手持餐 饮终端以先进的技术手段 充分体现了无线餐饮管理的实时性 服务的新颖性和高效性 特点 使餐饮企业能更周全 迅速的为客户提供服务 让应用本终端的餐饮企业以独特 的经营模式和管理特色在同类企业中独树一帜 1 2 本设计研究的背景和意义 在我们的生活中 随处可见很多的手持嵌入式设备 在电子商务领域 也出现了很 多具有名片存储 记事提醒 电话簿查询等常用功能的手持嵌入式设备 但是 他们基 本上只是作为目前PDA的多个子功能 而没有实现将几个功能有机结合起来整合为一个较 为综合的应用 而如果能够在PDA上整合无线上网 WEB浏览 数据查询以及实时监控功 能 实现通过无线移动网络访问远端数据库服务器中的数据文件和利用摄像头实时监控 的技术 应用前景将十分广泛 例如 采用此技术 可以开发出手持式城市公交路线查 询设备 手持式公路 铁路 航空查询定票设备 手持式全国各城市酒店宾馆预定设备 手 持式企事业单位人事档案管理查询设备 手持自助式餐饮系统终端设备 手持式股票查询 设备等等一系列终端设备 而这些设备的最大的优点 在于 1 设备的便携性 可以随身携带 2 因为数据文件存放在数据库服务器端 因此 只要维护好服务器端数据文 件 终端设备就可以随时获取最新的数据资料 做到信息的随时更新 3 手持设备上的Web服务器功能 实现了手持设备和其它设备之间数据交流 4 实时监控功能的扩展使手持设备在任何时间空间都可以实时监控 1 3 论文实现的目标 本文将围绕自助式手持餐饮终端的实现 确立如下目标 1 自助式手持餐饮终端与数据库服务器及视频服务器之间的无线网络通信功能 2 实现自助式餐饮服务器端的设计 使得手持餐饮终端通过无线网络访问服务器 实现菜品浏览 菜品选择等功能 3手持餐饮终端实现Web服务功能 使厨房的厨师通过网络即可得知客人们的点菜情 况 节省了时间并避免了人为传递菜单发生的错误 4 手持终端实现视频监控功能 使用餐者能够实时监控厨房 备菜间等地的卫生和 菜品准备情况 第 2 章 自助式手持餐饮终端整体设计 自助式餐饮系终端是基于目前最先进的PDA 个人数字助理 技术 无线通信技术 计 算机技术 网络技术 数据库技术 远程监控技术研发而成的 自助式手持长饮终端是 是整个自助式餐饮系统的核心 通过终端的Web浏览器 可以选择自助式餐饮系统服务器 上的菜品 通过手持餐饮终端实现的网络服务功能 可以使厨房的厨师通过网络即可得知 顾客的点菜情况 避免了人为传递菜单发生的错误 通过手持餐饮终端的视频监控功能 可以对厨房的卫生情况 厨师做菜情况进行实时监控 本设计 要 实现一个自助餐饮手 持终端 集监控功能和服务功能于一身 由于设计时把服务 监控等功能实现于一个手 持终端中 所以给应用带来极大的方便 2 1 设计需求资源分析 作为一个自助式手持餐饮系统终端 需要的硬件平台必然要能够方便携带 除了能 够支持视频监控设备外同时本身也要具有较强的核心处理性能 以便成为真正的便携设 备 在软件上来说 自助式手持餐饮终端 必然要提供良好的人机界面接口 以方便用 餐者操作 因此要采用图形化界面开发工具 还需要嵌入式操作系统的支持 总的来说 本设计需要以下一些软硬件资源 1 支持无线上网功能 2 具有屏幕输入和显示功能 3 支持嵌入式操作系统 4 支持图形化界面 根据以上一些要求 本系统选用北京博创兴业科技有限公司的UP TechPXA270嵌入式 开发平台来进行设计 它体积小 比较类似于手持式便携设备 当然做成产品时可再对 其硬件资源进行裁减 可以做到更小 成为真正的自助式餐饮终端设备 该平台的核心 工作频率为523MHz 拥有64M内存和80M Flash存储器 具有良好的图形处理性能 支持 CF卡无线上网 还具有液晶触摸显示屏 同时 它能够支持嵌入式Linux操作系统 从成 本上来考虑 选择开源的嵌入式Linux操作系统 也可以使得产品具有更高的性价比 它 可以支持Qt Embedded图形库 支持用Qt编写的图形界面程序 因此 该平台能够满足自 助式手持餐饮终端的所有资源需求 是较理想的一个选择 2 2 自助式餐饮终端整体体系结构设计 自助式餐饮体系采用无线网络通信方式 传统的自助式餐饮体系结构图如图2 1所示 图中可以看到 整个体系包括服务器 无线网络和嵌入式手持终端构成 手持 餐 饮 终 端设备上配备有无线网络芯片 通过它与无线网络接入点通信 无线网络接入点是无线 网络的核心 它是移动用户进入有线以太骨干网的接入点 无线网络接入点主要包括天 线和接入点本体 天线可以简便地安装在天花板或墙壁上等建筑内的隐蔽处 它在开放 空间最大有效搜盖范围可达50米 并把不同的用餐区域连接起来 这样 在餐厅的各个 区域都可以通过手持终端连接到数据库服务器端 图 2 1 传统的自助式餐饮结构功能图 但是传统的自助式餐饮体系存在着一些缺陷 如图2 1所示那样当顾客选定菜品后仍 需要服务人员把点菜单传至厨房 在用餐繁忙时段可能会产生人为的串单现象 井且由 于一些顾客比较挑剔 对于厨房的卫生情况和菜品的制作过程不放心 所以针对以上几 点我们对传统的自助式餐饮系统作了如下的改进 1 整个自助式餐饮体系由以前的以数据库为核心转变为以手持终端为核心 使所有的功能都通过终端来实现 真正实现自助式手持餐饮的特点 功能齐全又方便简单 2 利用手持终端作为客户选定菜单的服务器 使厨师通过网络看到用餐者的菜单 从 而避免了跑单所引起的错误 并节省了跑单时间 提高了效率 3 在厨房或者任意需要的地方设置摄像头 手持终端通过无线网络可以对这些地方进 行实时监控 改进后的自助式餐饮体系如图2 2所示 图 2 2 改进的自助式餐饮体系结构图 2 3 自助式手持餐饮终端软件结构设计 自助式手持餐饮终端的实现至少需要以下几个功能 服务器端的餐饮数 据库实现功能 手持终端的Web服务器的实现 视频监控服务器端的视频监 控功能实现 其系统软件结构如图2 3所示 图 2 3 自助式手持彼饮终端软件结构图 每一种模块功能又包括许多子功能 1 自助式手持餐饮终端通过浏览器可以实现菜品浏览功能 可以看到中英文的菜品名 称 菜品照片 菜品价格 菜品用料及制作过程介绍 菜品分类查询功能 用户点菜功 能 菜单修改及确认功能 同时能通过浏览器进行实时监控功能 2 自助式手持餐饮终端自身能实现Web服务功能 3 数据库服务器端可以实现对菜品的添加 修改和删除功能 外卖订单管理功能和用 户帐单打印功能 4 视频监控服务器主要实现了视频监控服务功能 第 3 章 自助式手持餐饮终端软硬件环境的建立 根据自助式手持餐饮终端的软硬件资源需求分析 本系统采用以 Intel Xscale PXA270 嵌入式微处理器为核心的硬件开发板平台 及嵌入式 Linux 操作系统和 Qt Enbedded 的图 形库 Qtopia 桌面环境管理系统组成的软件开发平台 下面为这些开发平台条件的搭建和 准备逐一做介绍 没有这些基础平台的准备 自助式手持餐饮终端就如空中楼阁 将无 法实现 3 1 硬件环境 本系统的硬件实现平台是北京博创兴业科技有限公司的 UP TechPXA270 教学开发平 台 它具有丰富的硬件资源 可以满足自助式手持餐饮终端的设计需求 UP TechPXA270 开发板由处理器核心板 主板及 LCD 三部分组成 该开发平台具有较高的处理器性能 支持多媒体数据优化处理 具有CF无线网卡接 口 另外具有8寸液晶触摸品显示 同时可以接受屏幕反馈 还支持嵌入式Linux操作系统 和Qt Enbedded嵌入式图形界面 是实现自助式手持餐饮终端的理想平台 除了核心开发平台和LCD液晶及触摸屏外 本终端还需要无线上网设备支持 根据 该开发平台的接口资源 无线上网设备为EagleTec 鹰泰 802 11b无线CF网卡 工作时 最大可达11Mbps的速率 3 2 软件开发平台的建立 3 2 1 嵌入式 Linux 操作系统的定制 开发板上软件运行平台的搭建 首先要根据对所需要硬件资源的支持定制嵌入式 Linux 内核 本系统使用开发板自带 Linux 2 6 9 版本的内核 因为厂商已打过相关处理器 芯片补丁 所以只需根据相关软硬件资源需求进行定制即可 本设计需要定制支持的硬 件 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 命令 将使用预先在开发主机上安装好的交叉编译工具 arm linux gcc 编译在当前目录下生成新的内核 vmlinux 将其烧入 PXA270 开发平台 文件系统可 以使用开发平台自带系统 3 2 2 Qt Embedded 及及 Qtopla 桌面环境的建立桌面环境的建立 Qt Embedded 是 Qt 图形化程序开发工具的嵌入式版本 是一个完整的自包含 GUI 和 基于 linux 的嵌入式平台的开发工具 可以设计出友好的用户界面 同时也封装了对底 层接口如套接字等操作 使得程序设计更加方便快捷简单 Qt 本身是一个完整的多平台 C 图形应用程序开发框架 是完全面向对象的 很容易扩展 并且允许真正的组件编程 它包含一个类库和用于跨平台开发及国际化的工具 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 工具的 TMAKEPATH 环境变量为支持 arm 工作目录外 在 对 Qt Embedded 进行配置时 还要指定 system jpeg 库支持 thread 加入程库支 持 xplatform 指定目标平台为 arm 平台 然后交叉编译 Qtopia 桌面环境 编译后 生成的结果 包括 Qt Embedded 图形库 都将被自动放入 QPE image opt Qtopia 中 将该目录打包并将其下载到目标机 并解压 Qtopia 桌面环境即搭建完成 3 2 3 嵌入式嵌入式 Konqueror 浏览器的分析浏览器的分析 嵌入式浏览器是支持互联网的嵌入式系统中的重要组成部分 与普通浏览器相比 嵌入式浏览器应该具有代码少 运行空间小 与操作系统紧密结合 需要针对嵌入式系 统定制开发等特点 嵌入式浏览器的作用就是在网页中利用 CGI CommonGatewayInterface 公共网关接口 来调用其他可执行程序 这样控制页面可 以做的很美观 而且可扩展性好 Konqueror embedded是针对嵌入式Linux 由著名的桌面操作环境KDE下的浏览器 Konqueror派生出来的 Konqueror embedded将Konqueror中关于 KHTML SSL SesunitySocketLayer 安全套接层 Javascript等内容继承下来 同时简化 Konqueror中很多类的定义 Konqueror embedded完整地支持 HTML4 HypertextMarkupLanguage 超文本连接标本语言 和 CSS1 CascadingStyleSheets 层叠样式表单 部分支持 CSS2 Javascript ECMAScript262 cookies SSL IPv6 支持和管理兼容的XBEL的书 签 并且能够很好地支持中文网页浏览 而且还可以将Konqueror embedded作为一个 pppdialer或文件管理器来使用 Konqueror E是由底层网络连接 图形化用户界面和处理HTML绘制的引擎 KHTML构 成的 底层的通信协议实现是基于KIO slave机制来实现的 GUI界面采用Kparts组建技术 和Qt的基本构件 而作为Konqueror E的核心 HTML则运用了文档对象模型 DOM 所 提供的API接口 并在DOM树上挂接javascript引擎 CSS解析器以及渲染引擎 Konqueror E的层次结构如图3 1所示 1 Kparts及QT构件实现GUI 在KDE中 部件被称为part 这和MS中的OLE组件是一个概念 一个part通常包含三 个部分 一个窗口 功能 以及使用该功能的用户接口 应用在浏览器项目中 part包含 了多个窗口 一个页面对应于一个part 而一个页面有可能包含多个窗口 part提供的功能 包括 页面 页间的跳转 重定向 窗口的创建和删除 用户的输入处理 剪切 粘贴 等 同时为使用这些功能提供了菜单 工具条 状态条等用户接口 其他的应用程序可 以使用该part把浏览器窗口嵌入自己的应用中 为了方便地实现将现有应用作为一个控件插入到另外一个应用中去 采用了part对象 负责管理整个应用和窗口 对于每个窗口又采取了类似MicrosoftMFC中的Doc View结构 因此在将应用嵌入到另外一个应用中的时候 只需要获得part中的接口和数据即可 对窗 口的一切操作的响应由被嵌入应用的part对象来完成 而类Doc view结构只简单的负责显 示和保存显示数据 2 执行DOM模块 DOM模块对经过解析的标记进行文法检查 并把属性看作节点 按照标记的语义包 含关系以及先后顺序组织成DOM树 它给HTML文档定义了一个与平台无关的程序接口 使用该接口可以控制文档的内容 接口和样式 在执行DOM模块的过程中 浏览器将所 有从语法语义解析模块中获得的标记和属性按照一定的层次结构组成DOM树 完成构筑 DOM树的功能后 DOM模块会同时标记和属性以对象的形式传给绑定模块和脚本引擎模 块 3 执行I O模块 浏览器加载有关的I O文件 对HTTP等协议进行解析 语法语义解析模块的解析功能 分为两部分 一是对接收到的字节流进行分词 解析为关键字 二是调用解析器检验关 键字是否合法 若是合法的关键字 则按规则插入到DOM树中 HTML的标记 tag 和属性 attribute 统称为HTML的关键字 基本上所有 HTML4 0规范的标记都在此功能模块中获得支持 从I O模块中接收字节流进行分词 输 出标记 再对标记进行判断 如果是HTML规范中合法的标记 则把标记看作一个节点 并组成一颗语法树 对属性标记的解析首先在标记处理类中执行 如果解析不成功 则 交给基类的属性解析器进行解析 图 3 1 Konqueror embedded 的层次结构 第 4 章 持餐饮终端与数据库服务器的无线通信 4 1 概论 20世纪90年代 无线通信技术与计算机网络相结合产生了无线局域网 Wireless Local Area Network RAN 技术 WLAN是指采用无线介质传输的计算机局域网 采用的标 准是工EEE 802 11系列 WLAN可以为移动或半移动的用户提供高效 优质 低成本的宽 带接入服务 无线局域网 WLAN 是相当方便的数据传输系统 是取代双绞线的无线局域 网络 WLAN的传输方式包括WLAN采用的传输媒介 选择的频段及调制方式 无线网络具 有通信可靠 成本低 灵活性 可移动性和高吞吐量等特点 就目前而言 无线局域网 的标准大致有三个 即ETS1提出了HiperI AN的无线局域网协议族 IEEE组织提出的 802 11系列的无线局域网协议族 以及HomeRF提出的与前面两者相兼容的标准 本文采用 802 11b无线局域网协议 作为一项得到广泛应用的无线技术 IEEE 802 11b定义了先 进的网络拓扑 不仅提供了在局域网范围内的移动终端的通信 还能提供超出局域网范 围的设备之间的通信 使得设备可以在不同范围内的WLAN之间漫游 以及和有线网络设 备之间的通信 本章重点描述了手持餐饮终端通过无线局域网实现与数据库服务器的通 信 4 2 无线网卡的驱动分析和设计 4 2 1 PCMCIA 系统结构 CMCIA Personal Computer Memory Card International Association 个人计算机 存储卡国际协会 该协会成立于1989年 主要为采用PCMCIA接口的设备制定规范标准 采用PCMCIA接口的扩展卡 我们一般称为PC卡 Linux操作系统中有一个PCMCIA一 CS子 系统 它由三层结构构成 如图4 1所示 最底层是 插口 驱动层 socket driver 第二层是PC卡服务层 Card Services 最上层是PC卡客户层 Card Client 一个特殊 的PC卡客户叫做驱动服务 Driver Services 提供一个统一的接口给PC卡应用工具 Cardmgr Cardctrl等 每一层都通过标准AP工接口为上层提供服务 最上层的应用软 件也是通过应用层AP工函数实现对PC Cards的读写操作 图 4 1 PCMCIA CS 系统结构 Socket Driver是处理最底层硬件的软件层 通常是具体操作硬件的函数集 提供对 不同PCMCIA控制器和不同系统平台的支持 从而屏蔽了PCMCIA插槽和硬件资源配置的差 异 使用不同PCMCIA控制器的系统要有各自的Socket Driver层软件 从而使PC Card的 驱动程序与PCMCIA插槽无关 Card Service是PCMCIA系统中最大的一个组件 提供对于 操作PC Card和PC Card Stocket的标准API Card 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 Socket Driver 的实现 根据PCMCIA标准 Socket Driver层是通过API函数为Card Service提供服务的 编 写Socket Driver层驱动也就是实现这些操作硬件的函数 能够为PCMCIA卡配置模拟的系 统设备功能的Socket控制器才能为Socket Service提供有效的接口 这要求它能提供两 个10函数和五个存储窗口 这些窗口可以在主机的地址空间中独立配置同时映射到卡的 地址空间 一些控制器不能实现这一功能 这时 就需要Socket Service提供有效对 client驱动模拟的socket接口 定义Socket Service和具体实现的接口数据结构 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 函数 该函数的功能是 西南交通大学硕士研究生学位论文第17页 完成用户驱动程序与卡槽的绑定 若绑定成功则返回0 否则返回一1 其参 数分别是 设备的名称 dev info 设备初始化连接函数 pccard attach 和设备取消连接函数 pccard detach 卸载的入口函数exites mypccard Cs中用到的主要函数有三个 分别是 unregister pccard driver 取消用户驱动程序与卡槽的绑定 这是个系统 函数 其参数是dev info 也就是卡的名称 pccardes release是从系统里注 销PCMCIA设备并且释放设备的配置空间 pccard detach从系统里删除驱动 程序的实例 也就是其所用过的数据结构等 PCMCIA设备驱动程序必须注册两个设备人口函数 分别是attach和 detach其中attach函数完成对设备驱动程序的实例化并为它的数据结构分 配空间 而且会向卡服务程序 Card Services 注册这个驱动程序 Detach 函数则向卡服务程序 Card Services 注销这个驱动程序 并且从系统里删除 这个驱动程序的实例 也就是其所用过的数据结构等等 2 PCMCIA设备的事件处理 PCMCIA设备的热插拔是通过对卡槽的相应事件的监测而完成的 不论是卡的插入还 是拔出 或者是重启动以及挂起等 都会形成特定的事件掩码 驱动程序通过系统调用 获得这些事件掩码以后 通过相应的函数来完成这些特定的事件 比方说卡的拔出事件 被检测到以后 驱动会自动调用卡的拔出函数来完成一系列的操作 来注销这块卡的相 应结构 在卡的入口函数中我们己经看到了事件函数的入口 是通过一个指向函数的指 针来初始化事件函数 其函数的主体结构是一个case语句 通过检测事件掩码来跳转到 不同的事件处理函数 并且设置相应的状态位 3 PCMCIA的配置处理函数 由于PCMCIA卡插入卡槽以后 默认是存储卡 为了使它变成I 0或者多功能卡 就必 须根据卡信息结构体 C工S 里面的内容对它进行配置 对它的配置主要是通过调用卡服 务程序里面提供的系统调用来完成 卡信息结构体里面的结构分为三个部分即 卡信息 结构体结构号 偏移量以及具体的配置内容 卡服务程序里面提供了cistpl函数集合来 专门处理卡信息结构体相关信息 驱动程序只需要调用这些函数集合来访问卡信息结构 体 并且利用卡服务程序的RequestConfiguration函数功能来完成配置功能 该函数的 参数仍然是dev link t结构 4 PCMCIA设备的操作 在Linux操作系统中 所有的硬件设备都是作为一个特殊设备文件来使用的 如 cdrom在Linux中对应的文件为 dev cdrom 要让应用程序使用pcmcia设备 同样也必须 建立与该设备对应的特殊设备文件 驱动程序通过文件操作 file operations 数据结构 对该文件进行操作 如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机电界面技术要求 中使用 CF卡使用的连 接器与PCMCIA的相似 PCMCIA CF卡拥有两个存储空间 属性内存 attribute memory 和 公共内存 common memory 属性内存类似于CIS Card Information Structure 用来 保存配置注册和描述符信息 Linux卡服务核心与主机控制器设备驱动程序 卡设备驱动 程序及用户模式cardmgr后台进程交互 我们使用的是鹰泰ET CWB1000无线网卡 该网卡 符合802 11 b协议 使用CF接口 配置网卡之前 必须先禁用有线网络连接设备eth0 否则产生冲突 无法连接网络 在平台插入无线网卡后 先运行 ardmgr命令 对无线网 络进行配置检测 然后可以使用cardctl命令查看状态网络状态 若检测到就可以配置IP 地址通过无线接入点AP上网了 ping网关可以看到网络连通的信息 同时 执行 ifconfig可以看到ethl设备 即配置成功 如果配置好了无线网卡后仍然不能通过无线网 络上网上网 这是因为手持终端的有线网络没有屏蔽掉 用命令 ifconfig eth0 down来 屏蔽掉有线网络 然后就可以利用无线网络来上网 总结如下 要想实现无线上网 启 动后输入以下 命令 Afconfig ethl 192 168 0 7Q Wconfig eth0 down cardmgr命令来激活无线网卡 ifconfig命令来设置无线IP 最后一个命令就是用来屏蔽 有线网络 4 3 数据库服务器的建立 4 3 1 数据库服务器端整体功能分析 服务器端数据库整体功能结构分析如图4 2所示 图 4 2 总体结构图 根据餐饮系统的特点 可以将其分为前台和后台两个部分 前台主要用于实现菜品 展示 会员信息管理 菜品查询管理等功能 后台主要用于管理员对菜品信息 会员信息 和菜单信息进行管理 下面对前台 后台两个部分分别进行分析 餐厅的前台功能结构如图4 3所示 图 4 3 点菜系统前台功能结构图 餐厅的后台功能结构如图4 4所示 图 4 4 点菜系统构台功能结构图 4 3 2 前台模块设计 1 用户注册模块 用户注册模块中最重要的就是用户信息注册表 用户注册表信息来保存用户注册信 息 该表的结构如表4 1所示 表 4 1 用户注册信息表 Member 的结构 列表数据类型长度主键否允许空功能描述 IDInt4是否唯一标识 NameVarcher30否否账户名称 PasswordVarcher30否否登录密码 EmailVarcher200否否 电子邮箱地 址 RwalNameVarcher50否否 用户真实姓 名 PhoneVarcher30否否联系电话 AddressVarcher150否否联系地址 当我们要修改用户注册信息时 引用表4 1种的帐户名称 登陆密码 电子邮箱 用 户真实姓名 联系电话以及联系地址等字段 将这些字段显示给用户 同时允许用户修 改除帐户名称外的所有字段 然后将新的信息写入到数据库中 修改用户注册信息与用户注册表信息相比 多了两个表单元素 如表4 2 表 4 2 新增 Member 表单元紊 LoginVarcher30否否提交表单 ResetVarcher30否否重设表单 2 用户登录模块 用户进入登陆模块 输入帐号密码进行身份验证 系统将会引导用户进入页面 进 行信息录入和提交的工作 浏览器端输出相应的信息表 如图4 5所示 图 4 5 用户注册信息 3 菜品分类查询模块 菜品信息表 Goods 用来保存菜品信息 该表的结构如表4 3所示 表 4 3 菜品信息表 Goods 的结构 列表数据类型长度主键否允许空功能描述 IDint4是否唯一标识 Namevarcher100否否菜单名称 Vendibilityfloat8否否单价 Memberpricefloat8否否会员价 Picturevarcher100否否 图片信息地 址 Residevarcher100否否所属分类 Remarkvarcher200否否备注分类 Numberint4否否数量 菜品分类查找主要是根据用户提交的表单信息和传递的参数进行数据库检索 并将 结果输出到浏览器中 例如我们选择了菜品分类的 中餐 后 在提交以后 系统就会 跳转到 中餐 分类表中 这样变可在 中餐 分类表中选择自己所喜爱的菜品 4 菜品购买模块 菜品购买模块是整个数据库服务端的核心部分 当用户在系统首页 或者分类查询 中查询到自己所喜爱的菜品 并点击 购买 链接 则系统会显示用户购买菜品的所有 信息 包括数量 编号 菜品名称 价格 以及价格小计 如果用户还需要继续点菜则 可以回到主页面点菜 而以前的点菜信息仍然保存 如果选好了菜品 则可以点击 结帐 按钮 并输入自己的信息 姓名 密码 并选择付款方式来完成交易 其具体流程如图4 6 所示 图 4 6 菜品购买流程 我们可以选择改变数量来改变我们所需菜品的数量 页面将客户所作的修改写入数据 库中 4 3 3 后台模块设计 后台页面主要包括以下功能模块 后台登陆模块 用于管理员登陆网站后台 菜品信息管理 主要包括菜品信息浏览 添加 修改 删除4部分 订单管理 主要包括订单信息查询 订单信息添加 订单信息修改和订单删除4部分 客户资料管理 主要包括客户信息浏览 客户信息修改 客户信息添加以及客户信息 删除4部分 我们以菜品信息管理模块为例 来介绍千味居餐厅的后台模块开发 菜品信息管理 包括信息浏览 修改 添加 删除 1 菜品的浏览 菜单浏览页面使用了系统菜品信息表 系统应用这个表的菜名字段 将所有的菜名 查找出来 提供管理员选择具体的菜品 浏览菜品的页面的表单元素如表4 4所示 表 4 4 浏览菜品的页面的表单元素 2 菜品的修改 当我们在管理页面中选择了修改时 我们就进入修改菜品单元 使用了3个ASP页面 来完成对菜品信息的修改 第一个页面是用来让管理员选择所需菜品的种类 即菜名 第二个页面是用来修改主页面 它将菜品的所有信息都显示出来 供用户修改 第三个 页面是检查页面 检查页面信息合法性 决定是否写入到数据库中 其页面分布如图4 7 所示 图 4 7 菜品修改页面分布 3 菜品的添加和删除 当我们选择添加键进入菜品添加模块 添加菜品信息页面使用了系统的菜品 goods 表 应用了表的标识号 菜品名称 单价 会员价 图片信息 数量 厨师信 息以及菜品备注信息 删除菜品信息页面也应用了数据库服务器中菜品数据表的标识号 菜品名称 单价 会员价 图片信息 数量 厨师信息以及菜品备注信息 在删除菜品页面有3个表单元素 具体名称和值与表4 4一致 具体的数据库服务器端的代码由Vbscript语言编写而成的 比较简单 在这里就不详 细介绍了 4 4 自助式手持餐饮终端与系统数据库服务器之间的通信 1 B S结构模式 现代网络以Web为中心 采用TCP IP技术 以HTTP为传输协议 客户端通过Browser 访问Web以及与Web相连的后台Database 即B S Browser Server 模式 三层结构的B S 模型由浏览器和服务器组成 服务器包括Web服务器 数据库服务器 应用服务器 中间 层等 数据和程序存放在服务器端 服务器可以有多层结构 并执行必要的计算 负责 与数据库的交互工作 并将结果发送到客户 浏览器端不用维护 用户只需拥有浏览器 即可十分容易的使用该系统 B S网络化模式可以用公式表示为 B S结构模多浏览器十单 web服务器 多个数据库服务器十动态计算 2 IIS服务器 IIS Internet Information Server 是微软所推出的服务器软件 它是一个 RDA Remote Data Access 远程数据访问 模型 是Windows设备在B S系统当中的一种存 取模式 在B S构架中 数据库存放于服务器 客户端则是通过网络存取服务器上的数据 在数据库中的应用程序通过IIS把需求传送给服务器 服务器也需要经过IIS做媒介把信 息传送给客户端 工IS一个很重要的特性在于它支持服务器端的脚本 IIS内含了ASP ActiveServer Page动态服务页面 组件和Web服务器 使B S结构下网站开发者可以很方 便的创建动态交互的Web站点 IIS作用相当于一个处理所有用户的网关 当用户请求 asp文件时 IIS将调用工SAPI过滤器或者DLL组件 将用户请求的 asp文件转换为ASP 动 态服务页面 解释器能够识别的代码 由其执行后反馈给浏览器 显示出所有浏览器可查 看的HTML格式 由于IIS服务器的安装十分简单 所以在这里就不作介绍了 3 ASP技术 ASP是一种服务器端的指令环境 用来建立并执行交互式Web服务器应用程序 ASP程 序包含 脚本语言程序 Scripting Language 嵌入HTML Embedded HTML COM组 件调用 等3个部分 前者可由VBScript JavaScript PerIScript Python REXX等程 序语言编写而成 也正是由于ASP程序可以嵌入HTML 因此 现有的HTML文件 扩展名为 html 很快便可以转换为ASP程序 扩展名为 asp 4 手持终端与数据库服务器之间的通信过程 手持终端与远程服务器间的通信过程如图4 8所示 图 4 8 手持终端与远程服务器间的通信过程 用餐者在手持终端浏览器上输入一个URL地址 1 服务器接受请求并调出相应的页面 送给手持终端的浏览器 2 用户提交HTTP请求把数据传递给服务器 3 这是在服务器 端执行表单所设定的应用程序 ASP 而不是一个简单的HTML文件 4 在服务器端运行 ASP文件 分析表单的输入数据 如果需要从数据库中得到信息 ASP通过ActiveX组件 ADO ActiveXData Object 和ODBC接口与数据库交互

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论