- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统课程设计报告样例.doc
《嵌入式系统》课程设计报告
设计课题:基于web的嵌入式智能家
居控制系统
专业班级: 09电气(1)班
学生姓名: 黄礼智
指导教师: 雷必成
设计时间: 2012学年第一学期
物理与电子工程学院
摘 要
基于web的嵌入式智能家居控制系统采用了三星公司生产的S5PV210AH_A01141芯片,是一款ARM11芯片。将嵌入式WEB远程控制系统应用在智能家居方面是未来发展的必然趋势。智能家居、嵌入式系统和WEB服务器三者结合, 通过构建嵌入式WEB服务器, 研究设计通过WEB控制家电设备, 以及在linux系统下搭建WEB服务器,使得用户可以随时随地地通过浏览器实现对家电设备的控制。本文介绍了在ARM嵌入式系统上搭建boa服务器的方法,分析了各种控制方法,得出了实现基于web的嵌入式智能家居控制系统的最直接可行的方案。最后利用C语言编译出了CGI程序和服务程序。
关键词
WEB ; linux嵌入式; boa服务器; CGI
目 录
1.智能家居控制系统总体方案设计 1
1.1 系统总体架构设计 1
2. 嵌入式WEB服务器BOA的建立 1
3.界面设计、CGI程序和驱动程序编写 3
3.2 CGI简介 4
3.3 网页提交数据的两种方式:GET/POST 5
3.4 CGI程序的编写 6
3.5 驱动程序的编写 8
3.5.1 传感器信息采集驱动 8
3.5.2 模拟开关控制驱动 10
4.WEB嵌入式只能家居控制系统测试和应用 12
4.1 软件系统测试 12
5.总结与展望 15
参考文献 16
附 件 17
1.智能家居控制系统总体方案设计
1.1 系统总体架构设计
本文中整个控制系统那个分为3个模块:中央处理器(ARM11),室内信号监测模块,控制执行模块。
中央处理器所在的模块由于涉及到高频信号,普通制板均达不到要求,因此直接采用ARM核心板,设计相应的控制板,两者结合使用。
从系统稳定性和搭建服务器难度上考虑,linux系统成为不二的选择。Linux系统平台下容易搭建服务器,linux系统也不断在被优化,它的稳定性更是经受住了时间检验。linux设备驱动都是用C语言编写的,对于学过C语言的我们更有利于深入。
下面是系统的整体结构图:
图2-1 系统结构图
2. 嵌入式WEB服务器BOA的建立
搭建BOA的主要步骤如下[2]:
下载BOA服务器源码,我们可以从网上下到boa-0.94.13.tar.gz 。将压缩包解压到linux系统任意目录下。
打开BOA位于内核源码中Boa/src/define.h,查看其DocumentRoot 后面的目录,默认为ect/boa。此目录为Boa服务器的根目录,当boa服务器运行后,会从该目录读取配置文件,配置文件中保存着服务器配置信息。用户可根据需要对define.h中的根目录进行修改,一般情况下木有修改必要,本次设计也没有对该项进行修改。
生成makefile文件:在boa/src/目录下执行./configure命令。
修改该makefile文件:因为要在arm环境下建立BOA服务器,所以要将makefile中的编译器gcc改成arm-linux-gcc,在PC机上建立则无需修改。具体修改如下:找到CC=gcc 改为CC=arm-linux-gcc;找到CPP=gcc -E改为CPP=arm-linux-gcc -E。
执行#make命令。make编译时用2.95.3以上的版本会出错:util.c: 100: 1: pasting “t” and “-” does not give a valid preprocessing token make: [util.o] Error1。解决方法:修改compat.h中的#define TIMEZONE_OFFSET(foo) foo##-tm_gmtoff为:#define TIMEZONE_OFFSET(foo) foo-tm_gmtoff 。
去除调试编译信息:#/boa程序所在目录/arm-linux-strip boa
配置BOA配置文件,配置文件中指定了网页和cgi程序所在目录等信息,具体如下[3]:
Port 80 //侦听端口
User root //用户名
Group root //用户组
ErrorLog /dev/console //错误日志
AccessLog /dev/null //访问日志
ServerName friendly-arm //服务器名称
DocumentRoot /home/plg //指定文件根目录
DirectoryIndex
文档评论(0)