ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:1,015.69KB ,
资源ID:10262219      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10262219.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于S3C2440的智能家居监控系统设计.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于S3C2440的智能家居监控系统设计.docx

1、基于S3C2440的智能家居监控系统设计研究生课程考试成绩单(试卷封面)院 系仪器科学与工程学院专业仪器科学与技术学生姓名武均学号142648课程名称嵌入式系统综合设计与实践授课时间 2015年03月至2015年06月周学时3学分2简要评语考核论题基于S3C2440的智能家居监控系统设计总评成绩(含平时成绩)备注任课教师签名: 日期: 注:1. 以论文或大作业为考核方式的课程必须填此表,综合考试可不填。“简要评语”缺填无效。2. 任课教师填写后与试卷一起送院系研究生教务员处。3. 学位课总评成绩以百分制计分。基于S3C2440的智能家居监控系统设计摘 要 智能家居又称为数字家庭, 一般是指以计

2、算机接口技术和网络技术为基础,将各种家用数字化设备有机结合为一体的智能化的网络系统。这些家用数字化设备包括电话、计算机、数字化的视听设备、数字化的家用电器及安全监控设备等, 通过有线或无线的方式将这些设备连接起来, 为家庭用户提供简单、安全、可靠、智能化的综合服务。本课题以Web 技术为核心, 在基于S3C2440 微处理器和嵌入式Linux 操作系统的软硬件平台上构建了Web 服务器和视频服务器,Web 服务器采用Boa, 视频服务器采用Mjpg-streamer, 结合CGI 技术处理HTML 表单, 完成用户认证、温湿度调节、红外监控、灯光控制等家居监控功能。 关键词:智能家居;Web技

3、术;S3C2440Linux系统1 引言1.1 研究背景近年来由于通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影响到人们生活的方方面面,改变了人们生活习惯,提高了人们生活质量,家居智能化也正是在这种形势下应运而生的。智能家居控制系统的主要功能包括通信、设备自动控制、安全防范三个方面。随着新技术和自动化的发展,传感器的使用数量越来越大,功能也越来越强,各种传感器都已经标准化、模块化这给智能家居控制系统的设计提供极大方便。嵌入式的智能家居使系统的处理能力大大增强,可以带来更加逼真的图象以及更加真实的语音等。根据系统定制

4、的实时操作系统不仅可以最大限度的利用硬件资源而且还避免了过于庞大的系统造成的系统冗余。一般只有一颗主处理芯片,系统架构更加清晰简捷。软件采用分层设计,方便维护和升级,大大提高了代码利用率,缩短开发周期。因为嵌入式技术是伴随着Internet 而生的,所以它具有更加卓越的网络性能,可以增加更多的网络应用,很显然嵌入式类智能家居产品在应用方面具有相当的优势,应该是未来中国家庭智能化技术主流发展方向。1.2研究内容本次设计采用S3C2440 CPU核心板和装有Linux系统的虚拟机。本设计包括:系统硬件的设计与调试和控制软件的编写与调试。硬件部分:智能家居控制系统其硬件部分主要由五大部分构成,即GP

5、RS模组、AD转换模块、S3C2440 CPU板模块与接口和电源部分。用户可以通过GPRS模组上的RS232接口和PC机直接相连接使用,通过AD转换模块检测温度变化,电源部分则为各个部分提供工作电源。软件部分:软件设计部分主要由五大部分构成:即Boa服务器搭建、CGI程序编写,GPRS初始化驱动和各个驱动程序编写。1.3研究目的及意义 智能家居控制系统可以定义为一个过程或者一个系统。利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且

6、宜人的家庭生活空间。还将原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。系统的网络化功能可以提供遥控:家电(电视,空调,热水器等)控制、照明控制、室内外遥控、窗帘自控、防盗报警、电话远程控制、可编程定时控制及计算机控制等多种功能和手段。使生活更加舒适、便利和安全。因智能家居控制系统简单、功能灵活,扩展容易而被人们广泛接受和应用。家居生活的智能化是当今计算机网络与通讯技术最人性化的应用,给人们的家居生活带来了全新的感受。2 系统架构本次设计的系统组成主

7、要包括温湿传感模组、GPRS模组、LED显示模组、红外传感模组、BOA服务器等。温湿传感模组:传感器将传感元件和信号处理电路集成在一块微型电路板上,输出完全标定的数字信号。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,在同一芯片上,与14 位的A/D 转换器以及串行接口电路实现无缝连接。每个传感器芯片都在极为精确的湿度腔室中进行标定,校准系数以程序形式储存在OTP 内存中,用于内部的信号校准。两线制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。GPRS模组:GPRS模组采用SIM300通讯芯片,利用无线移动网络实现语音传输和点对点数据传输。同时,模组内具备T

8、CP/IP协议栈,可以直接利用它实现无线上网。模组使用标准的UART串行通信接口与主芯片进行通信,可以与任何带有通用UART串行通信接口的控制器进行连接。LED显示模组:主要实现对整个居住空间的智能控制管理,可以用远程遥控等多种智能控制方式实现对居住空间灯光的遥控开和关等操作,电脑本地及互联网远程控制等多种控制方式实现功能,从而达到智能照明的节能、环保、舒适、方便的功能。红外传感模组:红外技术在现代科技、国防和工农业等领域获得了广泛的应用。红外传感系统是用红外线为介质的测量系统。模块接上电源后若检测到有人接近,输出端会输出1秒左右的高电平,随后恢复到低电平。BOA服务器:Boa 是一款单任务的

9、HTTP 服务器, 与其他传统的Web 服务器不同的是当有连接请求到来时, 它并不为每个连接单独创建进程, 也不通过复制自身进程来处理多链接, 而是通过建立HTTP 请求列表来处理多路HTTP 连接请求, 同时它只为CGI 程序创建新的进程, 这样就在最大程度上节省了系统资源, 这对嵌入式系统来说至关重要. 同时它还具有自动生成目录、自动解压文件等功能, 因此, Boa 具有很高的HTTP 请求处理速度和效率, 在嵌入式系统中具有很高的应用价值。本控制系统是32位ARM处理器在系统检测以及工程控制方面的应用,其特点是体积小,成本低,功能强,功耗低,是微机应用产品化的最佳机种之一,它已广泛地应用

10、在产品智能化和工业自动化上。而把微处理器面向工控领域对象,嵌入到工控应用系统中,实现嵌入式应用的计算机称之为嵌入式计算机系统,简称嵌入式系统。本设计系统框图如图2.3所示: 图2.1(系统框图)3软硬件设计 3.1 硬件设计3.1.1 CPU-S3C2440介绍S3C2440A是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核。(1)特点:1)具有PLL时钟发生器,主频最高可达533M。2)内核1.2V供电最高400M,1.3V供电最高533M。3)存储器支持1.8V、2.5V、3.0V、3.3V。4)I/O均支持3.3V供电。5)s3c2440为单机器周期执

11、行指令集。6)具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作,降低产品功耗。(2)内核结构:采用ARM920T内核,具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU,指令高速存储缓冲器(I-Cache),数据高速存储缓冲器(D-cache)提高指令执行效率及数据存储效率,减少主存带宽和响应性带来的影响,加强的ARM体系结构MMU,用于支持winCE、linux等操作系统,内部高级微控制总线(AMBA)体系结构(AMB2.0,AHB/APB)。(3)存储器控制器特性:1)S3C2440采用总线结构管理片上外设及内存。2)S3C2440的存储器管理

12、器提供访问外部存储器的所有控制信号。3)27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等。4)总共有8个存储器bank(bank0bank7),其中,bank0-bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,最大共1GB。bank0可以作为引导ROM,其数据线宽只能是16位和32位,其它存储器的数据线宽可以是8位、16位和32位。5)8个存储器bank:bank0-bank5:SRAM、ROM。Bank6bank7:SRAM、ROM SDRAM。6)s3c2440支持两种启动方式:NOR FLASH启动,即

13、代码直接写入NOR FLASH,运行时直接在NOR FLASH上运行。NAND FLASH启动方式,即代码烧到NAND FLASH中,借助片内4K的sram,将代码由NAND FLASH烤到SDRAM中,在SDRAM中运行。7)所使用的Sunplus S3C2440 Board V2.0说明图3.1如下: 图3.1(S3C2440说明图)3.1.2 GPRS无线模组设计GPRS模组使用标准串口与主控制器进行通讯。模组带有一个10针的接口,该接口可以和MCU相连接也可以通过模组上的RS232接口和PC机串口相连接。GPRS模组需通过J4的电源开关信号(PWRKEY)输入引脚向GPRS模组输入如图

14、3.2所示的上电时序GPRS才能被启动,启动后GPRS的信号指示灯会闪烁。也可以手动按下GPRS模组上的ON/OFF按键,大约2秒之后松开,GPRS模组亦可以被启动。图3.2(GPRS上电时序图)3.1.3伏开关电源电路设计由于本控制系统单元电路较多对且对5V 电源的要求比较高,其中TC35 模块的突发耗电电流峰值可达2.5A,故外加的稳压器件必须达到足以提供TC35 和其它电路额定电流的条件。在本系统中,采用了芯片s3c2440 完成从12V 到5V 的转换,必须特别注意的是,如图3.13由s3c2440芯片完成开关电源转换需要大功率的电感(100uH)和电容,以提高储能的能力,达到单元电路

15、的耗电需求。s3c2440为5.0V3A 开关电源稳压器。图3.3(5V 开关电源稳压器电路)3.2软件设计3.2.1Boa服务器Boa服务器主要完成接收客户端请求、分析请求、响应请求、向客户端返回请求结果等任务. 它的工作过程主要包括:(1)完成Web 服务器的初始化工作, 如创建环境变量、创建TCP 套接字、绑定端口、开始侦听、进入循环结构, 以及等待接收客户浏览器的连接请求;(2)当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相关请求信息;(3)在接收到客户端的连接请求之后,分析客户端请求, 解析出请求的方法、URL 目标、可选的查询信息及表单信息, 同时根据请求做出相

16、应的处理;(4)Web 服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭与客户机的TCP 连接。Boa服务器根据请求方法的不同, 做出不同的响应. 如果请求方法为HEAD, 则直接向浏览器返回响应首部; 如果请求方法为GET, 则在返回响应首部的同时, 将客户端请求的URL 目标文件从服务器上读出, 并且发送给客户端浏览器; 如果请求方法为POST, 则将客户发送过来的表单信息传送给相应的CGI 程序, 作为CGI 的参数来执行CGI 程序, 并将执行结果发送给客户端浏览器。 Boa 的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来实现的。3.2.2 CGI工具CGI 是

17、 Common Gateway Interface 的缩写,是服务器端和用户沟通的程序,它可以使你的网页更生动,网络上很多工具例如搜索引擎、留言板、BBS等都是 CGI 程序。 CGI是用来沟通HTML表单和服务器端程序的接口(interface)。CGI并不是一种语言,而是可以被其他语言所应用的一个规范集。理论上讲,你可以用任何的程序语言来编写CGI程序,只要在编程的时候符合CGI规范所定义的一些东西就可以了。CGI是: “公共网关接口”(Common Gateway Interface)的简称,是HTTP服务器与其它程序进行“交谈”的一种工具,其程序须运行在网络服务器上。CGI是一段程序,

18、它运行在Server上,提供同客户端 Html页面的接口。(1)CGI的功能:1)通常情况下CGI程序被用来解释处理来自表单的输入信息,在服务器产生相应的处理,并将相应的信息反馈给浏览器。2)CGI程序使网页具有交互功能。CGI程序主要完成与网页接口的连接,即主登陆窗口、led显示窗口、参数设置窗口、实时显示参数窗口等网页分别编写文件。具体实现过程见附录!一下是login.c的部分函数程序:int main(void) /*定义变量,并初始化*/ char *str_len = NULL; int len = 0; char buf100 = ; char login_user20 = ; c

19、har passwd20 = ; int exit=0; printf(%srnrn,Content-Type:text/html); printf(nCGI3:登录结果n); str_len = getenv(CONTENT_LENGTH);3.2.3 mjpg-streamer视频服务器mjpg-streamer,是用于从摄像头采集图像的视频服务器,它把图像以流的形式通过基于IP的网络传输到浏览器如IE。她可以利用某些摄像头的硬件压缩功能来降低服务器CPU的开销。使用mjpg-streamer:(1)重新配置内核使内核支持所用的摄像头,用make menuconfig,如图1和图2(2)重

20、新编译内核 make uImage(3)Mjpg-stream 的移植(4)安装浏览器播放视频流所需要的插件浏览器需要安装J2SE RuntimeEnviroment 5.0 Update 22插件才能播放视频流。图1(配置内核)图2(配置内核)3.2.4 GPRS的编程以下是GPRS的发送程序(具体实现参见附录):void Gprs:GPRS_SendString(char *cmd) do write(fd_uart, cmd,strlen(cmd); GPRS_Recv_String(); while(strncmp(RecvBuf, rnOK,4) = 0);4试验或仿真实验4.1系统

21、硬件调试这个大作业只需根据要求连接好虚拟机与开发板,并把程序分别烧入开发板,连接好GPRS模组,设置好相应选项。GPRS模组使用标准串口与主控制器交互。模组带有一个10针的接口,该接口可以直接和MCU相连接,也可以通过模组上的RS232接口转化电平后与PC机相连。在GPRS模组的SIM卡座旁边有J5和JP1组成的配置跳线。在使用GPRS模组之前,需要首先正确配置这些跳线,以便选择使用MCU还是PC与模组通信。4.2软件及联机调试4.2.1 主控程序调试首先,先将虚拟机与pc机建立好连接,以便互相传输数据和文件;然后建立虚拟机与开发板之间的连接,调试好虚拟机的nfs服务器和samba服务器将对后

22、来的设计提供更多的方便。给开发板烧写操作系统(bootloader,kernel,rootfs.yaffs),以便boa服务器可以在其上运行。4.2.2 GPRS程序调试首先,要了解GPRS的机制。GPRS_init()函数就是对GPRS进行初始化的。程序代码如下:Gprs:Gprs() Uart_Init(1); /初始化手机模组 printf(GPRS初始化.n); GPRS_SendString(AT+CFUN=1rn); / 复位gprs GPRS_SendString(ATrn); printf(串口正常n); GPRS_SendString(AT+CMIC=0,15rn); pri

23、ntf(设置麦克n); GPRS_SendString(AT+CMGF=1rn); / 设置短信为TEXT:1格式,PDU:0 printf(设置短信n); GPRS_SendString(AT+CHFA=1rn); / 使用耳机 printf(耳机设置n); GPRS_SendString(AT+CLVL=100rn); / 设置最大音量 printf(设置音量n); GPRS_SendString(AT+CSCS=GSMrn); / 设置USC2编码 printf(GSM设置n); GPRS_SendString(AT+CLIP=1rn); /开启来电显示功能 printf(来电显示设置n

24、);程序详细设计参见附录,此处遇到问题是如何提取出短信内容以便以后用来控制开发板,但要注意的是,收到的短信内容为unicode码,要将其翻译为普通的字符串才可使用,另外要注意从模组中接收数据时哪一条是短信内容,经反复调试成功读取短信内容,为后面使用提供方便。图4.1串口配置界面和GPRS模块实物图图4.2 S3C2440开发板4.2.3 boa服务器调试在解压过tar zxvf boa-0.94.13-src.tar.gz 之后,运行 ./configure进行环境变量的检测和配置并生成Makefile,进行make编译之后配置boa.Conf文件如图4.3,要理清楚配置文件boa.Conf中

25、的设置的目的与相应文件的位置,否则在以后的运行中会出现错误或服务器无法运行等; 图4.3(配置boa.Conf文件)调试过程中更要注意error.log和access.log两个文件的作用,前一个是出错日志记录文件,后一个是访问记录文件,在建立的时候如果不把他们设置为可写的当你在运行的时候就会报错,熟练运用它们便于更快的找出错误所在。同时,编译boa可执行程序时也遇到了各种各样的问题,通过不断修改、不断上网查找才成功,其中学到了许多调试方法。最后编写脚本文件以便方便执行程序。编写脚本程序如图4.4;图4.4(编写脚本程序) 4.2.4 CGI程序调试CGI程序是网页与服务器之间联系的接口,所以

26、CGI程序直接影响到网页是否能控制开发板的功能。 图4.5网页脚本 5总结本课程设计基于远程控制和本地控制的要求,进行了方案设计和可行性分析。并且对设计的硬件资源和软件资源进行了详细的说明,通过不断的分析和调试最终实现了由Boa服务器支持通过CGI处理HTML表单的方法进行远程控制,在本地由开发板的Led显示Qt界面进行控制。设计的难点在于通过gprs模组进行远程发送和接收信息并结合软件编程,实现短信检测事件的机制,具有良好的可扩展性和实用性,符合了现代家电的智能化、网络化的发展方向。另外本系统的红外探测设计还可以应用于工农业生产中,实现对无人值守岗位的远程控制和安全报警等。本设计基本上满足了

27、本次课程设计的要求,在做这个大作业的过程中我遇到了很多的困难,通过师兄的知道和查阅资料最终都得到了解决。这次的大作业使我对Linux嵌入式有了进一步的了解,对S3C2440开发板有了更深的认识。附录1GPRS模组程序:以下是gprs.h程序:#ifndef GPRS_H#define GPRS_H#include #include #include #include #include #include #include #include #include #include #include #include class Gprspublic: Gprs(); void mobile_messa

28、ge(char *Tel_Num,char *message); /发送短信 void Tel_Call(char *Tel_Num); /打电话 int Tel_Hear();private: int fd_uart; /定义一个串口 char RecvBuf100; void GPRS_SendString(char *cmd); void GPRS_Recv_String(); int Uart_Init(int num); void Tel_Ans(); void Tel_Hang();#endif / GPRS_H以下是gprs.cpp程序:#include gprs.h#inclu

29、de Gprs:Gprs() Uart_Init(1); /初始化手机模组 printf(GPRS初始化.n); GPRS_SendString(AT+CFUN=1rn); / 复位gprs GPRS_SendString(ATrn); printf(串口正常n); GPRS_SendString(AT+CMIC=0,15rn); printf(设置麦克n); GPRS_SendString(AT+CMGF=1rn); / 设置短信为TEXT:1格式,PDU:0 printf(设置短信n); GPRS_SendString(AT+CHFA=1rn); / 使用耳机 printf(耳机设置n);

30、 GPRS_SendString(AT+CLVL=100rn); / 设置最大音量 printf(设置音量n); GPRS_SendString(AT+CSCS=GSMrn); / 设置USC2编码 printf(GSM设置n); GPRS_SendString(AT+CLIP=1rn); /开启来电显示功能 printf(来电显示设置n);void Gprs:GPRS_SendString(char *cmd) do write(fd_uart, cmd,strlen(cmd); GPRS_Recv_String(); while(strncmp(RecvBuf, rnOK,4) = 0);void Gprs:GPRS_Recv_

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2