基于JN5139的智能家居内部组网
扫描二维码
随时随地手机看文章
智能家居网络主要包括外部网、家庭网关和内部网。外部网可以是因特网、公用电话网或小区局域网;内部网是家庭内部家电设备互联的局域网。目前有多种技术应用于内部组网,如HomeRF、电力载波、ZigBee等;家庭网关则是连接外部网和内部网的重要环节,以协议转换方式完成外部网和内部网的数据交换。
实现智能家居系统的关键是智能家居组网技术。智能家居内部网络的特点:需要传输的数据量小;家庭中需要控制的设备多,网络容量大;传输信息需要延时短、实时性高。ZigBee技术是近几年来发展起来的一种无线通信技术,具有距离短、低功耗、低数据率、低成本、高可靠性、网络容量大等特点,这些技术特点决定了其能很好地满足智能家居内部组网的要求。
组成ZigBee网络的设备有协调器、路由器和终端设备。协调器建立和控制网络,存储网络的信息,包括作为认证中心和安全密钥的存储。路由器用来扩展网络的覆盖面,并提供备份路由以防止网络拥塞,可与协调器和其他路由器通信,并且支持子设备。终端设备可以发送或接收信息,不做路由使用,它只能与协调器或一个路由器通信。
2 硬件设计
2.1 组网方式
内部网采用ZigBee协议,ZigBee标准支持星形、树状和对等3种网络拓扑。在星形网络中,协调器负责发起和维持网络结构,所有其他终端设备直接和协调器通信。在智能家居中各个节点之间的通信距离比较短,无需路由器扩展网络覆盖面。内部网可使用ZigBee星形网络组网,只需要协调器和终端设备即可构成网络,从而降低整个系统的组网复杂程度。该系统将协调器与家庭网关统一设计,协调器/家庭网关负责处理与各个终端设备的通信及与外网的通信,终端设备实现环境控制、安全检测、家电控制等具体的功能。图1给出系统总体框图。
2.2 系统原理
当外部网络传来的控制信息进入家庭网关,即进入安全检测和接入认证,如果通过认证,采用协议转换将控制信息转换成符合内部网络传输的数据格式送入协调器,并根据家庭网关的控制信息输送到终端设备。
如果发生非允许入侵、煤气泄露等异常事件,终端设备检测并将信息发往协调器,协调器将这些信息送入家庭网关,从而转化成外部网络的信息格式,发往远程监控设备。同时,内部网络也尽可能完成一些自处理,比如在发生煤气泄漏时,可以在非人为的干预下打开排气风扇,将处理结果发往远程控制端。
2.3 电路组成
采用Jennic公司生产的ZigBee JN5139模块构成内部网络。该模块的特点是以高性能、低功耗的32位无线微控制器JN5139为核心,使用2.4 GHz射频收发电路,兼容IEEE802.15.4和ZigBee标准;低至2.6μA的睡眠电流;有可供用户程序使用的128 KB外部SPI接口存储器;4输入12 bit A/D转换器、2个11 bitD/A转换器、2个比较器;2路UART串口、5个选择位的SPI接口、1个I2C接口等。JN5139模块多样的接口为外接各种传感器和控制电路提供了便利。
系统将协调器和家庭网关制作在一块电路板上,图2给出其电路框图。这样作为协调器的JN5139的性能可以充分利用,既可处理内部ZigBee网络的互联,也可与外网通信;同时也使得系统结构更为紧凑。外网接入电路可使用GPRS、INTERNET、有线电话网络等形式,外网的信息经JN5139协议转换,使其适合在ZigBee网络中传输。
终端设备节点是ZigBee网络的最终功能单元,与具体的家电设备互联,图3给出终端设备节点电路框图。传感器采集家电设备或家居环境信息,经由JN5139处理,打包成ZigBee协议的信息格式,送至协调器进行下一步处理。JN5139也接收来自协调器的控制信息,经解码后送至控制电路,执行相应的操作。
3 软件设计
3.1 开发环境
JN5139的集成开发环境为CodeBlocks,该软件是Jennie公司提供的代码编辑和编译环境,它和基于Cygwin的GCC编译器进行连接完成代码的编译工作。CodeBlocks是一款开源的C/C++开发工具,Jecnnic基于这个工具对其扩展形成了自己的开发平台。另外Jennic还提供易用的下载软件FlashProgrammer,可将CodeBlocks生成的能够在JNl539上运行的程序下载到电路中。这些开发工具都可在其官方网站上免费获得,从而降低开发成本。
3.2 程序流程
协调器/家庭网关在初始化过程中,首先进行能量扫描和激活扫描信道,如果未发现合适的信道,则终止建立网络:如果找到合适的信道,则分配给该网络一个唯一的16位PANID和16位的网络地址,并向物理层发出组网请求,收到确认后组网成功。然后,协调器/家庭网关循环检测终端设备的绑定请求,当收到绑定请求时,进行接入认证,通过认证后进行绑定并更新邻居表。然后接收数据并判定数据的来源,如果是外网发来的数据,进行协议转换并处理外网请求;如果为内网发来的数据请求,则接收查询并发送需要查询的数据。协调器/家庭网关的程序流程如图4所示。
终端设备将可能加入网络的协调器资料存入自己的邻居表,包括协议版本、堆栈规范、PAN ID和其他可以加入的 信息。然后向协调器发出请求信息。如果邻居表中没有合适的协调器,则表示入网失败,终止加入网络。如果发出的请求被批准,会得到协调器分配的一个16位的网络地址,此时入网成功。终端设备与协调器进行绑定操作,终端设备进入查询状态,并以一定的时间间隔查询协调器缓冲区是否有对该节点的数据传输命令,若有则读取传感器数据或对控制电路发出控制命令。图5给出终端设备程序流程图。
4 结语
将ZigBee这种低功耗、高可靠性、可扩展性强的无线网络应用于智能家居内部组网,避免了各种现场布线,而且可以灵活增加新的家电设备。系统内部组网完成后,可以直接由家庭网关连接GRPS、INTERNET等外部网络,实现各种家电设备和家居环境的实时远程监控。