基于STM32微控制器的无线智能家居监控系统
扫描二维码
随时随地手机看文章
引 言
智能家居的概念早已形成,但是目前市场尚缺乏远程无线操控产品。针对这一需求,设计了一套能够远程无线操控的智能家居监控系统。基于STM32 微控制器、GPRS 网络技术和 ZigBee 短距离无线通信技术设计的远程智能家居监控系统,可以通过系统中的各类传感器实现对家居的远程监测, 更能利用简单的光电耦合装置实现对家居电器设备的自动控制。在智能家居监控系统中,采用无线网络技术可以解决有线网络布线麻烦、网络节点多、使用电缆数量庞大等问题,更符合家庭网络简洁性、灵活性、模块化、扩展性及独立性的通信特点,将无线网络技术应用于家庭网络已经成为主流趋势。
1 系统总体设计
系统采用微控制器进行集中监控,结合信号采集装置和输出控制装置,并通过各个采集节点组网实行无线监控,在操控端可以用LCD 触屏进行本地操作控制,也可以利用手机客户端实现远程操控,系统功能图如图 1 所示。
微控制器对各采集节点实行集中控制,即在家中各个需要监控的器件处设立采集节点,各采集节点通过ZigBee 协议进行内部局域组网。每个采集节点包含传感器、家用电器设备等,由微控制器对采集到的数据进行统一处理,而用户可以利用LCD 触屏或手机客户端监控界面直观地观测并进行控制。
采集节点与微控制器之间利用ZigBee 通信协议结合 SPI全双工同步串行通信实现数据的上传、处理、存储, 且在LCD 触屏上显示,并可通过触屏操作发出相应的控制指令, 如控制家中空调,燃气器具等家居电器设备 ;而微控制器和手机客户端之间则采用GPRS 网络结合USART 全双工同步/ 异步串行通信实现数据的上传和控制指令的下达。
用户在观测、监控家居状况的同时可以根据控制要求设置适宜家居环境比较精确的参数门限值和采样时间间隔,以提高控制精度,改善家居环境的舒适性、安全性等,给用户更好的家居体验。
2 系统硬件设计
建立智能家居系统,硬件是关键和基础,它对整个系统的稳定性、控制和反馈的准确性、节能性都有直接影响,为了更好的设计智能家居系统硬件,此家居系统在硬件结构设计方面采用集成模块化设计,降低了硬件结构的复杂度,使设计、调试和维护等操作简单化。
2.1 信号采集装置模块
信号采集模块主要包括温湿度传感器、可燃性气体传感器等,其作用即采集温湿度、可燃性气体浓度等信号。
本系统采用DHT11 数字温湿度传感器,可省去温湿度信号的模数转换等信号调理过程。传感器包括一个电阻式感湿元件和一个NTC 测温元件,并采用专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性和长期的稳定性。而可燃性气体传感器则采用MQ-5 气体传感器,MQ-5 对丁烷、丙烷、甲烷的灵敏度高,可检测多种可燃气体,所以十分适合在智能家居中使用,且寿命长,成本低。
2.2 输出控制装置模块
系统的输出控制模块部分主要是依靠光电耦合器、继电器和执行机构(家居电器设备,如空调、燃气设备)等实现。光电耦合器是在控制电路中起控制与隔离作用的驱动部件,在本系统中由微控制器对采集到的数据与用户设置的门限值进行比较,发出相应的控制指令,如驱动家居报警装置或使光电耦合器驱动继电器,控制家中空调等设备工作,实现对家居环境的智能控制。
2.3 微控制器模块
意法半导体公司的STM32 是一系列超低功耗类型的单片机,此单片机 Cortex-M3 内核具有集成性高、低功耗、实时应用、价格合理等优势。STM32F103xx 系列 32 位闪存微控制器的工作频率为 72 MHz,片上集成了高速存储器和通过APB 总线连接的丰富且增强的外设和I/O 口。所有的外设都可匹配标准的通信接口,无需配置额外组件从而减少系统成本,满足开发需要。
3 通信网络设计
基于ZigBee 的特点,本系统采集节点与微控制器之间利用ZigBee 无线传感网络技术自组内部局域网,而微控制器和手机客户端之间则采用GPRS 网络实现通信。
3.1 ZigBee网络
ZigBee 技术是一种双向短距离无线通信技术,其网络层支持三种网络拓扑结构,分别为星型、网状、簇状结构,而星型网络结构简单、管理方便,适合小范围的室内家居应用。星型网络拓扑结构如图 2 所示。
本系统选用支持 ZigBee 协议的 CC2530 芯片,CC2530 网络节点主要由传感器、处理单元和通信单元等组成,执行数据采集和信号传送的任务。
3.2 GPRS网络
GPRS 网络是一种基于 GSM 系统的无线分组交换技术, 特别适用于频繁的、少量的数据传输。将其运用到智能家居系统具有实时在线、接入范围广、数据传送速率高、支持TCP/IP 协议和X.25 协议、运行费用低等特点。
经过性能与成本的综合考虑,GPRS 通信模块采用西门子公司内嵌TCP/IP 协议的MC55 模块。该模块采用AT 指令操作,通过RS-232 串行口连接至微控制器的 USART 串口, 实现手机客户端与微控制器间的数据通信。
4 软件设计与实现
系统软件编程由C 语言实现,系统软件总体流程如图 3所示。
本系统软件采用模块化设计,主要由底层驱动程序、系统主程序、显示子程序、ZigBee 通信子程序及GPRS 子程序等部分组成,需要注意的是,ZigBee 与微控制器之间的通信协议,以及微控制器与GPRS 之间的通信协议,即串口通信的波特率、起始位、数据位、停止位等数据传输格式设置均需保持一致,这样才能保证设备间通信的顺利进行。
5 结 语
该系统在实验中取得了良好的效果,且该设计具有很好的扩展性,可以集成多种信号传感器。采用低功耗的STM32 微控制器为控制核心,结合ZigBee 组网技术和GPRS 网络技术,在满足现场需求的情况下,性能稳定,造价不高,对智能家居等测控领域方面的研究具有指导意义。