基于NRF905的智能家居监测系统

时间:2022-10-24 17:35:02 来源:网友投稿

摘要:随着人民生活水平的提高,对生活居所的环境品质和安全提出了更高的要求,对家居环境温湿度的监测以及对瓦斯浓度、光强的监测对人们的生活和安全有及其重要的作用,本文研究了基于NRF905的分散节点的多点传输无线监测系统,较为详细地介绍了该系统的组成结构、工作原理、硬件构成、软件设计和测试结果。本系统试验运行良好可靠性高,且非常方便进行节点数扩展,具有较好的推广应用前景。

关键词:NRF905;智能家居;节点;监测;STC12C5A16S2

中图分类号:TP311.52 文献标识码:A 文章编号:1674-7712 (2012) 18-0112-03

智能家居是利用先进的电子技术、网络通讯技术等,将家庭中各种与信息相关的通讯设备,家用电器和家庭保安装置通过家庭总线技术(HBS)连接到一个家庭智能化系统上进行集中的或异地的监视、控制和家庭事务性管理,并保持这些家庭设施与住宅环境的有机地结合在一起的系统。智能家居不仅具有传统的居住功能,并且通过在家中建立的通讯网络,实现对家庭中的各种与信息相关的设备、家用电器及保安装置,进行集中的或远程的监测和管理,使人们的生活更加安全、便利、舒适和符合环保。在日常生活和室内商业活动中,为保证各项工作在某恒定的气体浓度、温度、湿度、光照等安全范围内进行,对温湿度、光照度的监测及控制具有极其重要的意义。

本系统设计一个基于NRF905的无线智能家居监测系统,主要是在端节点采集气体浓度、温度、湿度、光照强度等相关信息,然后通过NRF905无线射频模块传送相应信息到主机,实时采集到的信息在主机和主人设定的预警值进行比较计算,如果超出预警阈值设定,则发出报警信号。

一、系统原理介绍

本系统主要由主机和端节点1、2、3构成。主机主要包括微处理器模块、LCD显示模块、时钟模块、数据储存模块、NRF905无线射频模块、报警模块和键盘设定模块构成,实现万年历时钟实时显示,并对各个端节点数据进行实时获取到主机集中存储和显示,采集到的信息数据和主人设定的预警值进行比较计算,如果超出预警阈值设定,则蜂鸣器发出报警信号。

端节点主要包括无线射频模块、温湿度采集模块、温度采集模块、瓦斯浓度检测模块和光照采集模块构成。端节点1考虑为主卧室包括NRF905无线射频模块和温湿度采集模块,对采集到的温湿度数据通过无线模块发送给主机;端节点2考虑为厨房主要包括NRF905无线射频模块、温度采集模块和瓦斯气体浓度采集模块,对采集到的温度和瓦斯气体浓度数据通过无线模块发送给主机;端节点3考虑为客厅主要包括NRF905无线射频模块、光照采集模块和温湿度采集模块,对采集到的温湿度数据、光照强度数据通过无线模块发送给主机。

二、系统硬件设计

(1)主机微处理器。由于主机需要多个I/O口线与LCD显示模块、时钟模块、数据储存模块、NRF905无线射频模块、报警模块和键盘设定模块进行连接,因此微处理器采用DIP40封装的单片机STC12C5A16S2来实现。单片机STC12C5A16S2含有16K字节Flash闪速存储器,1280字节内部RAM,1个时钟/机器周期,高速,高可靠,2路PWM,8路10位高速A/D转换,40个I/O口线,具有超强抗干扰性,宽电压,不怕电源动。内部集成高可靠复位电路,外部复位电路可彻底省掉,也可继续使用。

(2)显示模块。显示模块选择主控为ST7920的带字库的LCD12864液晶显示模块来显示信息。ST7920控制器的LCD产品可以提供8位,4位并行和串行三种工作接口,能够显示多数常用的汉字及ASCII码,适用于各类仪小型设备的显示领域,是比较常用的显示器,为了节省对微处理器IO口的占用,我们采用LCD12864液晶显示模块串行工作模式,LCD12864串行液晶接口基本电路图如图2所示。

(3)主机时钟和数据存储模块。主机采用DS1302时钟芯片,DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器,使用非常方便。

数据存储模块采用AT24C256为主芯片,24C256是美国Atmel公司的低功耗CMOS型E2PROM内含32K×8位存储空间具有工作电压宽(2.5-5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了I2C总线式进行数据读写的串行器件占用很少的资源和IO线并且支持在线编程进行数据实时的存取十分方便。时钟和数据存储电路图如图3所示。

(4)键盘和主机报警设计模块。键盘采用4个轻触开关,有键按下时单片机对应的IO口P20-P23某一个引脚得到低电平,通过对P20-P23的扫描判断有哪一个键按下。报警模块采用5V有源蜂鸣器外加三极管来驱动实现,当实际值超过设定的阈值时,P24输出低电平,Q9导通,蜂鸣器响,实现报警功能。键盘设定和主机报警电路如图4所示。

(一)NRF905无线射频模块

主机和端节点都需要配置NRF905模块,NRF905是挪威NordicVLSI公司推出的单片射频收发器,工作电压为1.9~3.6V,32引脚QFN封装(5×5mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。NRF905由电源管理、晶体振荡器、低噪声放大器、频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加滤波器,曼彻斯特编码/解码由片内硬件完成,无需用户对数据进行曼彻斯特编码,使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。

NRF905有两种工作模式分别是ShockBurstTM接收模式和ShockBurstTM发送模式。ShockBurstTM模式与射频数据包有关的高速信号处理都在NRF905片内进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在NRF905中高速发送,因此中间有很长时间的空闲,这很有利于节能。由于NRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。在ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制器。在ShockBurstTM发送模式,NRF905自动产生字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。由以上分析可知,NRF905的ShockBurstTM收发模式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。

因NRF905工作电压和微处理器工作电压不同,因此NRF905射频模块与微处理器IO口之间串接1K电阻作为限流电阻。主机微处理器与NRF905射频模块之间的连接如下图5。

(二)端节点硬件设计

端节点硬件系统微处理器主要采用STC5206AD,与之连接的主要包括NRF905无线射频模块、DHT11温湿度采集模块、DS18B20温度采集模块、MQ-5瓦斯浓度检测模块和光敏电阻光照采集模块构成。

(1)端节点微处理器。端节点因为所需要的IO口较少,但是需要进行模数转换获取数据,因此微处理器我们采用STC5206AD,端节点微处理器与NRF905模块之间的连线同主机微处理器与NRF905模块连接相同,见上图5。

(2)DHT11温湿度一体化采集模块。DHT11是一款高度集成的温湿度传感器芯片,提供全标定的数字输出。它采用专利的CMOSens技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件。并在同一芯片上14位的A\D转换器以及串行接口电路实现无缝连接。因此DHT11具有品质卓越、超快响应、抗干扰、能力强、极高的性价比等优点。每个传感器芯片都在极为精确的湿度腔室中进行标定以镜面、冷凝式湿度计为参照。标准系数以程序形式存储在OTP内存中,在标定的过程中使用单总线的串行接口。

(3)温度采集和瓦斯气体检测模块。DS18B20数字温度计是DALLAS公司生产的单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20的每个器件上都有独一无二的序列号,实际应用中不需要外部任何元器件即可实现测温。测量温度范围在-55°到+125°之间,分辨率用户可以从9位到12位选择,精度非常高。

瓦斯气体检测我们采用MQ-5气体传感器,它使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。

MQ-5气体传感器对甲烷等可燃性气体有较好的灵敏度,对乙醇,烟雾几乎不响应。它具有快速的响应回复特性,长期的使用寿命和可靠的稳定性等优点。广泛适用于可燃性气体监测装置。优良的抗乙醇,烟雾干扰能力。通过微处理器STC5206AD片内自带的ADC采集获取电压VRL,根据传感器内阻计算公式RS为=(VCC/VRL-1)×RL,内阻RS和瓦斯浓度在常温下基本呈线性关系,因此经过补偿算法,可以通过计算出RS的大小测得瓦斯浓度。温度采集和瓦斯气体检测模块原理图见图7。

(4)温湿度和光强度检测模块。温湿度采集和第2小节介绍相同,这里不再复述。光强度检测主要通过光敏电阻和一个固定电阻构成分压电路,光敏电阻的阻值根据接收到光的强弱而发生改变,分到的电压就会发生变化,然后将得到的电压送入P11进行ADC采集从而得到准确的光强度值。

三、系统软件设计

由于主机微处理器STC12C5A16S2和端节点微处理器STC5206AD内核支持C51语言程序设计,故采用C语言进行软件开发,是软件具有可读性强、可移植强的特点。主机初始化进行时钟数据设定和NRF905参数设定,然后进行键盘扫描获取预设值,接着往从机发送地址信号,对应的端节点将会发出正确应答信号,主机接收到应答信号后,就可以进行数据接收,并通过校验码判定接收数据是否正确,如果数据不正确则重新发送地址信号进行数据重新接收,如果接收数据正确则进行数据存储,并进行时钟数据读取和接收到的端节点数据在LCD12864的同时显示,最后把接收到的数据和键盘设定的数据进行阈值判断是否超限,如果超限则发出报警信号,如果不超限则返回重新进行。

端节点主要是在节点进行环境的数据采集,并等待接收地址信号与主机握手,如接收的地址和本机地址温和,则握手成功,之后就发送数据,主机接收到数据后进行校验数据是否正确,如果数据不正确则端节点重新发送数据,如果数据正确则返回重新进行。主机程序流程图见图8,端节点程序流程图见图9。

四、测试结果

先给主机和端节点进行供电,调节某一信息的报警门限阈值,节点将数据传送给主机显示,主机所将显示的温湿度、温度、瓦斯浓度及光照强度数据和实际终端仪器测试的进行对照,同时观察期报警效果。光照部分我们根据室内最大亮度100%电压值和最暗亮度0%电压值作为参照值,进行1000个刻度的划分。因节点3的温湿度测试情况和节点1大致相同,不再列表。

通过我们反复测量的数据可知,节点1由于DHT11本身测量精度的问题,整个测量数据还是存在误差,这是由于DHT11器件本身问题导致,但数据误差处于正常范围之内。节点2采用的DS18B20温度数据误差明显小于DHT11的温度采集数据。节点2的瓦斯浓度和节点3光照部分我们都是通过单片机内部10位高精度AD采样,达到千分之一的分辨率,达到较好的精度。从整体测量数据看,我们的结果是在预期范围内的,报警功能全部无误,能够实现监测安全的要求。

五、结语

本系统具有人性化人机交互界面,操控简单,采集温湿度、瓦斯浓度、光强等多个节点,数据全面。由于NRF905是基于节点的射频双工通信系统,内部有自己的地址和加密方式,很容易的实现对多点实时监测,具有可无人值守,节约资源,可靠性高,成本低,便于扩展节点数等优点,其监测范围可以在500米以内,可以广泛运用家居和室内商业活动等需要进行环境监控的场所。

参考文献:

[1]杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2008.

[2]深圳宏晶科技.STC12C5A60S2产品选型手册[Z],2010.

[3]周洪,胡文山,张立明.智能家居控制系统[M].北京:中国电力出版社,2006.

[4]郑君刚.基于无线传感器网络技术智能家居报警系统设计[J].沈阳建筑大学学报(自然科学版),2008,2:345-348.

[5]于昕梅,彭鹤挺.智能家居控制系统设计[J].电脑开发与应用,2009,1:58-60.

[作者简介]陈海彬(1980.3-),男,福建漳平市人,本科,学士,助教,泉州信息职业技术学院,研究方向:自动化控制、嵌入式系统。

推荐访问:监测系统 智能家居 NRF905

最新推荐
猜你喜欢