1、智能家居控制系统终稿分析 本科生毕业设计报告学 院 物理与电子工程学院 专 业 电子信息工程 设计题目: 智能家居控制系统 学生姓名 王昆 指导教师 祝家雄(副教授) (姓名及职称)班 级 2010级电信2班 学 号 10300196 完成日期: 2014 年4月智能家居控制系统王昆物理与电子工程学院 电子信息工程 10300196 摘 要本文介绍了一种简易智能家居系统的设计方案。此系统基于TX2440 ARM9嵌入式开发板、linux操作系统和两个无线模块制作,以web编程为核心技术,在TX2440开发板上搭建web服务器,实现一个简易的网络控制系统,用户可以通过计算机网络或者智能手机联网登
2、录嵌入式开发板上的web服务器,控制开发板上的相应硬件或者驱动相应硬件工作,从而具体的控制家里的电器开或关。 该系统实现了智能和远程的概念,可以通过互联网控制家里所有的电器,满足了信息化时代里人们日益增长的要求,此设计对当今还未普及的物联网实现具有重要的意义。关键词 TX2440 ARM9嵌入式 linux操作系统 无线模块 web编程 远程 物联网AT89C52 1绪言随着网络技术和通信技术的不断发展以及人们对生活要求的不断提高,实现家庭智能的远程控制已经成为必然的趋势。智能网络家居系统是信息时代带给人们的一个高科技产物, 它涉及到对家庭网络内所有的智能器具、设备和系统的操作和管理, 以及计
3、算机技术、通讯网络技术和自动控制技术的应用。它们的最终目的都是为满足人们对安全、舒适、方便和符合绿色环境保护的需求。智能网络家居系统的具体功能包括:采集家用设备包括室内温度,灯具家电,防盗门等设备的状态数据,经控制器处理后反馈给用户。远程用户可以通过发送手机短信或通过互联网对家庭系统进行控制和查询。当检测到非法闯入或温度超高等信号时,及时触发室内报警装置,并通过网络及时通知用户。对室内外进行网络实时视频监控。2 设计任务与要求本次设计的主要任务是:在TX2440开发板上搭建web服务器,让web服务器在开发板上运行起来,用AT89C52单片机10驱动无线发射模块和无线接收模块,无线接收模块上的
4、单片机驱动继电器工作,控制家里的强电电器开关。Web服务器2的搭建任务包括:硬件准备,准备嵌入式开发板TX2440和PC机,Jlink bootloader烧写工具。系统软件支持,嵌入式linux操作系统12,使用linux2.6.35内核,虚拟机VMware9.0,ubantu,SecureCRT 6.0串口终端调试软件,J-link ARM V4.081bootloader烧写软件,交叉编译工具链arm-linux-gcc4.1.2,TFTP服务器和NFS服务器的准备。无线模块搭建任务包括:硬件支持,AT89C51单片机,NRF905无线模块,继电器。软件支持,Keil4,protel99
5、se。此次设计需要达到的要求有:能稳定正常的在开发板上运行web服务器,能够通过网络登录到开发板上的web服务器,并通过网页上的按钮控制开发板上的硬件工作和驱动1无线模块工作,使得单片机上的相应引脚产生高低电平来控制继电器的开关。从而实现对家用电器开关的控制。3 设计方案此次设计主要是嵌入式应用系统14和单片机应用系统3,模块化设计为此次设计的主要设计方案,模块化设计清晰明了、简单易懂。采用TX2440嵌入式开发板作为总控制单元,AT89C52作为辅助控制单元,实现模块化的控制,总控制值单元TX2440嵌入式开发板负责web网络服务器的运行,web服务器采用web网络编程核心技术实现,AT89
6、C52单片机辅助控制单元负责无线模块的实现,此次设计的无线模块包括无线发射和无线接收两个模块,分别由两片AT89C52单片机控制信号的收和发,无线接收和发射模块的显示器采用LCD1602液晶显示屏,液晶显示屏的作用是为人机交互提供友好的界面。简单化、低功耗和模块化是此次设计的主要原则,硬件模块化和软件模块化的组合,使系统高速有效的运行。基于TX2440开发板的智能家居系统主要由以下几个功能模块组成:TX2440嵌入式开发板web服务器模块,AT89C52控制的无线发射模块,AT89C52控制的无线接收模块。3.1嵌入式web服务器设计 现在市场上的大部分智能家居远程控制系统都是通过在智能手机上
7、下载安装基于C/S架构的专有客服端来进行远程控制,但是C/S架构不可避免牵涉到操作系统,现在主流的智能手机操作系统有苹果的ios,谷歌的android,诺基亚的symbian,meego,微软的windowsphone7等等,由于众多智能手机的操作系统都不一样,因此C/S架构的服务器就会因手机操作系统的不一样而导致客服端软件的不一样。如果采用B/S架构的web服务器就不会产生因手机操作系统不同而导致客服端软件不同的问题。此次设计中的web服务器采用B/S架构实现,网页前端采用HTML编程语言Javascript脚本实现网页设计和网页动态刷新。网页后台采用web网络编程技术和CGI编程实现。CG
8、I2是公共网关接口Common Gateway Interface的简称,是web服务器和主机应用程序之间进行信息交互的一种接口标准或规范,通过CGI,web服务器可以激活一个应用程序,同时将用户提交的数据传递给这个程序,随后又将该应用程序的响应或输出返回给浏览器,用户客服端由网页前端将信息通过HTTP协议传输给运行在TX2440开发板上的web服务器,web服务器解析通过网络的协议和用户提交的数据,再由CGI编程具体实现硬件的控制,再将硬件的状态通过web服务器返回给浏览器。3.2无线发射模块设计 此系统中的无线发射模块主要由主控制单元AT89C52单片机、LCD1602液晶显示模块、NRF
9、905无线模块组成。无线发射模块主控单元AT89C52单片机的I/O口引脚直接和TX2440嵌入式开发板的GPIO口相连接,web服务器解析网页客服端的用户数据后通过CGI编程控制TX2440嵌入式开发板的GPIO口的高低电平,无线发射模块的主控单元通过检测TX2440开发板GPIO口的高低电平信号,然后将该信号以协议的方式发射出去,由无线接收模块接收该协议信号,进而将接收到的协议信号解析之后再做相应处理。3.2.1 NRF905无线射频模块 此系统中无线射频模块采用的是NRF905单片收发器,NRF905单片无线收发器是挪威Nordic公司推出的单片射频发射器芯片,工作电压为1.9-3.6V
10、,32引脚QFN封装(5mm5mm),工作于433/868/915MHz3个ISM频道(可以免费使用)。由于本系统中的无线射频模块要求的传输距离不是很长,而NRF905的传输距离大概在300米左右,因此选用NRF905无线射频模块对本系统的设计已经足足够用了,此系统中使用的无线射频模块如图1所示。此无线模块外围引脚封装为14个,如图2所示,分别是VCC、两个GND、CE、UCK、AM、MISO、SCK、TXEN、PWR、CD、DR、MOSI、CSN。这些引脚分别和无线模块的主控制单元AT89C52单片机的I/O口连接,直接由单片机编程控制无线模块工作。 图1 nrf905模块实物图 图2 nr
11、f905模块引脚图3.2.2液晶显示模块设计 本次设计中无线发射模块的显示器是采用的LCD1602,在无线模发射模块中,液晶显示器LCD1602只是为了方便调试,在调试阶段,我们可以通过观察液晶显示器来了解TX2440开发板和无线发射模块之间信号传输过程。本模块中采用的LCD1602液晶显示器型号为LCM1602A,标准16针接口,如图3所示。LCD1602内置字库,使用起来非常方便,它的十六针引脚分别是地VSS、电源VDD、V0背光接口、RS读操作、RW写操作和8个数据端口D0D8。LCD1602液晶显示器的16个引脚分别与无线发射模块中的主控制单元AT89C52单片机的I/O口连接,由单片
12、机编程控制LCD1602正常工作。 图3 LCD1602引脚图3.3无线接收模块设计 在此次设计的系统中,无线发射模块和无线接收模块几乎完全一样,硬件电路设计也几乎相同,只是无线发射模块是从TX2440开发板的GPIO口得到信号,再将信号发射出去。而无线接收模块接收此信号将此信号输出,控制继电器的开关。两个模块唯一的不同就是工作模式,无线发射模块工作在发射模式,而无线接收模块工作在接收模式。无线接收模块主要由主控制单元AT89C52单片机、LCD1602液晶显示模块、NRF905无线模块组成。由于两个模块的设计相同,此处则不再对LCD1602液晶显示模块和NRF905 射频模块做详细介绍。4
13、设计具体过程4.1系统总体原理框图在此次的系统设计中,系统总体采用模块化设计的思路,因此系统总体框图清晰明了,如图4所示:图4系统原理框图4.2web服务器搭建此系统中web服务器的搭建较为复杂,包括嵌入式开发环境8的搭建和硬件的准备,还需准备一系列的开发工具软件,包括windos平台工具和linux平台工具。4.2.1硬件准备和工具软件准备 搭建嵌入式web服务器时需要准备一台TX2440嵌入式开发板,J-link bootloader烧录工具。J-link bootloader烧录工具用于烧写u-boot到开发板的Norflash,因为J-link bootloader烧录工具现在只支持N
14、orflash烧写,而不支持Nandfash烧写。因此需要把u-boot先烧写到Norflash,然后再命令将u-boot从Norflash烧写到Nandflash。windos平台工具的准备:在PC机上安装串口终端调试软件SecureCRT 6.0,VMware9.0虚拟机软件,然后在虚拟机中安装Ubantu linux操作系统,本系统中所用到的linux操作系统内核版本均为比较稳定的linux-2.6.35内核版本,安装J-link烧录软件J-link ARM V4.081。linux平台工具准备:在虚拟机中安装交叉编译工具链cross-2.95.3,nfs网络服务器和TFTP网络服务器。
15、4.2.2嵌入式开发环境搭建将开发板的串口线、USB线、网线同PC机连接好,打开PC机上串口终端调试软件,选择开发板从Norflash启动,此时需要拔下开发板上的跳线帽,然后打开开发板电源,此时串口终端会打印如图5所示的信息。图5 u-boot串口打印信息选择1,将u-boot下载到Nandflash中,u-boot的镜像文件u-boot.bin是由u-boot源码经过裁剪、定制和交叉编译得到的,具体过程在此不做详述,我们只需要将提供的编译好的u-boot.bin镜像文件通过USB口下载到开发的Nordflash,然后跳上开发板的跳线帽,此时再重启开发板,我们会看到如上图所示的u-boot从N
16、andflash启动时在串口终端的打印信息。设置电脑的静态iP地址192.168.1.120,虚拟机的ip地址为192.168.1.119,此时在串口终端上命令ping 192.168.1.120,ping192.168.1.119,确保开发板能ping通PC机和虚拟机,即保证开发板和虚拟机能正常通信。如图6所示。图6开发板ping通PC机和虚拟机重新启动开发板板,快速按任意键停在boot处,设置u-boot 的环境变量,setenv serverip 192.168.1.119,setenv ipaddr 192.168.1.110,setenv gatewayip 192.168.9.1,
17、saveenv保存设置。此时板子串口能显示信息,板子能和虚拟机通信,因为虚拟机安装了tftp服务器和nfs服务器,因此我们可以通过tftp来下载内核镜像到开发板并通过nfs挂载网络文件系统,网络自动 tftp 加载内核,并挂载nfs,rootfs 启动。内核移植及根文件系统的制作较为复杂,我们只需要通过tftp服务器在内核镜像到开发板上运行并挂在nfs网络文件系统即可。完成这些步骤之后,我们再重启开发板,就会在串口终端上看到内核能在开发板上跑起来,并且文件系统是通过网络挂载到虚拟机的home/wangkun下。串口终端的打印信息如图7所示,虚拟机的/home/wangkun目录就和开发板的/m
18、nt/nfs目录完全同步了,如图8所示。图7开发板上文件系统 图8虚拟机的/home/wangkun目录通过以上环节,我们已经搭建好嵌入式开发环境,在虚拟机中,运用web网络编程技术编写web网络服务器,具体源码见附录,将编写好源码进行交叉编译,编译好后会生成能够在TX2440开发板上运行的可执行二进制文件webserver,将此文件拷贝到刚才挂载的nfs网络文件系统home/nfsroot目录下,此时我们能够在开发板的串口终端上看到刚才拷贝的webserver文件,然后在串口终端上执行命令./webserver,再执行命令ps e,可以看到webserver在开发板上运行起来了,如下图9所示
19、。图9 webserver在虚拟机上运行Web服务器前端页面设计,此系统中的前端页面主要由两个页面组成,第一个页面为登录页面,用户可以通过输入用户名和密码登录,然后跳转到主页面,主页面上有表示家用电器开关的按钮,用户可以通过点击页面上的按钮来控制家用电器的开关,web服务器前端页面主要由html语言编写,具体源代码见附录。前端页面效果图如图10、图11所示。图10 webserver登录界面图11 webserver主控制界面4.2无线发射模块硬件原理图无线发射模块的主控制单元AT89C52单片机I/O直接TX2440开发板的GPIO口相连接,GPIO口的高低电平将代表家用电器的开和关,无线发
20、射模块从GPIO口得到的信号直接发射出去,其硬件原理图如图12所示。图12 无线发射模块硬件原理图4.3无线接收模块硬件原理图无线接收的模块的硬件电路图和无线发射模块的硬件电路图几乎相同,不同的是它们工作模式,无线接收将接收到电信号解析之后输出到单片机I/O口引脚,分别用单片机的P2口的四个引脚的高低电平表示电器的开关,P2_0口接了一个继电器,继电器直接和家用电器的电路连接,当P2_0口引脚产生低电平时,继电器的开关从常开状态跳转到常闭状态,此时家电的开关打开,为了方便起见,其他三个引脚接上发光二极管,表示其他的家用电器,发光二极管的亮灭分别表示家电的开和关。无线接收模块的硬件原理图如图13
21、所示。图13 无线接收模块硬件原理图4.4 系统总体流程图 本此设计系统的总体流程图如图14所示。图14系统总体流程图5 设计结果基于TX2440开发板的智能家居系统设计的总体效果如图15、16所示,用手机的浏览器或联网的电脑登陆web服务器的主页面,即在浏览器上输入开发板的ip地址192.168.1.110后回车,就登陆到网页登陆界面,输入用户名和密码,来到主界面。点击LED1ON,相应的无线接收模块的电灯就会被点亮,点击了的LED1OFF,点灯就会被熄灭。图15 总体效果图1图16 总体效果图2无线发射模块和无线接收模块的实物焊接图分别如下图17、图18所示。 图17 无线模块实物图 图1
22、8焊接背面图 从上面的总体效果演示图可以看出,当我们再网页上点按钮时,相应的无线接收模块会驱动继电器工作,打开电灯或者关闭电灯,因此可以得出本次远程智能家居系统设计的成功,实现了远程和智能的概念。6 总结思考智能家居系统是如今信息时代必然的产物,由于研发成本较高,研发技术还不是非常成熟,因此还未达到普及的程度,虽然说现在市面上已经有很多全套智能家居系统的设施出售,但大多数都比较贵,而且技术也不是非常成熟,不是很稳定。但是随着科学技术的不断发展,物联网技术的飞速发展,该技术会越来越成熟,智能家居系统也会随着技术的不断成熟逐渐普及到每个家庭。本次智能家居系统的设计只实现了一些基本的功能,能够控制家
23、用电器的开关,相对比较成功。但智能家居系统是一个非常广泛的概念,具体功能包括:采集家用设备包括室内温湿度,灯具家电,防盗门等设备的状态数据,GSM模块的设计,远程视频监控等功能,这些后续功能都有待实现。本次系统设计的缺陷是功能不多,还有就是登录web服务器的时候需要用ip登录,而不是用域名登录,如果需要为该系统的ip地址注册一个域名则需要到电信营业厅。注册之后就可以直接用域名登录web服务器直接找到TX2440开饭,并控制开发板上的硬件动作。为了方便和节约成本起见,在此次设计中我们就直接用ip地址登录。 在这里我要感谢我的指导老师祝家雄老师,在他的悉心指导下,顺利完成了本次设计。参考文献1 冯
24、国进.嵌入式Linux驱动程序设计 .清华大学出版社.2 韦东山.嵌入式Linux应用开发完全手册 .人民邮电出版社.3 杨峰.C语言完全手册.科学出版社.4 杨宗德,邓玉春.Linux高级程序设计第二版.人民邮电出版社.5 冯建华,赵亮编.单片机应用系统设计与产品开发.人民邮电出版社.2004.6 郭天祥.51单片机入门提高开发拓展全攻略.电子工业出版社.2011.27钟汉如,张庆灿.YAFFS嵌入式文件系统应用研究.华南理工大学,2002.825.8 汤凯 .Linux内核配置系统浅析,2003.2. 9 潘新民 .单片微型计算机实用系统设计M.人民邮电大学出版社,1998. 10 李全利
25、.单片机原理及应用技术.高等教育出版社, 2004.11.11 陈皓,祝冬华.跟我一起Makefile,2005.4.12 徐英慧.ARM9嵌入式系统设计-基于s3c2410与Linux.北京航天航空大学出版社.13黄智伟,邓月明.ARM9嵌入式系统设计基础教程.北京航天航空大学出版社.14华清远见嵌入式学院. 从实践中学嵌入式Linux C编程. 电子工业出版社,2012.15李新荣,曲凤娟.ARM9嵌入式系统设计与应用. 清华大学出版社,2011.Intelligent home control systemWangKunAbstract This paper introduces the
26、 design scheme of a simple smart home system. This system based on TX2440 ARM9 embedded development board, Linux operating system and two wireless module production, with the core technology, web programming on the TX2440 development board structures, web server, the realization of a simple network
27、control system, the user can through the computer network or smartphone network login embedded development board on the web server, the corresponding hardware control development board or drive the corresponding hardware, and concrete control home appliances on or off.The system implements the conce
28、pt of intelligence and remote control all electrical appliance in the home can be controlled via the Internet, meet the requirements of the people in the information age growing, this design today has not spread on the Internet of things has an important meaningkey words TX2440 ARM9 embedded Linux operating system remote wireless module web programming iot AT89C52
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1