重庆邮电大学本科毕业设计(论文)
许网络协调器设定为绑定[19]。此时,网络协调器检测是否有节点要求加入网络,如果接受到节点的加入请求,网络协调器会记录下节点的地址,并建立绑定,同时向各节点发出传送数据。网络协调器的软件流程图如图4.3所示:
图4.3 协调器软件流程图
第三节功能模块的软件设计
一、烟雾检测模块
MQ-2气体传感器可检测多种可燃性气体,当传感器所处环境中存在可燃性气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出电压信号[15]。根据传感器输出的电压大小判断环境中可燃性气体浓度的大小。
MQ-2气体传感器输出的是电压信号,处理器要把相应的电压值转换成对应的数值,CC2530自带了A/D转换的功能,A/D转换芯片在嵌入式系统中对应的设备文件中,首先系统调用函数打开嵌入式设备中的A/D转换设备,打开设备失败返回-1,以后的系统函数就可以对设备进行操作。
如图3.7所示,MQ-2其他传感器有6只针状管引脚,其中4个用于信号输出,2个用于提供加热电流。设传感器表面电阻是Rs,它是通过与其串联的负载电阻RL上的有效电压信号输出获得的,参考MQ-2datasheet 可得二者之
- 26 -
重庆邮电大学本科毕业设计(论文)
间的关系如式4.1所示:
RsRL??Vc?VRL?(4.1) VRL根据式4.1以及MQ-2的工作原理(其电导率随着气体浓度的增大而增大,其电阻式电导率的倒数,所以电阻是减小的,其特性相当于一个滑动变阻器),可以得到式4.2。
Vout?RLVc(4.2) Rs?RLVc为回路电压即电源电压,其加在MQ-2传感器的1脚、3脚之间,Vout是传感器4脚、6脚输出电压,R3为传感器的体电阻。若气体浓度上升,必将导致R3下降。而R3的下降则会导致MQ-2的4脚、6脚对地输出的电压增大,所以气体浓度增大,其输出电压也会增大。
CC2530开发板的A/D转换器会把输入的模拟电压信号转换成0-1023之间的数字,转换成的数字越大,说明电压越大即烟雾浓度越大。假设程序中经过A/D转换后的数字是C,在程序中可以设两个值C1、C2,假设C1=400,C2 =800,若C>C1,系统把室内的抽风机打开,把有害气体排出室外,若C>C2,系统把蜂鸣器开起,进行报警。
此烟雾报警模块的程序流程图如图4.4所示。
- 27 -
重庆邮电大学本科毕业设计(论文)
图4.4 烟雾检测模块程序流程图
二、红外人体感应模块
红外人体感应模块在智能家居系统中广泛应用,可以应用在家门外,检测是否有陌生人靠近房屋,也可以使用在保险柜处,检测是否有人在保险柜附近活动,还可以使用在窗户边,有效的防止小孩在窗户边玩耍时,不小心从窗户掉到楼下去。本设计以预防小孩坠楼为例说明红外人体感应模块的用处。
我们通过在窗户附近安装人体红外传感器,检测到小孩靠近窗户时将关闭窗户,小孩离开窗户后将把窗户打开,最大限度保护小孩的安全。在模型中我们只用了一个人体红外传感器,还不能准备判断是大人还是小孩靠近窗户,但在实际项目中可在不同高度安装人体红外传感器通过高度准确是大人还是小孩靠近窗户。
红外传感器正常工作时,人在进入传感器的检测范围内,输出高电平。当安装在窗户边的传感器检测到有小孩时,系统决定将窗户关闭。红外人体感应模块的程序流程图如图4.5所示:
图4.5 红外人体感应模块程序流程图
- 28 -
重庆邮电大学本科毕业设计(论文)
三、温湿度检测模块
温湿度检测模块是对家居环境的温度和湿度进行实时检测,当温度过高或过低时可以通过空调控制室内的温度,使室内温度保持在一个适当的温度值;同样,当室内湿度过高或过低时,可以通过抽湿器或加湿器对室内湿度进行调节。温室度检测模块的程序流程图如图4.6所示:
图4.6 温湿度检测模块程序流程图
第四节本章小结
本章介绍系统主要环节的软件实现过程,首先介绍系统总体框架设计,然后介绍无线传感器网络节点的程序实现流程图(包括网络协调器节点和网络终端节点),最后介绍主要模块的实现流程图,这包括红外人体感应模块、烟雾检测模块和温湿度检测模块。
- 29 -
重庆邮电大学本科毕业设计(论文)
第五章系统测试
第一节网络测试
本文的无线网络中包括两个节点,一个协调器,一个终端设备。无线网络是由协调器发起的,当给协调器节点上电以后,LED3灯常亮组建网络成功,如图所示5.1所示:
图5.1 协调器上电组网
协调器成功组建网络以后,给终端节点上电,刚开始led1闪亮,当成功加入网络以后,led3常亮,同时在显示屏上显示“EndDevice:A9e3 Parent:0”,如图5.2所示,表示终端设备的地址为:A9E3,父节点(也就是协调器)地址为:0。
- 30 -