APP下载

基于ZigBee的智能家居设备设计

2015-10-19秦会斌

电子与封装 2015年3期
关键词:窗帘智能家居指令

李 琪,秦会斌,张 雄

(杭州电子科技大学电子信息学院,杭州 310018)

基于ZigBee的智能家居设备设计

李琪,秦会斌,张雄

(杭州电子科技大学电子信息学院,杭州 310018)

针对传统智能家居存在布线困难、移动性差、维护成本高等缺点,提出了一种基于ZigBee无线传感网技术的智能家居方案。整个系统以S3C2440作为服务器,结合ZigBee组网技术,实现了通过协调器控制子节点终端。具体的子节点终端设备由STM32单片机控制,设备包括家居环境信息实时显示、十级调光和模拟窗帘。经测试验证,系统在液晶屏上实时显示当前日期(包括阴历和星期)、时间以及室内温度;通过在智能手机终端界面发送指令,灯光亮度和窗帘闭合度实现0~100%可调。

智能家居;ZigBee;S3C2440;协调器;子节点;STM32

1 引言

智能家居将网络通讯技术、自动化控制技术和计算机网络技术融合到了各种家用设备中,具有高效、舒适、安全、方便等特点[1]。传统的智能家居基本上是采用有线的方式,不仅需要专业人员施工、专门公司维护,而且费用高、系统灵活性差、扩展能力低。新的智能家居改善了传统智能家居的缺点,让用户拥有更方便的手段来管理家庭设备,比如加触摸屏、无线遥控器、互联网或者语音识别控制家用设备,更可以执行场景操作,将各个设备联合起来。本文设计了一套智能家居系统,并实现了具体的智能家居设备。系统采用的无线网络技术为ZigBee技术,ZigBee是基于IEEE 802.15.4的无线通信协议,它是一种短距离、低功耗的协议,专门用于如温度调节装置、照明控制器等小型设备。

2 智能家居服务器以及系统ZigBee组网简介

2.1服务器简介

本智能家居系统采用的服务器基于ARM处理器,使用的是三星公司生产的一款芯片S3C2440。S3C2440是 以ARM920T为 核心, 采 用0.13 μm CMOS标准单元和存储器编译器开发。S3C2440的CPU内核是一个32位的高级RISC架构,跟传统的8位处理器相比,在处理速度、处理容量和稳定性方面具有无可比拟的优势[2]。

在ARM平台基础上,本智能家居系统移植了Linux操作系统。之所以选择嵌入式Linux系统,是因为其具有开放源代码、系统内核小、效率高及内核网络结构完整等特点,同时又具有嵌入式操作系统的特性。本服务器采用客户端/服务器(C/S)模式,即请求服务的一方为客户端,提供服务的一方为服务器。服务器接受来自客户端的控制指令后通过串口写相应的指令到ZigBee协调器,服务器软件流程图如图1所示。

图1 服务器软件流程图

2.2ZigBee系统组网简介

基于ZigBee的特点,本系统采用ZigBee无线传感网技术组建内部局域网络。

ZigBee网络中支持三种节点类型:协调器、路由器和终端节点。协调器和路由器只能是全功能器件(Full Functional Device,FFD),一个终端节点可以是全功能器件或者是精简功能器件(Reduced Functional Device,RFD)。ZigBee网络层支持三种网络拓扑结构,星形、网状、簇状结构。网状和簇状结构都是点对点网络,结构复杂,适合一些设备分布比较广的场所。而星形网络结构简单、管理方便,可以满足小范围的室内应用,因此本系统采用的就是这种星形网络结构[3]。

对于星形网络,由一个协调器和多个终端节点组成,协调器主要用于建立无线网络,分配各个终端节点的网络地址,接受上层服务器发送的指令到各个终端设备,并接受子节点的环境信息,将收到的数据通过服务器上传到终端最终在客户端进行实时显示。终端与终端设备不能直接进行通信,协调器可以作为终端设备通信的桥梁,发送方可以先把数据发给协调器,然后协调器再将数据转发到目标设备[4],因此协调器是整个星形网络的核心。

2.3ZigBee控制芯片简介

本文采用的ZigBee控制芯片为cc2530,由TI公司生产,并支持IEEE 802.15.4/ZigBee协议的片上系统芯片,其内部集成了射频收发器、8051内核、256 kB Flash和8 kB RAM[5]。cc2530具有2个串口、定时器、看门狗定时器、12位ADC、21个GPIO以及丰富的硬件支持;并支持5种工作模式,可以达到超低功耗的要求。

3 系统整体设计

该系统以S3C2440作为控制中心,智能手机和LCD触摸屏为控制终端,智能手机通过Wifi接入ARM控制中心,实现远程控制,LCD触摸屏实现本地控制。在ZigBee无线技术组成的内部无线局域网上,智能手机和LCD触摸屏向控制中心S3C2440发送控制指令,服务器收到指令后转发给协调器,协调器处理这些控制指令并发送给子节点,以此来控制子节点的家居设备[6]。同时子节点采集数据(如室内环境的检测信息),协调器收到子节点发送的数据后,上传到ARM服务器,供控制中心S3C2440使用。整体设计框图如图2所示。

图2 整体设计框图

服务器与ZigBee协调器是通过串口连接的,服务器上集成的LCD控制器、DM9000和USB-Host控制器分别与外界的LCD触摸屏、外部因特网和USB-Wifi模块连接,方便快捷。被控终端的控制芯片为STM32单片机。

4 智能家居设备具体实现

综上所述,一个基于ZigBee技术的智能家居环境搭建完成,本设计重点讲述在该环境下智能家居设备的具体实现。本文设计了三种智能家居设备,分别是实时温度采集和日期的显示、10级可调灯光以及模拟窗帘。三种设备均由同一款单片机控制,该单片机为STM32。

4.1子节点终端设备核心控制器

设备的核心控制器芯片为STM32F103C8T6,由意法半导体公司生产。该芯片使用高性能的ARM@CortexTM-M3的32位RISC内核,工作频率为72 MHz,内置高达128 kB的闪存和20 kB的SRAM,具有丰富的增强I/O端口。所有型号的器件都包含3个通用16位定时器、2个12位的ADC和1个PWM定时器。此外,还包含2个I2C接口和SPI接口、3个USART接口等[7],很好地满足了本系统的要求。基于对系统成本的考虑,本设计采用了STM32F103C8T6型号的STM32单片机。

4.2实时温度采集设计

4.2.1硬件设计

此设备用于采集室内温度,并实时显示。子节点设备发送指令到协调器,协调器提取该设备上温度以及时间数据,通过服务器上的液晶屏显示,方便用户掌握内部家居环境。

温度采集选用的是DS18B20传感器,该传感器体积小、抗干扰能力强、精度高,而且接线方便,只有3个管脚,在使用过程中不需要其他元器件。实时时钟芯片选用的是DS1302,接口简单,价格低廉,使用方便,而且功耗很低,保持数据和时钟信息时功率小于1 μW,在没有电源供电的情况下,可以工作长达十年,这是选用它的主要原因。此外,DS1302采用的是串行数据传输,可为掉电保护电源提供可编程的充电功能[8]。液晶屏选用LCD12864,实时温度采集硬件电路图如图3所示。

图3 实时温度采集电路

4.2.2软件设计

在协调器的指令还没有到来之前,此模块实时显示室内的温度信息以及时间日期,当协调器发送指令到子节点之后,子节点将指令传送给STM32,单片机将时间日期和温度的信息通过子节点发给协调器,协调器再将此信息传送给服务器,便可在服务器LCD上显示当前时间以及温度。

此外,在软件设计方面,除了显示时间日期外,通过软件算法,对阳历日期进行计算,得出农历以及星期的值,一并显示在LCD上。

4.310级可调灯光设计

4.3.1硬件设计

为实现灯光多级可调,本设计采用了PT4115驱动LED灯,并接收来自STM32输出的PWM波,从而实现对灯亮度的控制,本设计实现了10级可调LED亮度。

PT4115是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED。PT4115采用PWM调光措施,较传统的线性调光,不影响LED的光效。当DIM引脚电压低于0.3时关断LED电流,高于2.5 V时开启LED电流。根据不同的输入电压和外部器件,PT4115可以驱动高达数十瓦的LED。PT4115内置功率开关,采用高端电流采样设置LED平均电流,并通过DIM引脚接受模拟调光和很宽范围的PWM调光[9]。PT4115调光电路如图4所示。

图4 调光电路

4.3.2软件设计

子节点模块接收来自协调器的指令后,将指令传给STM32单片机控制器,STM32接收到指令后,重新设置PWM波输出的占空比,从而控制PT4115的DIM引脚,实现调光功能,软件流程图如图5所示。

图5 调光模块软件流程图

4.4模拟窗帘设计

4.4.1硬件设计

为实现模拟窗帘,本设计采用步进电机模拟窗帘的打开、关闭、停止。本设计选用的电机为二相四线步进电机,步距角为18°。在工频交流或直流电源上,步进电机将不能工作,必须用专用的电机驱动器才能工作。

本设计采用的驱动器为L298N电机驱动器。L298N为双全桥步进电机专用驱动芯片,是由SGSTHOMSON Microelectronics 公司出产的,专门用于驱动二相和四相步进电机,也可驱动2个二相或1个四相步进电机。其内部含有2个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46 V、2 A以下的步进电机[10]。L298N驱动电路如图6所示。

图6 模拟窗帘硬件电路

4.4.2软件设计

驱动电机采用四相八拍的方式,直接由STM32的I/O端口提供模拟的时序信号。当收到来自协调器传给子节点的指令后,将指令再传给STM32,通过STM32控制电机的正转、反转、停止,模拟出窗帘的打开、关闭、停止。为了使智能家居更智能,当子节点电源关闭时,应该记住窗帘所在的位置,下次上电后,再从标记的位置开始操作。因此,本软件采用擦写芯片flash以标记和恢复窗帘位置,流程图如图7所示。

图7 模拟窗帘软件流程图

5 测试验证

在智能手机终端安装好应用程序,并启动该组网系统,开启子节点终端设备电源,经过反复调试后,达到预期的效果,且系统运行稳定。

居住环境方面,可以在液晶屏上和智能手机终端实时显示当前室内温度值和日期信息,方便用户了解居住环境。窗帘控制方面,实现电动窗帘调节,用户无需手动操作,选择终端界面上的打开、关闭按钮,以此来发送指令控制电机的正反转,实现了窗帘开合程度从0~100%进行调节。智能调光方面,在智能手机上通过点击相应的灯光调控按钮,既可通过wifi发送不同的指令调节PWM波的占空比,以此控制灯光的亮度。整个系统灯光调节分为十个级别,用户可以根据实际需要,达到自己想要的效果和氛围,打破了传统照明模式,提高了照明系统的智能化。再者,降低了照明过程中的消耗,节省了不必要的电费开支,更加节能和环保。图8为液晶屏上实时显示采集到的温度信息效果图;图9为调光灯亮度达到30%的效果图;图10为模拟电动窗帘从左到右打开程度为30%时的模拟图。

图8 温度采集图

图9 亮度为30%效果图

图10 窗帘打开30%模拟图

6 结束语

本文提出了基于ZigBee无线通信技术的智能家居设备设计方案,在ARM平台上搭建了一个并发服务器和QT界面程序,利用智能手机和LCD触摸屏发出的指令控制子节点终端。经长期测试,实时显示时间和温度精度高,灯光和模拟窗帘的反应灵敏,达到了设计要求。

本系统扩展性强,该系统对于温度的检测可以扩展到环境检测的其他方面,如湿度检测、PM2.5值、烟雾检测等(将温度传感器换为湿度、PM2.5、烟雾等传感器),而对于环境恶劣的一些工业场所,更是有着广泛应用。灯光可调和电动窗帘的实现则可适用于大型酒店子系统、办公场所、高端楼宇等。整个系统设计使得家居生活更加智能化和舒适,给用户全新的体验和感受,使得此系统易推广,具有很好的市场前景。由于篇幅有限,本文重点介绍子节点终端的具体实现,QT界面程序以及智能手机安卓客户端的细节本文并未涉及。

[1] 易强. 基于3G和ZigBee的智能家居无线传感网络系统设计与实现[D]. 广东工业大学,2012. 1-2.

[2] 梁华军. 基于ARM9与ZigBee无线检测系统的开发研究[D]. 华南理工大学,2012. 53-54.

[3] 韩玉文. 基于ARM9的嵌入式无线智能家庭网关的设计[D]. 大连海事大学,2012. 15-16.

[4] 章洁,秦会斌,毛祥根. 基于ZigBee的室内智能照明系统设计[J]. 物联网技术,2013, 03(09): 22-24.

[5] 王风. 基于CC2530的ZigBee无线传感网络的设计与实现[D]. 西安电子科技大学,2012,(01): 21-22.

[6] 高闯,李海平,王国栋,朱一飞. 基于android平台的智能家居手机客户端软件设计[J]. 电子测试,2013,12: 71-72.

[7] 杨凤彪,刘云. STM32F10x系列微控制器标准外设库的应用[J]. 电子设计工程,2012, 20(11): 148-150.

[8] 李伟跃. 基于时钟芯片DS1302的万年历的设计[J]. 科技创新导报,2012,(09): 20-21.

[9] 曾素琼,张学成. 高效率高精度LED控制驱动电路设计[J]. 电子质量,2013,(08): 70-73.

[10] 张天鹏,徐磊. L298N控制直流电机正反转[J]. 工业设计,2011,(03): 98-99.

Design of Smart Home Devices Based on ZigBee

LI Qi, QIN Huibin, ZHANG Xiong
(School of Electronics Information, Hangzhou Dianzi University, Hangzhou 310018, China)

According to the shortcoming of wiring difficulties, poor mobility, high-cost maintenance and so on in the traditional smart home, a smart home scheme based on Zigee wireless sensor network technology is designed. The whole system regards S3C2440 as the server combining with the ZigBee network technology to control the sub-node terminals by the coordinator. The sub-node terminals contain the common devices such as the smart home environment information real-time display, ten-level dimming and simulate curtain are controlled by STM32. The current date(including lunar calendar and weekdays), time and room temperature are displayed on the LCD in real time, and the lighting intensity and the degree of the curtain's closure can be controlled between 0 and 100% by sending instructions to the coordinator on the smart phone after verification. Key words: smart home; ZigBee; S3C2440; coordinator; sub-node terminals; STM32

TN409

A

1681-1070(2015)03-0044-05

李琪(1988—),女,硕士,主要研究方向为嵌入式系统与应用。

2015-01-28

猜你喜欢

窗帘智能家居指令
基于PLC的智能家居控制系统研究
赶路人
ARINC661显控指令快速验证方法
基于Zigbee的无线通信技术在智能家居中的应用
巧做窗帘
相思湖
杀毒软件中指令虚拟机的脆弱性分析
关于智能家居真正需求的探讨
中断与跳转操作对指令串的影响
智能家居更贴心