基于ZigBee智能家居控制系统的设计
扫描二维码
随时随地手机看文章
随着无线通信技术和物联网技术的深入发展,将无线通信技术应用在智能家居控制领域今后的发展趋势。目前智能家居控制系统主要采用的是有线通信方式。包括串口线、以太网、同轴电缆等。有线通信方式的优点是技术成熟、传输可靠、速度快,但需要进行大量的布线工作,可扩展性差,成本也高。与其他短距离无线技术相比,基于ZigBee技术的无线传感网络以其低复杂度、低成本、低功耗等特点成为了组建智能家居控制网络的首选方案。本文针对现有的智能家居控制系统的发展现状,提出了一种基于ZigBee智能家居控制系统的解决方案。
1 ZigBee无线通信技术简介
ZigBee起初是由IEEE 802.15工作组提出的,并制定规范了IEEE 802.15标准。ZigBee是基于此标准规范的一种近距离、低复杂度、双向无线通信技术,主要适合于自动控制和远程控制领域,可以嵌入各种设备中。Zigbee技术有如下主要特点:
1)低功耗:ZigBee由于传输速率低,并且支持休眠模式,因此具有低碳节能的效果。经测试,在低耗电休眠模式下,用2节5号干电池可支持1个功能节点工作最长达24个月,由此在相同情况下,蓝牙可工作1月左右,而WiFi工作时间仅有几个小时,这是Zigbee的突出优势。
2)低成本:由于ZigBee标准协议的大幅简化,降低了对通信处理器的要求,仅需要8位处理器,主节点需要32 kB的RAM,子功能节点的4 kB的ROM即可,在很大程度上降低了芯片的成本费用。
3)短时延:的响应速度非常快,从休眠状态唤醒,进入工作状态仅需15 ms,ZigBee各节点连接,进入网络只需30 ms。相比较,蓝牙需要3~10 s、WiFi需要3 s。
4)数据传输速率低:只有10k字节/秒到250k字节/秒,专注于低传输应用。
5)网络容量大:每个ZigBee网络最多可支持255个设备。
2 系统的总体设计
2.1 系统架构设计
智能家居控制系统的设计主要包括基于ARM处理器网关服务器设计、基于ZigBee无线传感网络的组建、控制终端的设计,被控制终端节点的设计。系统的整体架构如图1所示。
ARM处理器为智能家居控制系统的控制中心,智能手机和LCD触摸屏作为控制终端,智能手机通过WiFi接入ARM控制中心,智能手机实现远程控制,LCD触摸屏实现本地近程
控制。ZigBee无线技术将被控终端组建成一个内部无线局域网。基于ARM家庭内部控制中心(家庭网关)接受来自远程(智能手机)和本地(LCD触摸屏)的控制指令,协调处理这些控制指令,来控制底层的家用设备。底层构建的基于ZigBee技术的无线局域网覆盖灯光控制、窗帘控制、环境参数的采集、常用家电的控制。最终实现智能手机、LCD触摸屏通过系统控制中心能实时协调控制基于ZigBee技术无线传感网络所覆盖的常用家庭设备和采集环境参数。
2.2 系统组网设计
本系统是采用ZigBee无线技术组建的内部局域网络。ZigBee定义了两种物理设备类型全功能设备FFD(Full Function Device)和精简功能设备RFD(Reduced Function Devi ce)。FFD支持任何拓扑结构,可以充当网络协调器(Network Coordinator),能和任何设备通信。RFD通常只用于星型网络拓扑结构中,不能完成网络协调器功能,且只能与FFD通信,两个RFD之间不能通信。但它们的内部电路比FFD少,因此实现相对简单,也更节能。
ZigBee网络支持3种功能设备:网络协调器(Network Coordinator)、网络节点(Network Node)及IEEE节点(IEEENode)。前两种都是FFD,可以与任何节点通信。IEEE节点是RFD。
ZigBee有3种网络拓扑结构:星型(star)、簇树型(Cluster)和网状网(MESH),具体采用哪种网络拓扑结构,应考虑家庭网络的实际情况。由于家庭电器设备分布在不同的房间,屋内墙壁等障碍物多,因此通信信号会受到干扰,在综合成本、灵活性、可靠性等多因素的考虑,本次智能家居控制系统采用星型(Star)拓扑方式,星型(Star)拓扑具有延时时间短、操作简单等其他网络拓扑结构没有的优点。星型(Star)拓扑结构如图2所示。
3 系统硬件设计
系统控制中心(ARM处理器)采用Samsung S3C2440处理器,采用外接DM9000以太网卡与USB WIFI模块来接入以太网与WIFI网络,通过串口控制ZigBee协调器,同时配置了触摸屏支持本地触摸界面操作。被控终端子节点主要由ZigBee子节点模块、MCU控制单元与被控终端(灯光、窗帘、家电)组成。
Atmega16单片机作为控制单元通过串口接受来自ZigBee子节点的控制指令并产生了相应的控制指令控制被控终端。ZigBee模块的微控制器是采用TI公司的CC2530,该芯片与控制单元通过串口通信。LED调光驱动芯片采用的是P4115,它是一款连续电感电流导通模式的降压恒流源,通过DIM引脚输入占空比可调的PWM,便能输出大小可调的横流LED驱动电流,最大输出电流可达1 A,最大能够驱动25~30 W的LED。窗帘控制是采用步进电机,家电控制是采用红外方式,温度采集是采用ZigBee内部集成的温度传感器。系统硬件框图与被控子节点硬件框图如图3所示。
4 系统的软件设计
4.1 服务器的设计
基于ARM平台的控制系统移植了Linux操作系统,因此服务器的设计是基于Linux平台的服务器的设计。由于Linux内核代码开源、内核可裁剪,因此Linux成为嵌入式平台操作系统的首先。Linux是类Unix系统,它继承了Unix强大的功能和极佳的稳定性,并降低了对硬件环境的要求。由于Linux的设计者重新改写了TCP/IP协议,因此Linux具有更为稳定和灵活的网络性能。
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有迭代服务器和并发服务器。一个好的服务器,一般都是并发服务器。本系统也是设计成并发服务器。在客户端朋艮务器模式中,将请求服务的一方称为客户(client),将提供某种服务的一方称为(server)。本系统就是采用的这种客户、服务器(C/S)模式。服务器接受来自客户端的控制指令后通过串口写相应的指令Zigbee协调器。服务器是应用select模型实现的TCP并发服务器,服务器软件流程图如图4所示。
4.2 被控终端软件的设计
被控终端主要由ZigBee子节点模块、MCU控制单元与被控终端组成。控制终端发送控制指令,经过服务器通过Zigbee协调器转发给相应的Zigbee子节点。Zigbee子节点通过串口写相应的指令给Atmega16单片机,单片机分别实现特定的功能(控制灯光、家电、窗帘)。控制终端单片机的工作流程图如图5所示。
5 系统测试与分析
5.1 基于ZigBee的组网测试
基于ZigBee协议成功组建了一个星型网络,一个协调器,3个子节点(网络节点、IEEE节点)。协调器负责组建网络,子节点接入网络后实现与协调器之间通信。通过串口助手对协调器与网绺节点之间的数据收发进行了测试。子节点接受数据时网络通信方式为广播方式,协调器每隔100 ms发送一字节数据给网络节点。协调器接受数据时,网络通信方式为点播方式,节点每隔100 ms向网络协调器发送一字节数据。测试结果如表1所示。
5.2 系统的联合测试
启动Mini2440系统板(系统控制中心)并运行服务器程序和QT界面控制程序,启动ZigBee协调器和子节点并连接与子节点相连接的被控终端,启动客户端程序。整个系统能稳定协调运行。服务器能准确接收来自客户端所发送的控制指令并写相应的指令到与Mini2440开发板串口相连接的ZigBee协调器。
服务器运行情况如图6所示。QT界面程序能实现对常用设备的本地控制,QT控制界面如图7所示。主控制界面如图7(a)所示,灯光控制界面如图7(b)、家电控制界面如图7(c)
所示。
6 结论
本文基于ZigBee无线通信技术、以ARM处理器为控制中心提出了一种智能家居的整体架构和解决方案。在ARM平台上搭建一个并发服务器和一个QT界面程序。能协调接受来自智能手机和LCD触摸屏发来的控制指令并且正确控制相应的被控终端。达到了智能家居控制系统控制智能、方便、可扩展性好等优点。通过实际测试系统比较稳定,人机界面友好,达到了设计要求。由于篇幅有限相关基于安卓平台的客户端程序的开发、组网设计、终端设计等技术细节就没叙述。