微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ZigBee的智能家居系统

基于ZigBee的智能家居系统

时间:10-22 来源:互联网 点击:

1 系统总体架构

系统包括网关系统、各种传感器、服务器和手机终端,如图1所示。网关系统由电源部分、STM32控制器、ZigBee模块、GSM模块、WiFi模块、蓝牙模块以及网口构成。传感器包括温湿度传感器、气体传感器、人体感应传感器、继电器模块等。各传感器分别通过ZigBee传送数据到网关,网关通过WiFi以UDP协议上传数据到服务器。手机终端既可以访问服务器检测各传感器的状态而且可以发送控制指令到达网关,再从网关通过ZigBee控制继电器,从而实现远程家电控制。

a.jpg

2 硬件原理设计

2.1 网关硬件原理设计

网关采用输出为5 V的电源适配器供电,通过LM117电源芯片稳压到3.3 V给系统供电。主控制器芯片采用意法半导体公司的STM32F107芯片;ZigBee芯片采用TI公司的CC25 30,用于SMS和CPRS功能的模块采用SIM900A;WiFi芯片采用TI的CC3200;蓝牙芯片采用TI公司的BLE低功耗蓝牙芯片CC2540;网口驱动芯片采用以太网控制芯片DP83848CVV;Zig Bee芯片、WiFi芯片和蓝牙芯片都以模块化的形式通过RS232串口和STM32主控器连接,SIM900模块也通过RS232串口和STM32主控器连接,硬件框图如图2所示。

2.2 温湿度子系统硬件原理设计

温湿度子系统采用可充电锂电池供电,通过TP4054充电芯片实现给锂电池充电。锂电池输出3.7 V,通过TPS63031电源稳压芯片将电压稳到3.3 V,从而给系统供电。控制器芯片采用TI公司的CC2530,温湿度传感器采用SHT1x,测量的温室度值传送给控制器,然后显示在OLED显示屏并且通过ZigBee发送到网关。网关硬件框图如图3所示。

b.jpg

2.3 人体感应和气体探测系统硬件原理

人体感应与气体传感器系统除了传感器不同以外,其他部分都相同。系统采用可充电锂电池供电,可通过TP4054充电芯片实现给锂电池充电。锂电池输出3.7 V,通过TPS63031电源稳压芯片可将电压稳到3.3 V,从而给控制部分供电;通过CN5136升压稳压芯片将电压稳定到5 V给传感器模块供电。人体感应传感器采用HC—SR501人体感应模块;气体传感器采用MQ-2气体传感器模块,可检测液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等。各传感器的状态通过ZigBee发送到网关,硬件框图如图4所示。

c.jpg

2.4 家电控制子系统硬件设计

家电控制室通过控制继电器的开关来实现,家电控制子系统采用可充电锂电池供电,通过TP4054充电芯片实现给锂电池充电。锂电池输出3.7 V,通过TPS63031电源稳压芯片可将电压稳定到3.3 V,从而给控制部分供电;通过CN5136升压稳压芯片将电压稳定到5 V给继电器模块供电。CC2530单片机将本地按键控制和远程控制继电器的状态传送到网关;另外也接受网关发来的指令控制继电器的开闭,硬件框图如图5所示。

d.jpg

3 系统软件功能设计

系统中各传感器子系统通过ZigBee把数据传送到网关,网关通过WiFi传送到服务器,当温度超过设定值、室内有人或无人、气体浓度超标或正常,家电打开与关闭时网关会通过SMS方式通知用户。手机终端可访问服务器查看各传感器的值和状态,还可以通过SMS发送控制指令到达网关,然后网关通过ZigBee控制家电的开关。

3.1 网关子系统软件设计

网关子系统实现两个功能:一是ZigBee模块接收各传感器子系统的状态,通过串口发送到STM32处理器,处理器通过组帧、判断,然后通过GPRS/WiFi上传到服务器;二是接收手机终端的指令然后通过ZigBee下发到各传感器。网关功能程序流程如图6所示。

e.jpg

3.2 温湿度子系统软件设计

温湿度子系统可以获得环境温湿度值,系统上电后,CC2530控制器每隔5 s获得数字温湿度传感器SHT1采集到环境的温湿度值,通过I2C发送到OLED显示屏显示,并且进行温湿度组帧通过ZigBee把温度和湿度值实时传送到网关。网关判断当两次传送的温度值或湿度值有变化时,会把变化的温湿度值组帧后上传到服务器。当网关判断温度值超过40 ℃时会发送报警短信通知用户。温度和湿度值可精确到个位数,如温度25℃,湿度56%。温湿度子系统框图如图7所示。

f.jpg

3.3 人体感应和气体探测系统软件设计

人体感应和气体探测子系统可以得到室内是否有人和室内气体浓度状况。MQ-2气体传感器模块检测到气体浓度超标后会在输出端输出低电平,气体浓度正常时会在输出端输出3.3 V高电平。当系统上电后控制器CC2530部分会每隔5 s检测传感器的输出端,并会把传感器的输出通过ZigBee传送到网关,网关判断两次传送值不相同时,会把数据组帧后上传到服务器并短信通知用户气体浓度超标或者正常。人体感应传感器HC-SR501,人进入其感应范围则输出端输出3.3 V高电平,人离开感应范围则自动延时关闭3.3 V高电平,输出端输出低电

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top