APP下载

基于ZigBee ZLL规范的智能灯光系统设计

2016-05-31张松峰陈帆

物联网技术 2016年5期
关键词:远程控制

张松峰 陈帆

摘 要:针对现有智能灯光系统协议不统一,不具备互操作性的问题,基于ZigBee 协议ZLL规范设计了具备远程访问与控制功能的智能灯光系统。文中基于TI CC2530及Z-Stack协议栈开发了ZigBee网络,论述了Z-Stack协议栈中的ZCL库及ZLL规范,并给出了基于云平台的智能灯光系统架构,同时基于S5PV210及嵌入式Linux系统设计了网关系统,该系统能够接入云平台并与ZigBee协调器通信。实际测试表明,系统能够通过云平台实现远程访问并通过Z-Stack ZCL API实现控制器对灯的操控,并能够满足ZLL规范。

关键词:ZigBee; ZLL;智能灯光;远程控制

中图分类号:TN915 文献标识码:A 文章编号:2095-1302(2016)05-00-03

0 引 言

人们的生活及工业生产中存在着大量的照明系统,特别是大型楼宇内会存在大量的灯光系统,对这些灯光系统进行智能化控制能够实现节能及灵活的控制策略。由ZigBee联盟制定的ZigBee通信协议具有短距离、低复杂度、自组网、低功耗等特点,主要针对物联网应用。联盟同时制定了ZCL(ZigBee Cluster Library,ZCL),基于ZCL可实现通信、控制的标准化,以便不同厂家的设备可以互联互通。近几年来,国内外大量学者基于ZigBee技术开发设计了智能家居[1-5,7]、智能灯光及特定领域物联网应用系统,文献[5]基于Cortex-A8处理器将ZigBee网络与以太网连通,使设计的智能家居系统具备远程控制功能。但这些系统基本都采用自定义应用层通信协议,不具备互联互通的特性。只有实现通信参数具体化及不同厂家设备的互操作,才符合ZigBee协议设计的初衷。文献[6]论述了开发符合标准协议规范的产品的必要性,并研究了基于TI Z-Stack协议栈开发符合ZigBee协议HA(Home Automation,HA)标准的智能家居系统的方法,但并没有给出实际的系统设计。本文基于TI公司Z-Stack协议栈论述并设计了符合ZigBee协议ZLL(ZigBee Light Link,ZLL)规范的智能灯光系统,能够实现对灯光系统的智能及远程控制。

1 ZCL库及ZLL规范

ZigBee协议是基于分层的架构,其物理层及MAC层采用IEEE802.15.4标准,上层的网络层、应用层等由ZigBee联盟定义。协议中引入了规范(Profile)和簇(Cluster)的概念,规范针对不同的应用领域,如用于智能家居的HA规范,用于智能照明的ZLL规范等。

1.1 ZCL库

在一个规范下有不同的簇,每一个簇对应一个应用,如一个调光器所具备的命令:开灯、关灯、变亮等组成一个簇,簇是命令与属性的集合。当设备收到一个空中消息时根据簇ID及命令ID做出相应的处理,基于ZCL库协议开发的设备能够实现互联互操作。

每个节点的簇分为输入簇和输出簇,输入簇列表指明了该端点能够接受的簇,输出簇列表指明了该端点能够发出的簇。只有当一个端点的输出簇与另一个端点的输入簇相匹配时才可以实现设备的操作。

Z-Stack中的ZCL[8]库API基于Client/Server模型,Server端存储属性,Client端发出操作属性的命令。整个ZCL库分为基础层和功能域两部分,基础层是相应命令的底层实现,功能域实现不同应用领域的特有功能,功能域的命令通过对基础层函数的调用来实现。

1.2 ZLL规范

ZLL[9]规范是灯光系统规范,构建在ZigBee-pro栈结构上。该规范定义了灯光系统中控制器节点、灯节点要实现的不同簇及命令,ZLL规范指明了不同灯节点,如on/off型、调光型、调色温型等相关的簇命令,实现这些命令能够保证不同厂家的设备可以进行互操作。

在ZLL规范的功能描述部分详细定义了Light Link设备组网及通信的具体参数。如规范定义:ZLL设备使用ZigBee-Pro协议栈,设备版本号为0x02,profile ID为0xc05e。

2 智能灯光系统架构

ZigBee网络主要由终端节点、路由器、协调器三种角色的设备组成,协调器负责网络的形成及入网管理,路由器实现网络范围的扩充及数据中转,终端节点负责具体应用设备的控制及数据采集。系统主要由云平台、网关、ZigBee网络三部分构成,系统结构如图1所示。云平台实现手机及PC端的控制接入,能够远程控制并查看ZigBee设备;网关实现ZigBee协议与以太网协议的数据交换,是云平台与ZigBee网络的桥梁。

2.1 云平台系统设计

云平台实现远程访问ZigBee网络设备,能够对设备进行实时查看、控制等操作,不同系统的物联网云平台功能具有一定的共性,且构建云平台成本较高,因而一些公司搭建了公用的云平台系统,本系统正是采用由中移物联网开发的onenet云平台[10]系统实现远程访问控制。基于onenet平台提供的API实现向云端提交数据及获取数据的功能。onenet平台与网关之间基于HTTP协议通信,采用JSON格式进行数据交换。

根据onenet平台API接口文档定义,向平台提交数据点的HTTP消息的请求行为及请求报头在本系统中为:

GET /devices/733***/datapoints HTTP/1.1

api-key: z*********=sFwTcLDTkMQ=

Host: api.heclouds.com/r/n/r/n

请求HTTP消息可以不包含消息正文,不包含正文时,系统将返回所请求设备下所有数据流的最新数据。

收到HTTP消息后,onenet平台会返回响应消息,响应的状态行为:

HTTP/1.1 200 OK

指明HTTP消息正确接收。在消息正文部分以JSON格式包含了请求设备下所包含的数据流最新数据值及时间信息。本系统获取数据点的一次返回消息的正文部分如下所示:

{“errno”:0,“data”:{“count”:1,“datastreams”:[{“datapoints”:[{“at”:“2016-01-19 16:35:40.000”,“value”:0}],“id”:“key0”}]},“error”:“succ”}

键datastreams的键值是包含数据点的数组,键datapoints的键值指明了id为key0的数据流的值value为0。

2.2 网关系统设计

网关系统负责ZigBee协议与以太网协议转换,是ZigBee网络与云平台的桥梁。本系统网关基于Cortex-A8内核的S5PV210处理器设计,采用友善之臂的Smart210开发平台,并通过UART口与ZigBee协调器通信,由于通信距离短,所以采用4线制TTL电平信号,接口连线如图2所示。

网关系统软件基于嵌入式Linux操作系统,通过定时信号使用户程序周期性地向云平台服务器提交或查询数据,并通知ZigBee协调器。

2.3 ZigBee网络系统设计

ZigBee网络由协调器、路由器、终端节点组成,基于TI公司的CC2530芯片开发,CC2530片上具备2.4 G无线收发器,硬件AES加解密,支持IEEE802.15.4标准,能够单芯片配合TI提供的Z-Stack协议栈实现ZigBee网络的组建及通信。

图2 网关与ZigBee协调器通信接口

ZigBee节点组成结构如图3所示,节点系统以CC2530为核心,配合电源模块、按键模块、灯光控制模块组成,并引出UART接口,以便与网关通信。

图3 ZigBee节点组成图

软件部分配合Z-Stack协议栈开发。协调器与网关通信采用Client/Server模型,网关作为Client端,协调器作为Server端,网关周期性地主动与协调器通信,获取数据或提交数据。协调器软件流程图如图4所示。

图4 协调器软件流程图

3 智能灯光系统簇结构设计

本系统中实现了开关节点对灯节点的控制及复位操作,灯节点作为输入节点,开关节点作为输出节点。两种节点可以实现以下两个簇:

ZCL_CLUSTER_ID_GEN_BASIC,

ZCL_CLUSTER_ID_GEN_ON_OFF

本系统软件部分基于TI公司的Z-Stack协议栈设计,Z-Stack提供了ZCL簇API接口,基于函数回调的方式实现命令处理,其开发流程主要包括以下步骤:

(1)ZCL初始化;

(2)ZCL命令回调函数注册;

(3)ZCL属性注册。

ZCL初始化负责注册相应端点(endpoint)到AF层。通过调用函数:

void zclHA_Init(SimpleDescriptionFormat_t *simpleDesc)实现对端点的注册。

其回调函数的数据结构是一个包含多个函数指针的结构体,每一个函数指针对应不同命令的处理,当收到相应命令时便会调用该命令对相应的函数做处理。回调函数注册API为:

ZStatus_t zclGeneral_RegisterCmdCallbacks (uint8 endpoint, zclGeneral_AppCallbacks_t *callbacks)

通过调用该函数实现端点与对应回调函数的绑定及注册,当收到相应命令时系统会调用该命令对应的回调函数。

属性注册通知系统该节点不同命令所具备的相关属性值,属性存储在一个数组中,该数组的每一个元素对应一个属性,本系统中的一个属性记录结构如下:

{

ZCL_CLUSTER_ID_GEN_ON_OFF, // cluster ID

{ // Attribute record

ATTRID_ON_OFF, //Attribute ID

ZCL_DATATYPE_UINT8, // Data Type

ACCESS_CONTROL_READ, // Read/write

(void *)&zclHomeAppSw_OnOff // Pointer to data field

}

}

每一个簇可以有多个属性值,每一条属性都有所属的簇,属性包含属性ID、数据类型、读写权限及数据域等参数。

本系统中主要有开关节点和灯节点两种终端节点,两种节点要分别实现所需要的簇命令处理函数。

开关节点要实现的簇命令回调函数包括:

zclHomeAppSw0_BasicResetCB, //复位操作

zclHomeAppSw0_IdentifyCB, //确认操作

灯节点要实现的簇命令回调函数包括:

zclSampleLight_BasicResetCB,//复位操作

zclSampleLight_IdentifyCB, //确认操作

zclSampleLight_OnOffCB, //开关命令

4 系统测试

本系统基于ZigBee ZLL规范设计,系统的核心功能是控制器发出开关命令,灯节点收到信号后做出执行动作。系统由一个协调器、4个节点(分为2个灯,2个控制器)、一个网关及onenet云平台构成。在实验室环境中做了系统测试。

开关灯命令通过调用Z-Stack API函数实现,函数格式如下:

zclGeneral_SendOnOff_CmdToggle (ZCLHOMEAPPSW0_ENDPOINT, &zclHomeAppSW0_DstAddr, false, HomeAppSW0_TransID );

测试分2种,ZigBee控制节点按键控制命令和onenet平台控制命令如下所示:

(1)通过对ZigBee节点按键操作控制Light状态,灯节点和控制节点相距10 m测试正常,能够有效通信并控制。

(2)通过onenet平台对系统测试,网关通过路由器接入Internet。转变平台按键状态,ZigBee端收到信号并能够做出响应,实现了系统的设计目标。

5 结 语

本文设计了基于ZigBee协议ZLL规范的智能灯光系统,实现了基于以太网的远程访问控制,系统的核心在于能够符合ZLL规范,免除了自定义私有应用层协议的麻烦,便于不同厂家设备的互联互操作。纵观ZigBee技术的发展,以后的研究重点应放在基于领域规范的标准化设计方面,以便实现产品的标准化开发。

参考文献

[1]尹纪庭,袁佳,焦志曼,等.基于ARM和Zigbee的智能家居控制系统研究与开发[J].计算机测量与控制,2013,21(9):2451-2454.

[2]吴文忠,李万磊.基于ARM和ZigBee的智能家居系统[J].计算机工程与设计,2011,32(6):1987-1990.

[3]满莎,杨恢先,彭友,等.基于ARM9的嵌入式无线智能家居网关设计[J].计算机应用,2010,30(9):2541-2544.

[4]庞泳,李光明.基于Zigbee的智能家居系统改进研究[J].计算机工程与设计,2014,35(5):1547-1550,1582.

[5] Shuyan Zhang,Pingping Xiao,Juan Zhu, et al.Design of Smart Home Control System Based on Cortex-A8 and ZigBee[C].Software Engineering and Service Science(ICSESS),2014 5th IEEE International Conference on,2014:675-678.

[6]姚志鹏.基于Z-stack协议栈ZCL库且符合HA规范的ZigBee应用开发[J].物联网技术,2013,3(4):54-56.

[7] Chunlai Zhou,Wenhui Huang,Xiaoyun Zhao.Study on architecture of smart home management system and key devices[C].International Conference on Computer Science and Network Technology, 2013:1255-1258.

[8] Texas Instruments, Inc. Z-Stack ZigBee Cluster Library Application Programming Interface[R].San Diego, California USA: Texas Instruments, Inc.,2011.

[9] ZigBee Alliance. ZigBee Light Link Standard[R].San Ramon, CA: ZigBee Alliance, Inc., 2012.

[10] 中国移动物联网开放平台[EB/OL]. Available:http://open.iot.10086.cn/

猜你喜欢

远程控制
水冷发射机冷却系统故障分析及解决方案
基于GSM的远程控制系统