1 引言
人们生活水平的提高以及科技的进步,特别是计算机技术、网络技术和通信技术的发展,智能家居将慢慢成为未来家居生活的发展方向。1984年在美国诞生了世界上第一座智能家居建筑,从此以后,世界上的各大公司和科研单位不断加速在智能家居方面的研究,他们分别提出了自己的智能家居解决方案,其中以新加坡提出的技术方案最具代表性,他的智能家居系统包括三表抄送、安防报警、家电控制、家庭智能控制面板、监控中心等功能,目标在于将家庭中与信息相关的通信设备、家用电器和家庭安防装置通过总线技术连接到家庭智能化系统上,从而进行集中或远程控制和管理。在未来,智能家居不仅要为用户提供健康、舒适安全和安全的生活环境,而且用户还能够远程控制家庭电器设备和监控自己的家居状态。因此,本系统家从远程要满足这样的需求,一方面需要把家庭无线网络接入互联网,因为互联网已经渗透到我们生活的各个角落,通过互联网可以随时随地的远程控制家庭电器设备和监控自己的家居状态;另一方面在家庭内部采用无线网络技术,这样可以提供更大的灵活性、流动性,更符合家庭网络简洁性、灵活性、模块化、扩展性及独立性的通信特点。因此本系统将从网络化和无线化两方面着手来构建智能家居系统。
2 系统的总体设计
为了让智能家居控制系统之间实现无线通信,以及为了方便以后扩展外围模块去实现更多的功能,本设计基于嵌入式智能家居监测控制系统在拟采用模块化设计,拟由4个子系统组成:ARM控制中心、协调器、节点1、节点2,其系统总体如图1所示。
ARM控制中心主要完成的工作有:处理协调器发过来的信息,并且将相关的控制信息发送给协调器;其内部安装嵌入式 WEB服务器,主人可以通过网页获取各个节点的工作状态和控制各个节点的工作。此外,它还要处理火灾,盗贼闯入灯异常信息,然后通过GPRS模块用短信把相应的报警信息发送给主人。
协调器主要负 责ARM控制中心和各个节点之间的无线通信。一方面接收节点1和节点2的数据,然后通过串口送入到ARM控制中心进行处理;另一方面可以把前端的控制指令转发给相应的节点。
节点1的功能:把传感器采集到的温度数据实时的通过无线传输给协调器;当有火情和盗贼闯入的时候,蜂鸣器立即报警并把相应的信息通过无线发送给协调器;实现对点灯的控制。
节点2完成 “电器”的定时控制功能。定时器的定时时间可以通过客户机来设定,并且可以通过网络查询定时器的剩余时间;在此,实现湿度的监测。
3 系统的硬件设计
3.1 控制中心的设计
本设计中采用的ARM芯片为 S3C2440,S3C2440是由三星公司生产的一种性价比很高的CPU芯片,由于该芯片价格低、功耗低和体积小等显著的特点,主要用于手持设备和一般类型应用的设备。
控制中心硬件电路主要有主控模块(S3C2440)、存储单元(64M SDRAN 和64M Nand Flash)、以太网接口、串行通信接口等,其硬件结构如图2所示。
3.2 手机短消息模块
系统采用的是SIM300模块,该模块是SICOM公司研制和生产的 GSM/GPRS无线通信模块,其可以实现的功能有 GPRS网络数据收发、语音通话、短信收发、彩信收发等[5]。本系统主要用到的功能是短信的发送,当有火灾或者盗贼 闯 入 的 时 候,系统会议短信的方式告诉主人。
SIM300和S3C2440之间是通过串口通信的。其短信数据传输硬件组成如图3所示。
nRF24L01无线模块#e#
3.3 nRF24L01无线模块
目前比较流行的无线通信技术有 Z-Wave和 Zigbee技术。Z-Wave是一种高可靠性、低 成 本、低 功的短距离无线传输技术,其信号室内传输距离为30m,室外可达100m,数据传输速率可达906k/s;单 一 家 庭 网 络 可达 到232个节点,可满足一般家庭的需要。目前市场上已经出现了关于Z-Wave的智能家居产品,但是Z-Wave联盟没有开放它的相关标准,阻碍了关于产品的开发和扩展。
ZigBee技术是一种基于IEEE802.15.4协议的短距离通信标准。一 个ZigBee网络可以包 含65536个 节点,并且各个节点间的通信非常可靠,除此外,ZigBee标准是一个开放的标准。但是ZigBee器件的成本是相当的昂贵。为了克服上面的问 题,本系统现选择了nRF24L01无线通信模块,该块工作在2.4g频段,价格低廉,配合 ATmea16单 片 机使用不经可以节省成本,而且可以减低开发难度。nRF24L01模 块的系统原理如图4所示。
4 系统的软件设计
系统的软件设计主要包括6部分,分别为远程控制WEB前端设计 、手机短消息模块 、控制中心程序的设 计 、协调器的程序设计 、节 点1和节点2的程序设 计 。
4.1 远程控制WEB前端的程序设计
系统页面主要由htm语言、javascript脚本语言设计而成,完成的主要功能有显示家电的状态,显示室内环境的参数如:温湿度,控制家电等。系统的控制页面如图5所示。
4.2 控制中心程序的设计
本系统上面用到的操作系统是linux,其上面移植有BOA服务器 ,BOA服务器非常适合单任务的HTTP服务,并且其支持CGI接口 。CGI程 序 可 以 采用she脚本语言、pre、php、c语言等语言来实现 ,但是由于c语言的兼用性表较好 ,以及用C语 言编写的CGI程序可以直接在boa服务器面执行且比较小,因此 ,本系统用c语言作为CGI程序的开发语言。用C语言编写CGI程序设计到字符串的处理 ,因此是一个非常复杂且容易出错的过程 ,但幸运的是可以借助第三方库CGI来 编 写CGI程 序。 如图6所示控制中心程序的流程。系统采用的是双线程并行执行的 ,一条进程用来读取串口发送过来的信息并重定向显示到网页上 ,另一条进程用来解析网页中的控制信息,并将相关信息发送出去 。线程1和线程2的流程如图6a和b所示 。
4.3 手机短消息模块程序设计
SIM300和S3C2440之间是通过串口通信的。中 文短信的发送要进过如下步骤:1)变换号码;2)短信内容编码;3)PDU格式编码;4)短信的发送。根据这4部分 在Linux环境下编写了如下短信发送程序。
4.4 协调器的程序设计
协调器主要完成的功能有,将nRF24L01接受到的数据通过串口发送给ARM;将串口接受到的数据通过nRF24L01发送出去。协调器的主函数程序流程如图7所示。
在此函数中中断有2个,1个是串口接受中断 ,1个是INT2中断 。串口接受中断函数的主要功能是将串口接受到的控制信息发送给相应的目标板 ;INT2中断函数的功能是将无线模块接受到的信息通过串口 传给ARM。
4.5 节点1的程序流程
发送机1的功能:完成与协调器之间无线通信;定时采集温度信息;当有火情出现时,蜂鸣器立即报警,并立即向接收机0发送无线数据;当有盗贼闯入的时候,蜂鸣器报警,并立即接收 机0发 送 无 线 数 据;同时接收接收机0发送过来的无线数据,通过解码后去控制LED灯的亮灭。节点1的函数流程图如图8所示。
4.6 节点2的程序设计
节点2主要完成的功能是完成同协调器的无线通信通过按键来定时;通过WEB前端来定时,显定时器的剩余信息。节点2的程序设计流程如图9所示
5 系统测试
要对系统的性能和功能有个全面的了解,看起是否满足现实什么的需要,就必须对系统进行。整个系统的测试采用分模块的测试办法进行。
5.1 射频发射模块的测试
对该模块的测试,首先需要个节点部分的nRF24L01工作在发射状态 ,连续不断的发射数据,然后验证协调器部分的nRF24L01射频模块能否接收到正确的数据 。协调器通过串口与上位机相 连 接 ,通 过 查 看securecrt的 打印信息来验证接收到的数据。经过以上测试可以验证智能家居 的无线部分是否正常工作 。
理论上nRF24L01无线模块的传输距离是100m。经测量nRF24L01在无障碍的情况下的传输距离是45m;如果中间有一个障碍物的话,实际的传输距离迅速递减到15m。表1是传输50个字节的数据。
节点2主要完成的功能是完成同协调器的无线通信通过按键来定时;通过WEB前端来定时定时器的剩余信息。节点2的程序设计流 程如图9所 示
以100m2的住宅为例,两点之间最远的地方为14m,因此nrf24l01无线射频模块可以满足智能家居各个节点之间的无线传输需求。
5.2 温度检测模块的测试
将节点1和市面上常用的温度计放在装有空调的房间中进行测试,通过调节空调的温度来控制室内的温度,然后将检测的温度同温度计上面显示的温度进行比较。通过6次实验,得到6组不同的实验。实验数据表2所示。
通过上面数据可以看出系统测量的温度与温度计所测的温度非常接近,最大的温差为0.4°,平局误差约为0.3°例外,将该模块放在冰箱的冷冻室和刚烧开的开水中,分别测 得温度为 —105和98°。因 此 ,可以看出该模块能很好的反映实际 的环境温 度 。
5.3 红外报警系统的测试
首先将红外报警所在的节点1放在离地面1.5m左右的桌子上面,测试30次,未发生错误报警的情况。实验表明,报警范围在室内是30m左右,在 室外到50m。
5.4 火灾报警系统的测试
本实验参考,国家标准GB4515《点型感烟火灾探测器技术要求及试验方法》的要求,布置了一个火灾实验室,活在设在实验室的中心地面上,由于 MQ2烟雾传感器在节点2上面,所以将节点2安置在距离活在3m的上空。采用国标 GB4515中的标准试验火SH2-90根棉绳点火进行实验。将棉绳绑在节点1所在的支架上面,点燃后迅速熄灭火焰,使棉绳产生持续的烟雾。表3是6次实验采集的数据。
从以上数据可以看出火灾报警系统能够对火灾产生准确的响应。
5.5 对电器的控制
由于本系统没有连接实际的电器,对点灯的控制本系统才有4个LED灯做替代。对空调的控制,无非就是设定的定时时间、控制温度。因此,本系统有一个思维数码管做一个替代空调。通过实验,可以看到,可以达到通过网页对它们的控制。
结论
设计了一种基于BOA和nRF24l01的智能家居系统。实现了通过web对家庭环境的监测,闯入的监测 ,对火灾的监测和对家电的远程控制等功能 。本系统能基本满足一般家庭的需要, 具有智能、成本低廉等优点 。此外,本系统经过简单的改进之后可以应用在智能交通监测体统 ,森林防火系统以及智能用电家居系统中。因此本系统具有非常广阔的应用前景 。