




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20XX届本科毕业论文(设计) 题 目: 基于ARM的智能点餐系统设计与实现 系 别: 信息工程学院 班 级: 20XX级计算机科学与技术(嵌入式技术方向) 学 号: 姓 名: 指导教师: 职 称 起讫日期: 基于ARM的智能点餐系统设计与实现 摘要:在餐饮行业传统的人工点餐随着社会的发展有的问题日益显现,有的甚至制约了该行业的发展(比如:管理成本)。所以无线点餐在不远的将来也必将取代传统的点餐方式。本设计就是利用ARM9开发板,实现了手机端和开发板端的无线智能点餐的功能。本设计主要采用三层C/S和B/S相结合的混合架构模型,在集成方式上采用数据集成即使用相同的数据库实现数据间的共享。三层C/S架构中的表示层在Android手机上实现,主要用于与用户的的交互实现点餐信息的收集,同时将点餐信息发送到业务逻辑层的功能。在业务逻辑层也就是开发板端采用的是用Linux作为操作系统,用QT作为图形界面开发语言,实现了对外接的GSM短信模块的点餐短信信息的接收和点餐成功的回复信息,以及作为终端的点餐信息收集功能。同时在用餐者结账离开时将点餐数据提交到数据处理层。在数据层主要利用PC上的JAVA开发环境实现对SQL Server 2008数据库的增删改查,同时完成点餐数据的接收(无线或串口),解析等功能。 B/S架构中的服务器端在ARM9开发板上主要利用LINUX操作系统对外提供的API接口,BOA小型Web服务器提供的功能,以及C语言编写的CGI等技术。该服务器端主要接收客户端浏览器发出的HTTP请求,并返回处理后的HTTP响应页面,完成点餐系统的登入,数据查看,数据修改和数据删除的功能。客户端可以是PC上的浏览器也可以是移动设备。关键词:GSM;WEB;ARM9;JAVA;Android手机客户端;B/S;C/S;SQL Server 2008目录第一章 绪论11.1 本文研究的背景和意义11.2 本课题研究的主要内容11.3 本文组织结构2第二章 系统总体设计32.1 总体设计32.2 系统详细设计3第三章 系统开发环境和软硬件选型63.1 软硬件开发环境选择63.2 硬件环境63.3 软件环境8第四章 PC端数据层设计和实现104.1 PC端设计主要技术104.2 功能需求分析104.3 PC端界面及代码104.4 数据接收的设计和实现124.5 数据库的设计和实现13第五章 开发板端业务逻辑层设计和实现165.1 系统设计主要技术165.2 功能需求分析165.3 系统逻辑层代码实现175.4 系统逻辑层实现界面21第六章 Android端表示层设计和实现286.1 安卓客户端设计主要技术286.2 功能需求分析286.3 Android端实现代码286.4 Android端功能界面29第七章 结论33参考文献342015届计算机科学与技术(嵌入式技术方向)专业毕业论文(设计)第一章 绪论随着网络的快速发展,很多传统行业都发生了巨大的变化。传统的餐饮行业也相应的受到了影响,基于无线的网络点餐系统也将慢慢取代传统的点餐经营模式1。所以基于ARM的智能点餐系统的实现对于管理者不仅在管理上更加方便,更为关键的是可以从本质上降低餐馆的营运成本。同时站在顾客的角度,既可以通过手机也可以在餐馆终端上点餐会显得更加人性化,也更加快捷和便利。1.1 本文研究的背景和意义随着时代的进步,嵌入式产品在各种各样的的地方得到了运用。嵌入式系统通常被定义为以应用为核心、以计算机技术为基础、可裁剪其软硬件,适用于应用系统,对功能、可靠性、成本、体积、功耗均严格要求的专用计算机系统2-4。一个嵌入式系统一般包含一个操作系统、一个嵌入式的处理器、以及一些外围电路和部件,最后当然也要包含针对不同用户的应用程序5。嵌入式技术发展至今大致经过四个阶6-7。首先是可编程阶段;之后是能够对存储容量等外部设备进行简单地扩展;再后来就是嵌入式操作系统的出现;最后一个阶段就是人们已经能够在智能手机、各类家用电器中看到嵌入式操作系统的影子。由于嵌入式产品的特点在很多方面都符合运用在无线点餐系统上的要求。利用嵌入式交叉编译和目标机、宿主机相分离等开发技术可以从根本上改善传统餐饮行业的弊端和不足和节省开发成本和费用,最后开发的产品在特点环境下运行8-9。1.2 本课题研究的主要内容本毕业设计的题目是基于ARM的智能点餐系统设计与实现。本设计主要进行如下方面的研究:在Android手机端主要是用户点餐界面的应用程序开发,在嵌入式设备ARM9开发板上主要利用Linux操作系统提供的API,用QT作为界面开发语言进行的点餐终端的开发和Wed服务器、无线网络驱动的移植,在PC上利用JAVA开发平台实现对点餐信息数据的管理,最后需要解决系统中各模块之间的数据通信以及数据库中的数据共享的问题。本设计主要做了如下几方面的工作:(一)系统需求分析:本系统需要实现最基本的点餐功能以及点餐信息的管理和存储,点餐信息可以通过餐馆内的终端进行点餐,也可以用移动设备(比如:手机)进行短信点餐。在点餐信息修改方面,若是通过终端点餐的用户可以通过餐馆内的局域网通过网页实现点餐信息的查看和修改,若是利用手机APP通过短信点餐的用户也可以利用短信进行反向修改操作。同时系统还需对以往的点餐信息进行存储。 (二)系统可行性分析:在这方面主要是通过查看网络上相关的信息再结合自己的硬件平台进行分析,最终确定系统的硬件选择。在软件设计方面首先是ARM板上图形界面开发语言的选择以及PC服务端开发语言的选择,在开发板中图形界面的选择中因为对于QT的使用、控件的使用以及开发流程比较熟悉,所以选择QT作为开发板的图形界面开发。在PC服务端中综合比较各种界面开发语言的优缺点以及掌握程度,最终选择JAVA平台开发PC服务端的需求。(三)系统架构设计:根据之前需求和可行性分析的基础上,最后决定采用C/S和B/S架构相结合的混合架构进行系统的开发,android端作为该系统的客户端主要进行用户点餐信息的收集,ARM开发板既作为B/S的服务器端,接收浏览器提交的html的请求,并返回页面,同时又扮演着将点餐信息最终提交到PC服务端的业务处理层。最后是该系统的数据层,考虑到数据量会比较大,如若全部存放在开发板中可能导致存储空间不够用的情况,所以选择PC作为最终点餐数据信息的存储位置。1.3 本文组织结构本文总共七章分别讲述了基于ARM的智能点餐系统设计和实现。第一章主要是介绍了本设计的研究的背景和意义;第二章介绍了系统框架以及系统框架图用于帮助理解该点餐系统;第三章主要介绍了开发设计过程中使用的开发工具和软件;第四章讲述了本系统的PC端数据处理层功能的设计与实现;第五章讲述了本系统的ARM开发板端业务逻辑层功能的设计与实现;第六章讲述了安卓客户端的功能设计与实现;第七章主要讲述了本系统在设计实现过程中与遇到的问题以及一些体会和总结。第二章 系统总体设计2.1 总体设计经过对系统的功能需求以及现有的开发环境和硬件的情况下,设计本系统在Android端和ARM9终端上采用C/S中客户端点餐信息的收集,PC端作为C/S中的服务器端管理和存储以往点餐信息。在ARM9上也可作为B/S中的服务器,处理点餐信息的查看和变更,客户端可以是局域网内的任意浏览器。根据以上情况设计如下五个模块:安卓手机客户端的点餐数据采集、GSM接收点餐信息模块、ARM9信息处理模块、PC端数据库管理模块以及WEB模块。该系统的模型框架如图2-1所示。ARM9开发板Sockethttp协议PC端数据库管理WEB客户端QT信息处理 Web服务器串口Sqlite移动网络安卓手机客户端GSM模块图2-1 系统整体模型框架图2.2 系统详细设计本系统根据现有的设备、PC电脑、Android手机进行设计,主要分为五个模块:安卓手机客户端的点餐数据采集、GSM短信模块接收android端点餐信息、ARM9信息处理模块、PC端数据库管理模块以及WEB模块。在ARM9信息处理模块中由于考虑到手机Android端点餐时间的不确定性故在系统上电时就自动打开GSM模块准备接受Android端点餐信息,而提交点餐信息到PC上时则让socke客户端连接到socket服务器端,在传输结束后客户端发送bye字符串结束该客户端进程;本系统的总体框架如图2-2所示。图2-2 智能点餐系统的总体框架图以下是对这5模块功能的详细介绍:Android手机客户端在JAVA平台上进行开发的,所以可移植性性高。手机端的点餐APP作为系统的表示层主要实现与用户之间的信息的交互和提交点餐信息、接收GSM短信模块的返回信息。短信模块使用的是GTM900无线模块, 它使用 AT指令,通过 串口与外部 CPU通信,可以实现短信的收发和电话的接听和拨打等功能。GTM900的逻辑框图如图 2-3所示。图2-3 GSM逻辑框图ARM9信息处理模块采用linux作为本设计的操作系统,在操作系统上主要使用QT作为界面开发语言,实现串口数据的接收发送,利用无线网卡进行socket通信,以及与sqlite数据库数据间的操作。PC端数据库管理模块主要利用PC上的JAVA开发环境实现对SQL Server 2008数据库的增删改查,同时完成接收(无线或串口),解析等功能。从而屏蔽了直接与底层数据的直接操作。WEB模块中的服务器端主要利用web小型服务器boa对html请求进行响应和回复,就可以担任一些功能简单的服务器。Boa的设计目标是速度和安全,在实验中验证得出在嵌入式开发板的应用上,Boa的性能要好于Apache服务器10。同时它还可以自动生成目录,自动解压文件等功能,所以非常适合在嵌入式系统中应用,使用CGI(公用网关接口,Common Gateway Interface)进行处理。第三章 系统开发环境和软硬件选型3.1 软硬件开发环境选择本系统的开发环境可以分为硬件环境和软件环境:(1) 硬件环境主要有:1WEB服务器端与WEB客户端:Mini2440开发板,PC;2点餐信息收集硬件:Mini2440开发板,安卓手机;3开发板与手机通信硬件:华为GSM900-B无线模块;(2) 软件环境主要有:1涉及的开发工具环境:QT交叉编译开发环境、Eclipse开发平台;2涉及的操作系统:Windows,Linux;3.2 硬件环境1Mini2440开发板模块概述本设计中选择的开发板处理器采用ARM920T内核,该处理器不仅功耗低而且具有较高的系统处理能力。S3C2440微控制器具有16KB的指令Cache和16KB的数据Cache。同时,其支持WinCE、Linux等嵌入式操作系统 11。 串口模块:该开发板中一共有三个串口,其中COM0做了电平转换。三个串口在开发板上的位置如图3-1所示。 图3-1 Mini2440串口接口图USB 接口模块:开发板中有两种USB接口,一个是USB Host,可以接常见的 USB外设,另外一种是USB Slave,一般使用它来下载程序到目标板。在本设计中使用其外接无线网卡实现无线通讯,Mini2440 USB原理图如图3-2。图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。图3-4 GTM900业务框图图3-5 GTM900实物图该芯片的主要特点有以下几点:1、兼容GSM/GPRS Phase2/2+ 支持华为GT800 协议2、40PIN FPC 连接器 UART 接口(最大串口速率可达115200bit/s) UART 接口(最大串口速率可达115200bit/s)3.3 软件环境1QT交叉编译开发环境Qt是一个跨平台的应用程序框架。利用Qt进行软件图形界面的开发可以达到 “一次编写,随处编译”的效果12-13。QT交叉编译开发环境就是在虚拟机中同时安装Qt windows;Qt-X11(普通linux版本,提供普通编译环境)和Qt-embedded-linux(嵌入式版本,提供交叉编译环境) ,在编写和调试程序时用QT-X11进行编译和链接执行,当程序完成后用Qt-embedded-linux进行编译生成可执行文件,最后下载到开发板中运行从而达到从程序编写到结束不都都在目标机上的目的,Qt Embedded是NOKIA公司的图形化界面开发工具Qt的嵌入式版本,它通过QtAPI与Linux I/O以及Framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好地体系架构和编程模式,Qt/embedded和Qt一样,在4.5版本之后提供了三种不同的授权协议GPL, LGPL和Commercial。2Eclipse开发平台Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发14。许多软件开发商以Eclipse为框架开发自己的IDE。Android是基于Linux开放性内核的手机操作系统15。第四章 PC端数据层设计和实现在设计本模块的时候,是考虑到了ARM开发板中系统资源有限,sqlite数据库中存储的点餐信息有限并且对于大量信息的查询不能够及时响应,不能够很好的提供以往点餐信息的查询。所以在该系统中增加了PC端数据层,用于接收顾客结账后的点餐信息和提供统一的交互界面用于管理以往的点餐信息。4.1 PC端设计主要技术在该模块设计过程中主要涉及到JAVA的串口编程、基于Socket的网络编程、利用Microsoft SQL Server 2008数据库对外提供的API通过编程控制sql语句对数据库的读写操作以及与用户交互的界面设计等JAVA编程技术。4.2 功能需求分析通过分析,本模块应该实现以下功能:(1)Socket通信:ARM9开发板可以利用无线网卡连接PC端的360热点,PC端JAVA程序作为socket的服务端通过socket接收开发板Socket客户端发送的点餐信息,并且将其传输的点餐数据包进行解包,获取其中的点餐信息,最终插入到数据库中保存。(2)串口通信:ARM9开发板通过串口与PC相连,PC端JAVA界面可以通过配置通讯串口通信的参数(如:波特率,奇偶校验位等)实现与ARM9开发板串口两端的数据交互。(3)数据库操作:JAVA程序可以通过SQL server 2008数据库管理软件对外提供的数据库操作接口,利用SQL语句操作SQL server 2008数据库管理系统中点餐表中的记录信息的增删改查等功能。4.3 PC端界面及代码PC端点餐数据管理界面主要提供串口配置、网络控制两种方式与开发板进行互相的通信,同时也增加了对Microsoft SQL Server 2008数据库中点餐表的增删改查的操作。具体如图4-1所示:图4-1 点餐信息管理界面界面设计部分代码如下:4.4 数据接收的设计和实现在该系统中,PC数据层接收ARM开发板数据既可以通过配置JAVA串口界面的COM口、数据位、校验位、停止位、波特率等使用串口进行传输,也可以通过ARM开发板上外接的无线网卡与PC端发出的热点相连接从而使PC端与ARM开发板之间可以利用网络达到基于无线的套接字Socke数据交互。具体如图4-2所示:图4-2 串口、网络配置PC端从开发板中接收数据包格式为“#数据字节长;点餐ID号;菜名;单价;数量;桌号;时间;电话号码;#”。PC端数据包解包代码如下:4.5 数据库的设计和实现由于该点餐系统主要侧重于点餐信息的收集和处理方面,所以在数据库的设计方面比较简单设计了点餐表和菜名表,点餐表对提交的点餐数据进行存储,点餐表包含点餐ID、菜名、单价、数量、时间等信息,具体如图4-3所示。菜肴表对餐馆的菜肴进行记录,主要包括菜名,单价信息,具体如图4-4所示。同时在设计点餐表时考虑到为防止插入数据的异常,在设计表时同时对表中的插入数据进行了约束,具体如图4-5所示。图4-3 点餐表属性设计图图4-4 菜肴表图4-5数据表属性约束设计图第五章 开发板端业务逻辑层设计和实现5.1 系统设计主要技术在开发板中使用QT作为界面开发语言,主要涉及Linux系统移植、QT应用程序移植以及运行环境配置(触摸屏配置、库函数移植等)、QT的界面编写、串口编程、Socket网络编程等技术。同时在开发板中移植了Web的小型服务器boa可通过网页与PC经济交互,主要涉及boa服务器的移植以及相关文件的配置、html页面的编写、编写CGI文件处理客户端提交的请求并并返回处理后的html页面。主要使用技术:QT、Web、Socket、JavaScript、hteml语言、boa5.2 功能需求分析(1)Socket通信:ARM9开发板可以利用无线网卡连接PC端的360热点,可以通过Socket客户端发送点餐信息到PC端Socket服务端并且通过对发送的数据包按照事先约定的规则进行解析从而获取其中的点餐信息然后将解析的点餐信息插入到数据库中,供日后数据查询提供依据。(2)串口通信:ARM9开发板通过串口与PC相连,PC端通过点餐管理界面配置两者通讯串口参数实现串口两端的数据交互。同时可以通过串口外接GSM短信模块,开发板通过发送AT指令集实现对Android端的点餐信息的接收,同时回复点餐用户点餐的订单信息。(3)数据库操作:QT可以通过使用SQL语句操作开发板上的sqlite临时数据库中的点餐表,使点餐用户可以增加和查看点餐信息功能。(4)构建Web服务器:PC或移动终端可以通过访问开发板上的Web服务器,开发板中的web服务器会返回相应的点餐信息登入、查询、修改页面,用户可以根据自身的需要与管理员联系实现对点餐信息的查看和修改、删除等功能。5.3 系统逻辑层代码实现 5.4 系统逻辑层实现界面 开机触摸屏校准程序,如图5-1所示图5-1开机校准界面QT点餐系统首页,如图5-2所示图5-2 点餐首页点餐菜肴浏览界面,如图5-3所示、图5-4所示图5-3 菜肴界面图5-4 菜肴界面点餐信息提交界面,如图5-5所示图5-5 信息提交界面桌号选择界面,如图5-6所示图5-6桌号选择界面订单提交成功界面,如图5-7所示图5-7 订单提交成功界面点餐信息查看、提交PC界面,如图5-8所示图5-8 查看、提交PC界面Web客户端登入界面,如图5-9所示图5-9 登入界面Web客户端查看修改界面,如图5-10所示图5-10 查看修改界面Web客户端查看用户情况界面,如图5-11所示图5-11 查看点餐信息界面Web客户端查看点餐情况界面,如图5-12所示图5-12 查看点餐情况界面Web客户端查看点餐点餐信息修改模块界面,如图5-13所示,修改后查看如图5-14所示。图5-13 点餐信息修改模块界图5-14 点餐信息修改后返回界面第六章 Android端表示层设计和实现6.1 安卓客户端设计主要技术安卓客户端是本系统的组成部分中的表示层,使用MVC模式的开发架构,使用基类和反射的技术减少代码量,其中主要涉及到Android开发环境的配置,XML文件的编写、Android端短信服务的编写以及点餐界面的设计与实现。6.2 功能需求分析通过分析,安卓客户端应该实现以下功能:(1)点餐信息的收集:用户可以通过Android客户端界面,进行点餐和设置点餐发送的配置信息,并以短信的形式提交订单到ARM开发板外接的GSM短信模块进行相应的处理。(2)点餐信息的发送:用户可以通过设置信息,提交订单到指定号码并且返回订餐的桌位号,点餐信息以及点餐的总金额等信息。(3)点餐信息的修改:用户可以通过点餐时回复的短信点餐信息,根据这些信息修改相应的点餐信息,同样以短信的形式提交开发板外接的GSM短信模块中,提交成功后同样能够接收到修改后的点餐信息。6.3 Android端实现代码 点餐设置部分代码如下:6.4 Android端功能界面Android端点餐首页界面,如图6-1所示图6-1 点餐首页界面Android端点餐设置界面,如图6-2所示图6-2 点餐设置界面Android端点餐界面,如图6-3、图6-4所示图6-3 点餐界面图6-4点餐界面Android端点餐信息提交界面,如图6-5所示图6-5 点餐信息提交界面Android端点餐信息修改界面,如图6-6所示图6-6 点餐信息修改界面第七章 结论本系统成功实现了Android端通过ARM9开发板外接GSM短信模块进行点餐信息的提交以及点餐信息的修改、取消等功能,ARM开发板中实现了对点餐信息数据的收集、点餐数据的传输、查询显示功能,同时通过移植Web服务器实现局域网内对开发板中点餐信息的查看、修改后天删除功能。在PC端实现了对开发板中数据的接收和对以往点餐信息的查看、修改、删除、添加等功能。在本系统实现过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级语文下册 第三单元 语文园地配套教学设计 新人教版
- 七年级语文上册 第三单元 11《礼物》教学设计 冀教版
- 三年级道德与法治上册教案(部编版)
- 人教部编版六年级下册鲁滨逊漂流记第一课时教案
- 九年级体育 第17周 第34次课教学设计
- 六年级下科学教案飞速发展的信息技术-青岛版
- 七年级信息技术上学期 第十二课画图软件使用技巧 教学设计
- 2024兵器装备集团中国长安春季校园招聘笔试参考题库附带答案详解
- 九年级物理上册 11.1怎样才叫做功教学设计 (新版)粤教沪版
- 三年级数学上册 二 千克和克第1课时 认识千克教学设计 苏教版
- 实验试剂耗材供应服务方案
- JJF 1211-2008 激光粒度分析仪校准规范-(高清现行)
- 新部编人教版五年级下册道德与法治期末复习全册知识点汇编
- 赣美版 二年级下册美术 第3课 画房子 课件(12张PPT)
- 土壤酸性磷酸酶活性测定方法
- YAV USB 8Multi多功能采集卡技术手册USB6432
- 二正丁胺MSDS危险化学品安全技术说明书
- 北大刑法分论期末考题甲的一生前传
- 油田结垢机理及防治技术
- 荥阳崔庙镇土地利用总体规划
- 人货电梯基础施工方案图文
评论
0/150
提交评论