基于嵌入式和ZigBee技术的智能家居系统设计
ZigBee 是一种新兴的无线通信技术,它具有短距离、低功耗、低成本和低数据速率等特点。而智能家居的特点就是网络传输数据量小,对带宽要求低,但是需要的网络实时性好,延迟要短,要求接入方便,系统续航能力久、可扩展性强并且后期维护简单。这无疑使ZigBee技术成为了首选,因为ZigBee 技术的主要应用领域就是工业控制、电子设备和楼宇自动化等,它的特点决定了ZigBee 技术能很好地满足智能家居系统的需求。
1 系统总体方案 智能家居系统网络大致可分为外部网(因特网)、内部网(ZigBee 自组网)和家庭网关。其中,家庭网关是核心部分,本系统以移植在tiny6410 开发板上的Boa 服务器作为家庭网关,它负责家庭内部网络和外部网络的连接和协议转换。下面介绍内部网, 这里的内部网就是ZigBee 自组网,根据家庭布局采用树状或者星形网络拓扑。ZigBee 自组网包括各个终端节点,这些节点配合继电器控制家庭中各种电器开关、温湿度传感器等家庭中需要被监控的设备对象,从而达到远程监控功能。从通信的角度讲,每个节点即为一个终端,它们相互间通过ZigBee 协议进行无线通信。这里暂不考虑内部网络不同的协议转换问题。 智能家居系统的总体结构框图如图1 所示。
图1 智能家居总体结构图
2 智能家庭网关设计 本文设计的家庭网关要处理来自Internet 的数据,要求实现家庭网关的硬件必须提供强大的网络支持,同时需要支持TCP/IP 协议,因此需要操作系统来支持多任务。家庭网关是一个由硬件和软件共同组成的功能实体,将Boa 服务器移植到ARM 开发板作为网关使用。Boa 是一个单任务的小型HTTP 服务器,源代码开放、性能优越,特别适合应用在嵌入式系统中,家庭网关结构图如图2 所示。
图2 家庭网关结构图
Boa 服务器的建立较为简单,主要步骤包括:在开发主机上对其进行解压然后交叉编译,接着配置服务器,主要是修改boa.conf 文件,配置完成后就可以进行移植了,移植成功后安装完毕就可以运行Boa 服务器软件了。在构建好的嵌入式平台上运行Boa 服务器以及串口读写应用程序,结合静态网页和动态CGI 程序可以让命令从网页下达到嵌入式服务器。通过CGI 技术可以实现Web 服务器和串口读写应用程序的调用,从而达到数据(也就是命令) 从网页到服务器再通过串口写入ZigBee家庭内部网络的这样一条正向的流程。当命令发送至ZigBee 家庭内部网络后, 紧接着读写应用程序读取ZigBee 的反馈数据(主要是LED 状态以及传感器读数),读取后存入ARM 板子里的SQlite 数据库以供稍后的CGI 程序调用并显示在网页上。
3 ZigBee家庭内部网设计 从发展趋势来看,无线自组网是智能家居网络未来的发展方向。ZigBee 是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术。其是一种介于无线标记技术和蓝牙之间的技术提案,相对于现有的各种无线通信技术,ZigBee 将是最低功耗和成本的技术之一。介于智能家居的规模,即网络中传输的数据量不大、节点较多等考量,实现家庭内部网络拓扑选择星形结构。 ZigBee 节点的硬件设计较为简单,本节点采用TI 公司的CC2430 芯片,在单个芯片上整合ZigBee 射频(RF)前端、内存和微控制器。它使用一个MCU(加强型8051 ),具有128 KB 可编程闪存和8 KB 的RAM,还包含ADC、定时器、AES128 协同处理器。数据采集单元选用一款含有已校准数字信号输出的温湿度复合传感器DHT11 。 家庭内部网络系统的软件系统是以IAR System 公司的IAR Embedded Work bench 为开发环境、以TI 公司的ZStack 协议栈为开发基础设计的。ZigBee 协议栈2006基于IEEE 802.15.4 标准制定,该协议的突出优点是:组网能力强、适应面广、可靠性高、节能性好。ZStack 协议栈由实现ZigBee 协议不同功能的程序文件和库函数组成。
4 ZigBee协议 ZigBee 协议是家庭内部网的基础也可以说是核心,它的底层是IEEE 802.15.4 ,包括物理层和 MAC 层。ZigBee 工作在868 MHz 、915 MHz 和2.4 GHz 3 个频段,而真正需要关心是网络层和应用层。网络层的主要功能就是路由,路由算法是它的核心,优秀的算法能节省ZigBee 的能源消耗,缩短延迟。网络层上面是应用层,它主要规定了一些与应用相关的功能,也就是开发人员直接打交道的对象。 本系统采用的协议栈工作流程如图3所示。
图3 ZigBee家庭内部网结构图
在智能家居ZigBee 内部自组网络中,协调器作用最为关键,它上接智能家居系统“大脑”也就是家庭网关,下接ZigBee 自组网其他路由和终端设备,同时起到一个无线接口的功能。如图3 所示,协调器接收应用程序从串口发来的命令并对其解析,解析命令获取要控制的终端地址和控制命令,然后向指定的终端节点发送解析后的新的控制命令,寻址方式是点对点方式,通过协调器分配的网络地址来发送,ZigBee 自组网中的命令结构如图4 所示。终端收到命令后作出相应动作并反馈自己的状态给协调器,协调器收到反馈数据后会自动通过串口发回给家庭网关,也就是嵌入式服务器,并由应用程序来读取。以上就是ZigBee 家庭内部网工作流程。
图4 命令结构 本文实现了智能家居监控系统的远程控制功能,整个系统架构简单,即建立嵌入式家庭网关和ZigBee 家庭内部网络,其功能齐全,并且可根据实际情况和个人需求增减传感器以节约成本,可为任何家庭提供量身订制的智能家居监控服务。本系统可以根据家庭环境的改变随时添加设备节点,安装方便,实现了智能家居的人性化控制。此项技术将Web 技术与嵌入式技术结合并扩展,在此项目设计上稍加改动即可添加更多功能的传感器,此项技术也可以广泛地运用在工业、 农业和商业各个领域。
|