基于ZigBee和GSM网络的智能家居系统的设计
2016-09-14常亚兵郑建立
常亚兵,郑建立,2
(1.东华大学 信息科学与技术学院,上海201620;2.东华大学 数字化纺织服装技术教育部工程研究中心,上海 201620)
基于ZigBee和GSM网络的智能家居系统的设计
常亚兵1,郑建立1,2
(1.东华大学 信息科学与技术学院,上海201620;2.东华大学 数字化纺织服装技术教育部工程研究中心,上海 201620)
设计并实现了一种基于ARM和ZigBee无线通信技术的智能家居系统。实现了对智能家居环境信息采集、数据传输及对家用电器的智能控制。系统用户可以通过GSM网络以手机短信的方式对家中电器的状态进行查询,还可以以短信的方式对家中智能电器进行远程操作。
ARM;ZigBee;GSM;智能家居
在信息技术高速发展的今天,当前传统的家居住宅仅作为一个简单的居住物理空间,在很多方面已经不能满足当前人们新的生活习惯和工作方式的需求。在这样的背景下,智能家居的概念被人们提出来,智能家居系统也应势而生,并得到迅速发展。它不仅可以优化人们的生活方式,还能在一定程度上缓解社会发展给人们工作上带来的的精神压力,给人们带去既舒适安全,又简单轻松的生活。随着人民生活水平的提高,信息技术的快速发展,家居环境的远程监控已越来越成为人们的迫切需求。当前,物联网技术等的迅猛发展使这一切不再是梦想,智能家居正在越来越广泛的进入到人们的生活之中[1]。
文中提出了基于ZigBee无线通信技术以及GSM通信网络,并结合ARM嵌入式技术设计并实现了智能家居系统硬件平台和软件系统。
1 ZigBee技术
ZigBee,在中国通常被译为“紫蜂”[2],它是一种类似蓝牙技术双向无线通讯技术。ZigBee技术主要用于功耗低、近距离且传输速率要求不高的各种电子设备之间进行数据传输以及典型的有周期性数、间歇性数据和低反应时间数据传输的应用。它与蓝牙同属于802.15协议家族。ZigBee协议具有低数据速率、低复杂度、低成本、低功耗等特点。ZigBee协议可以工作在2.4 GHz/868 MHz/915 MHz 3个不同的频段,全球通用的是2.4 MHz,其中2.4 GHZ频段上有16个信道,该频段为免费、无需申请的无线频段,其中工业科学、医学所处频段是整个全球所通用的,在这个频段上,数据传输速率达到了250 kbps。在家庭传感器网络中,也正是由于ZigBee协议的这些特点,使其比蓝牙、Wi-Fi等其它短距离无线通信技术更适合于那些对环境参数,如温度、湿度、亮度以及等数据的传输速率要求不是很高,而对数据传输的安全可靠性、资源、成本、功耗等有明确限制的应用场合。
1.1ZigBee分层模型
IEEE 802.15.4/ZigBee协议是一种新兴的短距离无线射频通信协议。ZigBee规范是参照OSI 7层模型,ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)[3]等。其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。网络层、应用层是ZigBee联盟制定的。在ZigBee技术中,它的结构体系通常是通过层来量化的,每一层根据体系的需求要向上一层提供各种服务,而且每一层有不同的责任。每层之间的接口的服务是由逻辑链路来提供的。ZigBee协议栈体系结构如图1所示。
1.2ZigBee网络拓扑结构
ZigBee具有强大的自组网能力,现实设计中,可以考虑根据具体的实际项目需要来选择最适宜的网络拓扑结构。在ZigBee网络中有3种基本的逻辑设备类型,分别为路由器、协调器和终端设备。目前,比较通用的3种网络拓扑结构为树状网、星型网和网状网,拓扑结构如图2所示。
图1 ZigBee协议栈Fig.1 ZigBee protocol stack
图2 ZigBee网络拓扑结构Fig.2 Topology structure of ZigBee network
在ZigBee网络中,支持两种类型的物理设备:全功能设备(FFD)和精简功能备(RFD)。FFD支持任何类型拓扑结构,可以成为网络协调器或者网络路由器,能与任何设备相互通信。RFD只能存在于星形拓扑结构中,也不能成为网络协调器,只能和网络协调器进行通信。
通常情况下,在ZigBee网络中有一个协调器节点、多个路由器和多个终端设备组成,而且每一个网络只允许包含一个协调器节点。星形网中有一个协调器和多个终端节点,没有路由;树状网事实上就是一个协调器和终端节点距离较远,需要另外加路由器的特殊“星状网”;网状拓扑是一种多跳的网络结构,在它的网络系统中有3种基本设备:终端节点、路由器和协调器,一般情况网状型网络结构相对复杂一点,同时需要多个路由器进行组网,每个路由器节点都具有数据转发的功能。终端节点通过中间路由器作用,它的数据可以跳转到达协调器,只要节点在对方的通信范围内,就可以直接进行通信。鉴于实际的家居室内环境,以及数据信息传输在短距离、空间范围相对不大的领域内,文中采用结构相对较为简单、便于实现的星型网络拓扑结构进行开发设计。
2 系统硬件总体设计
智能家居控制系统总体功能模块图如图3所示。包括主控制模块硬件设计和终端控制模块硬件两大部分。主控制模块主要功能是实现用户端和终端控制模块的通信;终端控制模块一方面用于实时采集家居信息(温、湿度等物理量),另外用于接收用户端命令并进行实时控制。
图3 智能家居功能框图Fig.3 Functional block diagram of the smart home
主控系统芯片使用S3C2440A微处理器,系统通过GPRS通信模块实现与用户无线通信,另通过ZigBee无线通信模块操控终端控制平台,终端控制平台通过ZigBee通信模块接受控制命令,并通过相应的控制电路控制家用电器产生相应的动作。系统用户不仅可以随时随地的通过GSM网络通过发送手机短信的方式对家中电器的状态进行远程查询,也可以以发短信的方式对家中电器进行远程操控。
2.1主控制模块硬件设计
本系统基于ZigBee无线通信技术与GSM网络进行家庭组网。主控制模块由S3C2440A处理器芯片、ZigBee通信模块CC2530、以太网模块、显示模块、GPRS通信网络模块TR800、串口模块等部分组成。主控制模块硬件结构图如图4所示。系统通过GPRS模块实现与用户无线通信,通过ZigBee无线通信模块实现终端控制设备与主控制设备的信息传输并接受控制命令,也可以通过控制电路控制终端设备以及采集室内物理数据信息(温、湿度等物理量)[4]。
图4 系统总体结构图Fig.4 Structure diagram of the smart home
主控芯片选择S3C2440A处理器,其基于ARM920T核心,0.13 μm的CMOS标准宏单元和存储器单元。低功耗,简单,精致,且全静态设计特别适合于对成本和功率敏感型的应用。它采用了新的总线架构如先进微控制总线构架(AMBA)。S3C2440A的突出特点是其处理器核心,是一个由Advanced RISC Machines(ARM) 公司设计的 16/32位ARM920T的RISC处理器。ARM920T实现了MMU,AMBA总线和哈佛结构高速缓冲体系结构。这一结构具有独立的16 kB指令高速缓存和16 kB数据高速缓存。每个都是由具有8字长的行(line)组成。通过提供一套完整的通用系统外设,S3C2440A减少整体系统成本和无需配置额外的组件。
GPRS网络通信模块和ZigBee无线通信模块是通过串口与S3C2440A处理器相连的。GPRS通信模块和ZigBee无线通信模块的串口电平是相同的,都是标准的串口电平。串口接受电平+/-3 V~+/-15 V,发送电平为:+/-5 V~+/-15 V,由于S3C2440A处理器芯片所需的供电电压为3.3 V,因此输出的电平不能满足标准的串口电平,故需要对串口模块电路进行相应的电平转换来满足标准串口电平。
主控系统中GPRS模块部分由IWOW公司的TR800模块和SIM卡电路两部分组成,它通过串口与S3C2440A处理器相连,同时还与SIM卡电路相连。相应的电路结构框图如图5所示。
图5 GPRS功能框图Fig.5 Functional block diagram of GPRS
CC2530无线通信模块内部业界标准的增强型 8051 CPU,同时结合了领先的RF收发器的优良性能[5],还有系统内可编程闪存,8 kB的RAM,以及其他许多其它强大的功能。CC2530通过串口与主控制板连接进行数据信息传递,实现与S3C2440A的通信功能。连接框图如图6所示。
图6 ZigBee模块与串口连接图Fig.6 The connection diagram of ZigBee module and serial port
2.2终端控制模块硬件设计
终端系统的硬件模块,大致分为两个控制模块:家用电器的控制、模块窗帘的控制模块。终端控制硬件模块框图如图7所示。
图7 终端控制硬件模块框图Fig.7 Diagram of the terminal control hardware module
3 系统软件设计
文中的软件系统的设计主要是针对控制部分的软件设计。控制部分软件又分为主控端系统软件和执行终端软件,其中主控端处理器采用以linux-2.6.21.tar.bz2内核为基础移植的linux操作系统[6]。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。系统中控制部分的软件运行也分为两大部分,其中一部分运行在主控制平台三星S3C2440A微处理器上,另一部分运行在控制终端平台的AT89C51单片机上,系统软件流程如图8所示。
图8 控制系统软件流程Fig.8 The process of system control software
智能家居控制系统主控制平台软件部分执行过程为:首先初始化硬件设备,通过ZigBee无线通信网络发送查新指令到家用电器的处理器,从而可以获得家用电器的开关状态。然后再查询用户是否有相应的按键操作,如果有按键操作,则执行相应的指令来操控家用电器中包含的处理器,下一步通过反馈的信息状态更改家用电器的开关状态同时显现出来。假如没有相应的按键操作,系统将会继续查询有没有收到系统用户利用GSM通信网络发来的短信息,如果收到短信息,则解析命令,再执行相应的指令操作要求,和前面的执行情况相同,通过反馈的信息更改家用电器的开关状态同时也要显示出来。
智能家居控制系统终端控制平台软件执行流程为:首先也要初始化硬件设备,查询主处理器是否通过ZigBee无线通信网络发来短信息,如果收到信息,则解析指令,同时系统将指向相应的指令,进行对应的操作流程,最后将修改完成后的家用电器的开关状态反馈回来送回主处理器。
4 结束语
文中基于嵌入式ARM技术及ZiBee无线通信技术设计实现了智能家居系统硬件平台和软件系统。本文采用ZigBee无线通信的方式进行家居家电及设备内部组网,无需布线,便于安装。当有新的家电设备加入时,只需要在新增加的家电设备中添加ZigBee无线通信模块就能自动对其进行编址,从而可以实现对它的智能控制与监测。系统功能采用先进的模块化设计,配置灵活,具有良好的扩展性,容易扩充和增加新功能。
[1]冯凯,童世华.智能家居的由来及其发展趋势[J].中国新技术新产品,2010(6):7-7.
[2]王吉富,刘梧林,郭建光.基于ZigBee技术的无线传感器网络应用研究[J].移动通信,2008(6):29-32.
[3]丁雪莲.ZigBee协议栈浅析[J].电脑与信息技术,2013(5):18-21.
[4]王琼,李方伟,刘光明.无线局域网和GPRS网络的互通[J].重庆邮电学院学报自然科学版.2001(2):19-21.
[5]章伟聪,俞新武,李忠成.基于CC2530及ZigBee协议栈设计无线网络传感器节点[J].计算机系统应用,2011(7):1003-3254.
[6]邱巍.嵌入式linux操作系统移植[D].武汉理工大学,2004.
Design of smart home system based on ZigBee and GSM
CHANG Ya-bing1,ZHENG Jian-li1,2
(1.Colloge of Information Science and Technology,Donghua University,Shanghai 201620,China;2.Digital Textile and Apparel Technology Engineering Research Center of Ministry of Education,Donghua University,Shanghai 201620,China)
An smart home system based on ZigBee ARM technology and ZigBee wireless communication technology was designed and realized.Realization of collecting the smart home environment information,data transmission and intelligent control for the home appliances.The system users can send mobile SMS via GSM network to get the status of the home appliances,and can also manipulate the appliances remote by sending mobile phone SMS.
ARM;ZigBee;GSM;smart home
TN92
A
1674-6236(2016)02-0132-03
2015-03-11稿件编号:201503146
常亚兵(1987—),男,河南许昌人,硕士研究生。研究方向:嵌入式系统。