基于ZigBee技术的智能家居系统设计

2017-01-21 22:19谢小康张靖
物联网技术 2016年12期
关键词:智能家居传感器

谢小康++张靖

摘 要:文中设计的智能家居系统核心控制模块采用TI公司生产的CC2530芯片,该芯片内部集成了适应2.4 GHz IEEE802.15.4的RF收发器,满足系统采用ZigBee技术的要求且性价比极高。系统设计使用温湿度传感器、光强度传感器、气体传感器对家居环境信息进行采集,并结合GSM移动通信技术、ZigBee无线网络技术和微控制器实现人与机器、机器与机器之间的信息交流,以达到对家居生活的智能化控制。

关键词:智能家居;ZigBee;CC2530;GSM;传感器

中图分类号:TP273+.5 文献标识码:A 文章编号:2095-1302(2016)12-00-04

0 引 言

随着信息时代的发展,智能化设备已成为人们生活中不可缺少的一部分。而智能家居作为信息时代发展的产物,其主要利用信息传感设备将家居生活中相关的各子系统有机结合起来,并与互联网和通信网络相连实现各设备间信息的交流和对家居环境的监控。本文设计的无线智能家居系统基于ZigBee技术,通过系统中的各类传感器对家居环境进行监测,并且用户可以使用终端设备实现对家用电器的远近程操控,极大地提高了家居生活的安全性和舒适性。

1 系统总体框架设计

采用ZigBee无线网络技术并与微控制器、数据采集模块和数据输出模块相结合对整个家居环境进行智能化监控。同时,用户可以通过终端设备(如电脑、手机等)对系统进行本地操控或远程操控。系统总体架构如图1所示。

在家居环境中需要监控的位置设立采集节点,这些采集节点在ZigBee协议下组建内部自组织网络。每个采集节点包含家用电器设备、传感器等,由ZigBee模块下的CC2530芯片对采集到的信息进行统一处理,用户可通过电脑、手机等智能终端进行观测和控制。

采用CC2530芯片中的USART串行通信接口,在ZigBee通信协议下实现各采集节点与CC2530芯片之间的数据传输[1]。同时在CC2530与用户终端设备之间采用WiFi和GSM网络并与USART串行通信接口相结合进行信息交流,用户可以使用终端设备发出相应的控制指令来控制家中的热水器、冰箱、空调等家用电器设备。从而实现系统控制器与终端设备之间的数据上传和指令下达。

用户可以根据自身需求来设置采集模块的采样频率和输出模块的参数值,提高控制器的控制精度,改善家居环境的安全性和舒适性,创造更好的家居生活。

2 系统硬件结构设计

硬件是整个系统的基础,只有建立完善的硬件结构,整个系统才能稳定、准确的运行。在此采用模块化硬件结构设计,一方面可以简化其配置、降低设计风险、提高硬件的质量和可靠性;另一方面模块的不同组合能够满足用户的多样性需求。

2.1 ZigBee控制模块

ZigBee控制模块的核心是CC2530芯片,该芯片集成了一个增强型的8051微控制器内核。同时,它还具有四种不同的闪存版本,CC2530F32/64/128/256分别具有32/64/128/256 KB闪存,这为设备提供了内电路可编程的非易失性程序存储器,映射到CODE和XDATA存储空间,以后可以随时利用已经保存的网络数据。CC2530具有主动模式、空闲模式、睡眠模式三种电源管理模式,使得它尤其适应超低功耗要求的系统。

CC2530拥有一套广泛的外设集,包括8通道12位A/D转换器和21个通用I/O接口,2个USART接口,128位AES加密解密安全协议处理器,看门狗定时器,32 kHz晶振的休眠模式定时器等,因此只需要很少的外围电路即可构建一个简单的ZigBee节点[2]。同时每个连接到CC2530通用I/O接口的外设可以选择两个不同的I/O引脚位置,以确保其在不同应用程序中的灵活性。

2.2 数据采集模块

在该系统中温湿度传感器、光强度传感器、气体传感器均属于数据采集模块,其作用是采集温湿度、光照强度、可燃气体浓度等信息。

采用DHT11数字温湿度传感器对室内外温湿度信息进行采集,包括一个电阻式感湿元件和一个NTC测温元件,并通过串行接口与微控制器相连来实现数据传送,具体应用电路如图2所示。同时该传感器具有抗干扰能力强、超快响应、超小体积、极低功耗、性价比高等优点,非常适合应用于监测家居环境[3]。

采用GY-30数字光模块对光照强度信息进行采集,其分光特性和光谱范围与人眼十分相近,且传感器内置16 bitA/D转换器,通过串口与微控制器相连接可以直接进行数字输出,省略复杂的计算和标定。具体应用电路如图3所示。

采用灵敏度与稳定性都较好的MQ-2气体传感器对室内可燃气体进行监测,此气体传感器探测范围广、感应速度快、寿命长且驱动电路简单。通过它可以对甲烷、丙烷、丁烷、乙醇、一氧化碳等常见的可燃气体进行灵敏监测[4]。本设计选用MQ-2气体监测模块提供的TTL信号输出方式与CC2530通用I/O接口相连接实现监测数据的上传。具体应用电路如图4所示。

2.3 数据输出模块

数据输出模块主要由继电器及光耦合器构成,设计中使用两个接线端作为输入端,将另外两个接线端作为输出端,中间采用光耦合器实现输入输出电隔离的高性能固态继电器,该继电器具有功率小、灵敏度高、可靠性高等特点。在系统运行的过程中,控制器接收到用户的控制指令后可以通过输出模块来控制家用电器设备(如冰箱、空调、热水器等)工作或驱动报警装置。

3 系统软件结构设计

采用模块化的设计方案,整个结构主要包括主机模块和终端模块。通过ZigBee网络、WiFi网络以及GSM网络实现系统之间的信息交流,主机模块可以将各传感器采集到的数据分析、处理后反馈给用户,同时用户也可以通过终端设备对系统进行直接控制。

3.1 主机模块软件设计

主机模块的功能主要是根据接收到的用户指令做出相应控制,并把采集到的数据发送到用户终端,具体程序流程图如图5所示。初始化后,系统会提示用户设置手机号码、控制参数值等,并将这些信息存储到CC2530芯片之中。用户配置完成后,主机模块会连上WiFi网络,并向GSM模块发送握手信号,实现GSM联网。各模块握手成功后,主机模块开始接收来自WiFi和GSM网络的用户指令,当接收到用户指令时,主控芯片会将其处理后转发给相应的控制模块,同时把接收到的采集模块的数据(如温湿度、可燃气体浓度等)发送到用户终端。

3.2 终端模块软件设计

终端模块的程序流程图如图6所示。终端模块初始化后,与主机模块握手,握手成功后,程序会提示用户是否对系统进行直接控制。若直接控制,则用户可直接发送指令到主控模块以实现对系统的控制;若不直接控制,则程序会进入接收主机模块指令状态。当接收到主机模块指令时,程序会将其解析后反馈给用户,然后用户可以根据得到的信息发出相应的控制指令。

4 系统通信网络设计

系统中各采集节点与微控制器之间利用ZigBee无线传感网络进行信息交流,而微控制器和用户终端设备之间则利用WiFi和GSM网络来通信。

4.1 ZigBee无线传感网络技术

4.1.1 ZigBee网络概述

ZigBee是一种基于IEEE 802.15.4标准的双向无线网络通信技术,它具有功耗低、成本低、复杂度低、可靠性高、兼容性强等特点。同时ZigBee支持星状、簇状、网状等多种网络拓扑结构[5]。在此设计中将采用复杂度较低,控制简单的星状网络拓扑结构,其拓扑结构图如图7所示。在ZigBee通信协议下,各ZigBee终端节点进行信息采集和数据传输,并最终把采集到的数据通过ZigBee网络传送到微控制器中进行统一处理,以实现对家居环境的智能监控。家居监控网络系统如图8所示。

4.1.2 ZigBee协议栈

ZigBee网络中使用由TI公司开发的Z-Stack协议栈,该协议栈是一个基于轮转查询式的操作系统。总体而言,Z-Stack协议栈做了两方面工作,一是系统初始化,另一方面是开始启动操作系统实体。协议栈主要工作流程图如图9所示。

系统初始化是指系统启动代码需要完成初始化硬件平台和软件架构所需要的各个模块,为操作系统的运行做好准备工作。主要分为初始化系统时钟、检测芯片工作电压、初始化堆栈、初始化各硬件模块、初始化Flash存储、形成芯片MAC地址、初始化非易失变量、初始化MAC层协议、初始化应用帧层协议、初始化操作系统等十余部分。

启动操作系统是指系统初始化为操作系统的运行做好准备工作后,开始执行操作系统入口程序,并由此彻底将控制权交给操作系统。启动操作系统实体只有一行代码:osal_start_system();其功能在于不断查询每个任务是否有事件发生,若有,则执行相应的操作;若没有,则查询下一个任务[6]。

4.1.3 ZigBee串口通信

ZigBee串口通信主要是实现各终端设备与主控模块之间的数据传递。在ZigBee协议栈中串口通信的配置使用一个结构体来实现,该结构体为halUARTCfg_t。当ZStack协议栈成功启动后,终端节点会调用节点串口的初始化函数NodeUartInit(),NodeUartInit()函数将把halUARTCfg_t类型的结构体变量作为相关参数,具体配置方法如下:

/* 节点串口初始化*/

void NodeUartInit(void)

{

halUARTCfg_t uartConfig; //halUARTCfg_t类型的结构体变量

/* 串口配置*/

uartConfig.configured = TRUE;

uartConfig.baudRate = HAL_UART_BR_9600; //设置波特率为9 600

uartConfig.flowControl = FALSE;

uartConfig.rx.maxBufSize = 128; //最大接收缓冲区大小

uartConfig.tx.maxBufSize = 128; //最大发送缓冲区大小

uartConfig.flowControlThreshold = (128 / 2);

uartConfig.idleTimeout = 6; //空闲超时时间

uartConfig.intEnable = TRUE; //允许中断

uartConfig.callBackFunc = NodeUartCallBack; //设置串口接收回调函数

/* 打开串口,完成初始化的工作*/

HalUARTOpen (HAL_UART_PORT_0, &uartConfig);

}

其中NodeUartCallBack为串口接收回调函数,可以通过此函数来处理从串口接收到的数据,其代码解析如下:

/* 串口接收回调*/

void NodeUartCallBack ( uint8 port, uint8 event )

{

#define RBUFSIZE 128

(void)event; //故意不引用的参数,作保留用

uint8 ch;

static uint8 rbuf[RBUFSIZE];

static uint8 rlen = 0;

while (Hal_UART_RxBufLen(port)) //计算并返回接收缓冲区的长度

{

HalUARTRead (port, &ch, 1); //从串口读一个数据

HalUARTWrite (port, &ch, 1); //从串口写一个数据

if (rlen >= RBUFSIZE) rlen = 0; //数据长度超过最大接收缓冲大小,则缓冲区清零

if (ch == '\r') { //如果读到回车字符

HalLedSet( HAL_LED_1, HAL_LED_MODE_OFF ); //关闭LED灯

HalLedSet( HAL_LED_1, HAL_LED_MODE_BLINK ); //使LED灯闪烁

zb_SendDataRequest( 0, ID_CMD_REPORT, rlen, rbuf, 0, AF_ACK_REQUEST, 0 );

//发送数据

rlen = 0; //缓冲区清零

}else

rbuf[rlen++] = ch; //将数据写到缓冲区

}

}

4.2 WiFi/GSM网络技术

选用WiFi和GSM网络为主机和手机终端与ZigBee模块之间的信息传递提供网络服务。远近程操控网络系统结构如图10所示。

WiFi是一种基于IEEE 802.11标准的无线网络技术,其价格低、抗干扰能力强、传输速率快,非常适合在智能家居系统中运用。在此设计中,WiFi模块可以通过ZigBee协调器与ZigBee网络互联,实现WiFi网络和ZigBee网络之间的数据互相传递。

GSM是一种网络容量大,稳定性强,功耗低的移动通信网络技术。设计中采用的是一款双频900 / 1 800 MHz高度集成的GSM模块——TC35i,该模块可以通过RS 232通讯接口与CC2530中的USART串行通信接口相连接,并运用AT指令操作来实现用户移动终端与家居系统控制器之间的数据传递[7]。从而达到用户远程操控家居设备,监测家居环境的效果。

5 结 语

文中设计的智能家居系统主要采用ZigBee无线网络技术实现家居环境的网络化,并结合微控制器和各种传感设备来达到对家居环境的智能化控制效果。运用模块化设计使得系统的稳定性、灵活性和兼容性都比较强,同时用户可以远近程监测家居环境和操控家中的电器设备,进一步改善用户的居住条件,使家居生活变得更加安全、舒适。整个系统结构简单、操作方便,具有低成本、低功耗、高可靠性等特点,十分适合在现代智能家居中使用。

参考文献

[1]刘世伟,邱玉泉,韩均雷,等.基于STM32微控制器的无线智能家居监控系统[J].物联网技术,2016,6(3):15-16.

[2]章伟聪,俞新武,李忠成.基于CC2530及ZigBee协议栈设计无线网络传感器节点[J].计算机系统应用,2011,20(7):184-187.

[3]姜仲,刘丹.ZigBee技术与实训教程——基于CC2530的无线传感网技术[M].北京:清华大学出版社,2014.

[4]王荣.智能家居监测系统的设计与研究[D].西安:西安建筑科技大学,2014.

[5]范茂军.物联网与传感网工程实践[M].北京:电子工业出版社,2013.

[6] Z-Stack协议栈手册[Z].武汉:中智讯科技有限公司,2015.

[7]舒元佳.基于GSM网络的智能家居环境监控系统的设计[D].武汉:武汉理工大学,2014.

[8] 吴晓,袁文祥.基于Zigbee的智能家居安防的硬件设计[J].物联网技术,2014,4(9):52-54.

猜你喜欢
智能家居传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
基于Zigbee的无线通信技术在智能家居中的应用
关于智能家居真正需求的探讨
基于LD3320的智能家居控制