毕业设计(论文)基于ARM Linux的嵌入式网络订餐系统.doc
《毕业设计(论文)基于ARM Linux的嵌入式网络订餐系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于ARM Linux的嵌入式网络订餐系统.doc(32页珍藏版)》请在三一办公上搜索。
1、基于ARM + Linux的嵌入式网络订餐系统目 录前言(1)1系统概述(2)1.1项目背景(2)1.2目标系统(2)1.3可行性(3)2系统设计(4)2.1运行环境(4)2.2开发工具(7)2.3总体设计(7)2.4重点细节(16)3实现(18)3.1Linux平台的建立(18)3.2Boa程序的移植(19)3.3Boa的配置(20)3.4Boa的执行(20)3.5CGI脚本测试(20)4总结(20)参考文献(22)附录A(23)注释1ARM简介(23)注释2FS2410DEV V6.0开发板的配置(23)注释3交叉编译环境的建立和bootloader相关操作(24)基于Arm + Linu
2、x的嵌入式网络订餐系统摘 要传统手段实现的网络订餐系统复杂而庞大,用户使用时有诸多不便。嵌入式系统与Internet的结合为嵌入式设备的网络互连提供了一条有效的途径。把嵌入式设备连接到网络中,并且实现Web Server功能,提供一些独具特色的服务,是一项很有前景的应用。本文介绍了一个嵌入式网络订餐系统。客户可以通过此系统获得菜单,提交订单,商户通过此系统发布菜单,接受订单。系统运行的平台为ARM9+Linux,由于嵌入式设备的低成本且本系统集成了服务器端和商户浏览器端,本系统可以使用户节省大量花费。本设计涉及到的技术有嵌入式系统开发环境的搭建、应用程序的移植、网页设计、CGI程序的开发等。【
3、关键词】ARM Linux BOA 订餐系统 CGIAn Embedded Online Food Order System Basing On Arm & LinuxAbstractThe traditional implement of Online Food Order System is complex and hulking for the application of take-away service. The combination of embedded system and Internet provides an effective way to the internet
4、 interconnection of the embedded devices. Its a promising application that the embedded devices are connected to the internet with the Web Server function realized so that some distinctive services are provided. The paper introduces an embedded system of online food order. The customer is able to ge
5、t a menu and submit an order by this system while the businessman posts the menu and receives the order by this system. The running platform of the system is ARM9+Linux. The technologies involved include the construction of the embedded development environment, the transplantation of the application
6、 program, the webpage design, the development of CGI program, etc.【Key words】ARM Linux BOA Online Food Order System CGI前言我即将呈现的,是一个基于ARM + Linux的嵌入式终端,可以这样简单地对其功能做一个描述:它是一个嵌入式的web服务器,服务器上实现了一个很小的网上“商城”,目前这个商城的经营范围为餐饮,客户通过访问这个网站获得商品信息,并且下订单,服务器在接收到新订单后通知商户。这是我的一个大计划的一部分,我的完整设想是构建一个大的平台(服务器),客户在上面注册,然
7、后获得一个(二级)域名(或者其已拥有一个域名,那么只要做一些注册就可以了)和我的终端,上面有一个嵌入式web服务器,给他们留有接口使他们可以给自己量身定制一个网站。当这个终端被启动的时候,它先向服务器发送注册信息,服务器将其信息注册(比如账户,域名,IP地址),这样服务器便可以提供域名解析服务,所有的针对某个终端的访问都通过服务器重定位,最终正确地访问所请求的终端。服务器提供备份终端内容的服务,并且可以在终端无法访问的时候对访问进行响应。服务器的开发难度、维护的复杂程度及负荷都相对较小,而当ISP能给大家提供“每人一个IP地址”的服务时,这台服务器也不再需要了。这个终端上的服务器,可以是一个电
8、子商店,可以是一个信息发布/留言平台,可以是你的blog或者是一台用于和你的朋友共享你的各种资料、信息的服务器,或者提供其他你能想到的服务。这个终端稍做改变便可以以多种形式出现,比如一部智能手机,一部电话,一台在居民小区的杂货店或是送外卖的小饭馆中的pos机或者是你家的电视机顶盒在3G网络蓬勃发展的今天,在我看来这是个很诱人的应用。然而一个人在几个月之内将这个庞大的工程完成实在太不现实了,我采取了分步实施的策略。在终端上配置web服务器和在服务器运行期间获得所需的信息,可以通过一个浏览器实现,也可以单独开发一个程序来实现,所有的信息都存在终端上,获得并更改它们并不难。然而使用浏览器显然更加便捷
9、,它节省了开发的时间,同时质量也是有保证的。Konqueror embedded和embedded opera都是很有名的嵌入式浏览器,它们支持JavaScript甚至css.那么第一步,我需要实现一个集成了嵌入式浏览器的终端。当我着手实施这件事的时候,发现这几乎没有工作要做,甚至有的开发板,出厂时就已经装好了集成了浏览器的系统。所以以这个工作作为毕业设计的内容是不妥的,其工程量让人汗颜。第二步,实现嵌入式web服务器,做一个技术验证,同时积攒开发的经验。目前它的功能只定位为:用于为餐饮业获得外卖订单,也就是本文开头所描述的。这便是我毕业设计的内容,希望老师能够谅解我变更论文主题的行为。第三步
10、便是开发出服务器,这是后话。本论文按照嵌入式系统的设计流程,结合软件工程的步骤安排结构,但是不那么细致、严格地遵守软件工程的文档形式。第一部分系统概述对应于需求分析和可行性分析,包括对系统的业务和功能的描述、开发系统所涉及的技术的论述,第二部分系统设计涵盖了概要设计和详细设计,在详略程度上做了一些平衡,尽力用最少的篇幅将整个系统描述清楚,某些重要的细节附上了伪代码,描述算法。第三部分介绍实现,介绍如何构建起这个系统。 最后我想对大学期间教授过我的老师表示衷心地感谢,也感谢学校、学院和我们计算机科学与技术专业,计算机科学与技术,现在在我看来是天然地为嵌入式开发开设的专业,那些曾被很多同学认为纯属
11、空洞的理论毫无应用价值的课程,比如数字逻辑、计算机系统结构、组成原理、微机原理与接口技术、编译原理甚至操作系统和数据结构,都是进入嵌入式领域不可或缺的知识。现在我深刻认识到了这些课程的价值,同时也感激学校为我们设置如此的课程体系。现在我记录下教授我相关课程的老师的姓名以表达对他们的感激和敬意:数字逻辑黄耀锋,计算机系统结构罗益辉,计算机组成原理孙文和,数据结构马传香,编译原理孙斌,操作系统孙文和,微机原理与接口技术徐婕。1 系统概述1.1 项目背景随着现代生活节奏的提高,越来越多的人选择在外就餐,在写字楼聚集的商业区、学校周边以及很多生活小区,餐饮的外卖业务十分火爆。以我所在的这间写字楼为例,
12、一楼的大厅里集中了4家餐厅,他们都提供外卖服务,在一公里范围内免费送货上门,几乎每天我都会收到一两张外卖业务的广告单。要在每天中午休息的一个半到两个小时里回家一趟并自己做饭对这栋楼里多数人来说是极不现实也不经济的,而在这寸土寸金的地方通常餐厅的容纳能力很有限,于是很多人选择了叫外卖在办公室进餐。商家传统的接受订单的途径是电话,甚至有更加原始的:在午饭时间前派人逐层逐间进入办公室接受订单。这些途径的缺点很明显:它是纯人工的于是多出来一笔人力开支,它是“单任务”的你不可能同时接两个顾客的电话,或者同时记录两张订单,若你的顾客忠诚度很高,他可能会等待,然而订餐电话像中消协的热线电话一样难打,给人的感
13、觉总是不好受的。而由于是人工的且“单任务的”,其效率自然低下。餐饮业的需求,集中在一天的那几个小时,这期间的效率,会对收益有很大的影响。所以外卖业务需要一种新的,高效低成本自动化的接受订单的途径。目前成熟的电子交易平台,商家在上面注册,便可以开设自己的电子商铺,接受订单,商家也可以自己开设一个购物网站接受订单,但是这些都不适合餐饮业的外卖业务。在这些平台上交易,商家和客户都有繁琐的手续要做,为了价值几块到几十块、半小时就该完成消费的一顿饭,几乎没有人会愿意在这个平台上交易。现在也有一些订餐网,多数实现的只是一个宣传平台,真正的订餐还是需要通过网页上公布的订餐电话。架设一个为外卖服务量身定制的网
14、站初始成本大概要2000块左右,包括购买网站,注册一个域名,租用服务器,同时你要有一些专业知识来维护这个网站,这样的网站通常出自手工作坊似的工作室或者某个游侠程序员之手,技术支持难以保障,而一个优秀的网上商城又价值不菲。同时,商户得在自己通常很狭小的前台,置办一台PC,最精简而又现实一点的预算:1000块。随着嵌入式系统和网络技术的迅猛发展,嵌入式系统与Internet技术的结合为嵌入式设备的网络互连提供了一条有效的途径。把嵌入式设备连接到网络中,并且实现Web Server功能,使得用户能通过Web浏览器完成对一些相关数据信息的采集、管理和发布,对现场设备进行远程监控等,这将极大方便用户的操
15、作。嵌入式 Web 服务器以其成本低、体积小、维护方便等特性被广泛应用于信息家电、工业自动化、远程监控等领域。通过CGI技术,可以方便地实现动态页面,和用户交互。1.2 目标系统1.2.1 系统功能用户通过网络订餐系统获得菜单,提交订单,商户通过此系统获得有效的订单。此系统目前只作为技术验证和功能演示,在安全性和保证订单信息有效性以及人性化设计等方面暂不做要求。主要功能列表如下:(1)向客户列出商品清单,包括名称、单价等;(2)客户根据商品清单做出选择,接受用户的订单并且保存;(3)接受到新订单后通知商户;(4)提供接口使商户可以修改商品清单,例如商品名称和单价;(5)可以使商户浏览订单,可以
16、对订单状态做设置,或者删除;(6)实现商户的身份认证。1.2.2 优点网络订餐系统,使客户通过网络便可以获得自己想要的服务,便捷且廉价。商户则可以高效地、自动地格式化地接受订单。嵌入式的网上点餐系统,集成了服务器和商户端的终端,而且它比服务器和PC都要便宜。用C语言编写的CGI程序是编译执行的,不可修改。系统的数据以文件形式存储,用户甚至可以对系统留出的接口毫不熟悉,只要他会使用文本编辑器,按照规定的格式编辑文件,网站便可以按照他的设想运行。1.3 可行性本项目的实质是开发一个运行在嵌入式系统中的网站。本节主要从开发该系统所需要的技术的角度来分析可行性。开发该系统涉及的主要技术有:嵌入式系统开
17、发、运行环境的搭建,HTML页面以及浏览器端脚本制作,嵌入式web server BOA的移植以及配置,CGI程序设计,驱动程序设计等,下面将逐项分析这些技术。1.3.1 HTML页面以及浏览器端脚本制作超文本置标语言(Hyper Text Markup Language)是为网页创建和其它可在网页浏览器中看到的信息设计的一种置标语言。HTML被用来结构化信息例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。由蒂姆伯纳斯李给出原始定义,由IETF用简化的SGML(标准通用置标语言)语法进行进一步发展的HTML,后来成为国际标准,由万维网联盟(W3C)维护。JavaScript
18、 是一种受到广泛支持的脚本语言,它可以被嵌入HTML文件之中,即可以用来编写在服务器端运行的脚本也可以编写在浏览器端运行的脚本。目前一些嵌入式浏览器也支持JavaScript,比如embedded opera。透过 JavaScript 可以做到回应用户的需求事件 (如:form的输入)而不用任何的网络来回传输资料,所以当用户输入一项资料时,它不用经过传给服务器处理,再传回来的过程,而直接可以被客户端的应用程序所处理。这带来了很多好处,比如节省了网络流量,节约了数据在网络上来回传输的时间,减轻的服务器的负荷。Dreamweaver是由Macromedia公司推出的,用于网页开发和网站管理的专业
19、化设计工具。它采用了多种新技术,具有设计和开发网站过程中需要的网站管理、网站设计、页面制作、多媒体制作和动画制作等丰富实用的功能;它具有友好的操作界面,在文档窗口中可以打开各种浮动面板,同时还可以使用系统内置的多种对象进行操作。利用Dreamweaver可以用很方便快捷地制作嵌有JavaScript的HTML页面。我在校期间曾完成过数个toy网站,对HTML有一定了解,能熟练使用Dreamweaver。1.3.2 嵌入式web server BOA的移植以及配置从功能上来讲,Web服务器监听客户端的服务请求,并根据客户端的请求类型提供相应的服务。客户端使用WEB浏览器和服务器进行通信。嵌入式w
20、eb Server与普通的web server不一样,嵌入式web server是指将web server引入到嵌入式设备中,并驻留在其中有限的代码空间内,有其自身的特点和要求:(1)嵌入式设备的空间有限,必须尽可能使得嵌入式web server简洁、高效。(2)嵌入式设备大多没有硬盘,为了实现基于文件的HTTP,嵌入式Web Server必须使用另外的软件来实现文件的映射,解决文件存储问题。(3)嵌入式web server通常功能有限,它不支持在普通服务器上为了实现动态网页而使用的ASP、JSP等技术,为了使得客户端能与嵌入式web server进行交互,得使用一些其他的技术,例如SSI(S
21、erver Side Includes)、CGI(Common Gateway Interface)、Java Servlet等。现在嵌入式领域主要有三个Web Server:HTTPD、THTTPD和BOA。HTTPD是最简单的一个Web Server,它的功能最弱,不支持认证,不支持CGI。THTTPD和BOA都支持认证、CGI等,功能都比较全。BOA是一个单任务的小型HTTP服务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。1.3.3 CGI程序设计这是实现本系统的关键技术,也是本项目的主体工程。CGI(Common Gateway Interface:公用网关接口)规定了Web
22、服务器调用其他可执行程序(CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器。外部CGI程序与WWW服务器进行通信、传递有关参数和处理结果是通过环境变量、命令行参数和标准输入来进行的。服务器提供了客户端(浏览器)与CGI扩展程序之间的信息交换的通道。CGI的标准输入是服务器的标准输出,而CGI的标准输出是服务器的标准输入。客户的请求通过服务器的标准输出传送给CGI的标准输入,CGI对信息进行处理后,将结果发送到它的标准输入,然后由服务器将处理结果发送
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计论文基于ARM Linux的嵌入式网络订餐系统 毕业设计 论文 基于 ARM Linux 嵌入式 网络 系统
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2392939.html