1、 20XX 届 本科毕业 论文(设计) 题 目 : 基于 ARM的智能点餐系统设计与实现 系 别 : 信息工程 学院 班 级 : 20XX级计算机科学与技术 (嵌入式技术方向 ) 学 号 : 姓 名 : 指导教师 : 职 称 起讫日期 : 基 于 ARM 的智能点餐系统设计与实现 摘要: 在餐饮行业传统的人工点餐随着社会的发展 有的问题日益显现,有的甚至制约了该行业的发展(比如:管理成本)。 所以无线点餐在不远的将来也必将取代传统的点餐方式。 本设计就 是 利用ARM9 开发板, 实现了手机端和开发板端 的 无线智能点餐 的 功能。本设计 主要采 用三层 C/S 和 B/S 相结合的混合架构模
2、型 ,在集成方式上采用数据集成即使用相同的数据库实现数据间的共享 。 三层 C/S架构中的表示层在 Android手机上实现, 主要 用于 与用户的的交互实现 点餐信息的收集 ,同时 将点餐 信息发送到业务逻辑层的功能。在业务逻辑层 也就是开发板端采用的是用 Linux 作为操作系统,用 QT 作为图形界面开发语言,实现了对外接的 GSM 短信模块 的 点餐短信信息的接收和点餐成功的回复信息,以及作为终端的点餐信息收集功能 。 同时在 用餐者结账离开时将点餐数据提交到数据处理层 。 在数据层主要利用 PC 上的 JAVA 开发 环境实现 对 SQL Server 2008 数据库的增删改查 ,
3、同时完成 点餐数据的 接收 (无线或串口 ),解析等功能。 B/S 架构中的服务器端在 ARM9 开发板上 主要 利用 LINUX 操作系统对外提供的 API 接口, BOA 小型 Web 服务器提供的功能,以及 C 语言编写的 CGI 等技术 。 该服务器端 主要接收客户端浏览器 发出的 HTTP 请求 ,并 返回 处理后的 HTTP 响应 页面 ,完成点餐系统的登入,数据查看,数据修改和数据删除的功能。客户端可以是 PC 上的浏览器也可以是移动设备。 关键词: GSM; WEB; ARM9; JAVA; Android 手机 客户端; B/S; C/S; SQL Server 2008 目
4、录 第一章 绪论 . 1 1.1 本文研究的背景和意义 . 1 1.2 本课题研究的主要内容 . 1 1.3 本文组织结构 . 2 第二章 系统总体设计 . 3 2.1 总体设计 . 3 2.2 系统详细设计 . 3 第三章 系统开发环境和软硬件选型 . 6 3.1 软硬件开发环境选择 . 6 3.2 硬件环境 . 6 3.3 软件环境 . 8 第四章 PC 端数据层设计和实现 . 10 4.1 PC 端设计主要技术 . 10 4.2 功能需求分析 . 10 4.3 PC 端界面及代码 . 10 4.4 数据接收的设计和实现 . 12 4.5 数据库的设计和实现 . 13 第五章 开发板端业务
5、逻辑层设计和实现 . 16 5.1 系统设 计主要技术 . 16 5.2 功能需求分析 . 16 5.3 系统逻辑层代码实现 . 17 5.4 系统逻辑层实现界面 . 21 第六章 Android 端表示层设计和实现 . 28 6.1 安卓客户端设计主要技术 . 28 6.2 功能需求分析 . 28 6.3 Android 端实现代码 . 28 6.4 Android 端功能界面 . 29 第七章 结论 . 33 参考文献 . 34 2015 届计算机科学与技术 (嵌入式技术方向 )专业毕业论文(设计) 1 第一章 绪论 随着 网络的快速发展,很多传统行业都发生了巨大的变化 。 传统的餐饮行业
6、也 相应的 受到 了影响,基于无线的网络点餐系统也将慢慢取代传统的点餐经营模式 1。 所以 基于 ARM 的智能点餐系统的实现 对于管理者 不仅在管理上更加方便,更为关键的是可以从本质上降低 餐馆的营运成本。同时站在 顾客 的角度, 既可以通过手机也可以在餐馆终端上点餐 会显得 更加人性化,也更加快捷和便 利 。 1.1 本文研究的背景和意义 随着时代的进步,嵌入式产品在各种各样的的地方得到了运用。 嵌入式系统通常被定义为以应用为核心、 以计算机技术为基础、可裁剪其软硬件,适用于应用系统,对功能、可靠性、成本、体积、功耗均严格要求的专用计算机系统 2-4。 一个嵌入式系统一般包含一个操作系统、
7、一个嵌入式的处理器、以及一些外围电路和部件 , 最后当然也要包含 针对 不同用户的应用程序 5。 嵌入式技术发展至今大致经过四个阶 6-7。 首先是 可编程 阶段 ; 之后是 能够对存储容量等外部设备进行简单地扩展; 再后来就是 嵌入式操作系统的 出现;最后一个阶段就是 人们已经能够在智能手机、各类家用电器中看到嵌入式操作系统的影子。 由于嵌入式产品的特点在很多方面都符合运用在无线点餐系统上的要求 。 利用嵌入式交叉编译和目标机、宿主机相分离等开发技术可以从根本上改善传统餐饮行业的弊端和不足和节省开发成本和费用,最后开发的产品 在特点环境下运行 8-9。 1.2 本课题研究的主要内容 本毕业设
8、计的题目是 基于 ARM 的智能点餐 系统设计 与实现 。本设计主要进行如下方面的研究: 在 Android 手机端 主要是 用户点餐界面的应用程序 开发,在嵌入式设备 ARM9 开发板 上 主 要 利用Linux 操作系统提供的 API, 用 QT 作为界面开发语言 进行 的 点餐终端的开发 和 Wed 服务器、 无线网络驱动的移植,在 PC 上利用 JAVA 开发平台实现对点餐信息数据的管理,最后需要解决系统中各模块之间的 数据通信以及 数据库中的 数据共享 的问题 。 本设计主要做了如下几方面的工作: (一 )系统需求分析 : 本系统需要实现最基本的点餐功能以及点餐信息的管理和存储, 点
9、餐信息 可以通过餐馆内的终端 进行点餐,也可以用 移动设备 (比如: 手机 ) 进行 短信 点餐。 在点餐信息修改方面,若是通过终端点餐的用户 可以通过餐馆内的局域网通过网页实现点餐 信息的查看和修改 ,若是利用手机 APP 通过短信点餐的 用户也可以利用短信进行反向修改操作。同时系统还需黄宣颖:基于 ARM 的智能点餐系统设计与实现 2 对 以往的点餐信息进行存储。 (二 )系统可行性分析 : 在这方面主要是通过查看网络上相关的信息再结合自己的硬件平台进行分析,最终确定系统 的硬件选择。 在软件设计方面首先是 ARM 板上图形界面开发语言的选择以及 PC 服务端开发语言的选择,在开发板中图形
10、界面的选择中因为对于 QT 的使用、 控件的使用以及开发流程比较熟悉,所以选择 QT 作为开发板的图形界面开发。在 PC 服务端中 综合比较各种界面开发语言的优缺点 以及掌握程度,最终选择 JAVA 平台开发 PC 服务端的需求 。 (三 )系统架构设计:根据之前需求和可行性分析的基础上,最后决定采用 C/S 和 B/S 架构相结合的混合架构进行系统的开发 , android 端作为该系统的客户端主要进行用户点餐信息的收集, ARM开发板既作为 B/S 的服务器端,接收浏览器提交的 html 的请求,并返回页面,同时又扮演着将点餐信息最终提交到 PC 服务端的业务处理层。最后是该系统的数据层,
11、考虑到数据量会比较大,如若全部存放在开发板中可能导致存储空间不够用的情况,所以选择 PC 作为最终点餐数据 信息的 存储位置。 1.3 本文组织结构 本 文总共 七 章分别 讲述 了 基于 ARM 的智能点餐 系统设计 和实现 。第一章 主要是介绍了本设计的研究的背景和意义 ;第二章介绍了系统框架以及 系统框架图用于帮助理解该点餐系统 ; 第三章 主要介绍了开发设计过程中使用的开发工具和软件 ;第四章讲述了本系统的 PC 端数据处理层 功能 的设计与实现;第五章讲述了本系统的 ARM 开发板端业务逻辑层 功能 的设计与实现;第六章讲述了安卓客户端的 功能 设计与实现;第七章 主要 讲述了本系统
12、在设计实现过程中与遇到的问题以及一些体会和总结。 2015 届计算机科学与技术 (嵌入式技术方向 )专业毕业论文(设计) 3 第二章 系统总体设计 2.1 总体设计 经过对系统的功能需求以 及现有的开发环境和硬件的情况下 ,设计本系统 在 Android 端和ARM9 终端上采用 C/S 中客户端点餐信息的收集, PC 端作为 C/S 中的服务器端管理 和存储 以往点餐信息。在 ARM9 上也可作为 B/S 中的服务器,处理点餐信息的查看和变更,客户端可以是局域网内的任意浏览器。根据以上情况设计 如下 五 个 模块 : 安卓手机客户端 的 点餐 数据采集、 GSM接收点餐信息模块 、 ARM9
13、 信息处理模块、 PC 端数据库管理模块以及 WEB 模块 。该系统的模型框架如图 2-1 所示。 图 2-1 系统整体模型框架图 2.2 系统详细设计 本系统根据现有的设备、 PC 电脑、 Android 手机进行设计,主要分为 五 个模块: 安卓手机客户端的点餐数据采集、 GSM 短信模块 接收 android 端点餐信息 、 ARM9 信息处理模块、 PC 端数据库管理模块以及 WEB 模块。 在 ARM9信息处理模块中由于考虑到手机 Android端点餐时间的不确定性故在系统上电时就自动打开 GSM 模块准备接受 Android 端点餐信息,而提交点餐信息到 PC 上时则让 socke
14、 客户端连接到socket 服务器端,在传输结束后客户端发送 bye 字符串结束该客户 端进程 ;本系统的总体框架如图2-2 所示。 安卓手机客户端 ARM9 开发板 WEB 客户端 Web 服务器 QT 信息处理 GSM 模块 PC 端数据库管理 Sqlite Socket 移动网络 串口 http 协议 黄宣颖:基于 ARM 的智能点餐系统设计与实现 4 图 2-2 智能点餐 系统的总体框架图 以下是对这 5 模块功能的详细介绍: Android 手机客户端在 JAVA 平台上进行开发的,所以可移植性性高。手机端的点餐 APP 作为系统的表示层主要实现与用户之间的 信息的交互和提交点餐信息
15、、接收 GSM 短信模块的返回信息。 短信模块使用的是 GTM900 无线模块, 它 使用 AT 指令 ,通过 串口 与外部 CPU 通信, 可以 实现短信的收发和电话的接听和拨打 等功能。 GTM900 的逻辑框图如图 2-3 所示。 图 2-3 GSM 逻辑框图 ARM9 信息处理模块采用 linux 作为本设计的操作系统,在操作系统上主要使用 QT 作为界面开发语言,实现串口数据的接收发送,利用无线网卡进行 socket 通信,以及与 sqlite 数据库数据间的操作。 PC 端数据库管理模块主要利用 PC 上的 JAVA 开发环境 实现对 SQL Server 2008 数据库的增删改
16、2015 届计算机科学与技术 (嵌入式技术方向 )专业毕业论文(设计) 5 查,同时完成接收 (无线或串口 ),解析等功能。从而屏蔽了直接与底层数据的直接操作。 WEB 模块中的服务器端主要利用 web 小型服务器 boa对 html 请求进行响应和回复, 就可以担任一些功能简单的服务器。 Boa 的设计目标是速度和安全,在实验中验证得出在嵌入式开发板的应用上, Boa 的性能要好于 Apache 服务器 10。 同时 它还可以 自动生成目录,自动解压文件等功能, 所以非常适合在 嵌入式系统中 应用 ,使用 CGI(公用网关接口, Common Gateway Interface)进行处理。
17、黄宣颖:基于 ARM 的智能点餐系统设计与实现 6 第三章 系统开发环境和软硬件选型 3.1 软硬件开发环境选择 本系统的开发环境可以分为硬件环境和软件环境: (1) 硬件环境主要有: 1 WEB 服务器端 与 WEB 客户端 : Mini2440 开发板, PC; 2 点餐信息收集硬件 : Mini2440 开发板,安卓手机 ; 3 开发板与手机通信硬件 : 华为 GSM900-B 无线 模块 ; (2) 软件环境主要有: 1 涉及的开发工具环境: QT 交叉编译 开发环境 、 Eclipse 开发平台 ; 2 涉及的操作系统: Windows, Linux; 3.2 硬件环境 1 Mini
18、2440 开发板 模块概述 本设计中选择的 开发板处理器采用 ARM920T 内核, 该处理器 不仅功耗低而且具有较高的系统处理能力。 S3C2440 微控制器具有 16KB 的指令 Cache 和 16KB 的数据 Cache。同时,其 支持 WinCE、 Linux等嵌入式操作系统 11。 串口模块: 该开发板中一共有三个串口,其中 COM0 做了电平转换 。 三个串口 在开发板上的位置如图 3-1 所示。 图 3-1 Mini2440 串口 接口 图 USB 接口模块:开发板中有两种 USB 接口, 一个是 USB Host,可以接常见的 USB 外设,另外一种是 USB Slave,一
19、般使用它来下载程序到目标板。 在本设计中使用其外接无线网卡实现无线通讯,Mini2440 USB 原理图如图 3-2。 2015 届计算机科学与技术 (嵌入式技术方向 )专业毕业论文(设计) 7 图 3-2 Mini2440 USB 端口原理图 LCD 接口模块: Mini2440 开发板的 LCD 接口是一个 41Pin 0.5mm 间距的白色座, 其中包含了完整的 RGB 数据信号 (RGB 输出为 8: 8: 8,即最高可支持 1600 万色的 LCD)。 如 图 3-3 中的 J2 为 LCD 驱动板供电选择信号 。 图 3-3 Mini2440 LCD 原理图 2 华为 GSM900-B 无线 模块 华为 GTM900 无线模块它支持标准的 AT 命令及增强 AT 命令 ,能够通过 AT 指令传输指令和数据 , 同时该模块还能够 提供丰富的语音和数据业务等功能。 GTM900 无线模块也适合在 GT800 的网络下运行。 GTM900 的业务框图如图 3-4 所示 , GTM900 实物图如图 3-5。