基于ZigBee楼宇自动化规范的BACnet/ZigBee无线扩展模块的实现

2018-01-08 08:23:55季明逸
智能建筑与智慧城市 2017年12期
关键词:楼宇通讯无线

季明逸

(英格索兰亚太工程技术中心)

基于ZigBee楼宇自动化规范的BACnet/ZigBee无线扩展模块的实现

季明逸

(英格索兰亚太工程技术中心)

阐述了ZigBee协议应用于BACnet网络扩展的原理。基于ZigBee CBA规范,设计了一种BACnet/ZigBee无线扩展模块,通过EmberZNet协议栈实现了CBA规范定义的BACnet隧道设备功能。实验表明,该模块具有无线传输BACnet NPDU的能力,可用于替代传统的BACnet有线通讯,满足楼宇自控系统无线化改造的需求。

BACnet/ZigBee;ZigBee CBA规范;EmberZNet

1 引言

楼宇自控系统需要有相应的设备进行实时监控。为了实现高效管理,对于楼宇信息的收集、存储以及分析是其中的重要环节。因此,数字化通讯网络成为了该领域的核心技术。另一方面,随着无线通讯的发展,其易于部署维护、灵活性高[1]的特点使其得到越来越广泛的关注。引入无线网络技术,也成为智能楼宇的重要发展方向。

2 BACnet与ZigBee协议

楼宇自动化控制网络BACnet(Building Automation Control Network)作为楼宇自控的代表性通讯协议,是该领域的国际标准[2]。该协议由美国采暖、制冷和空调工程师协会(ASHRAE)制定,具有开放性的特点,支持多种通讯媒介的集成,可实现来自不同厂商设备的互联。在实际应用中,基于有线通讯介质的BACnet网络因需要考虑布线的问题,其系统扩展往往存在一定的局限性。因此,将无线网络引入BACnet便具有了实际意义。

ZigBee作为一种基于IEEE 802.15.4的无线网络协议,具有低功耗、低速率和自组织的特点。该协议由ZigBee联盟制定,支持多条路由,能够通过多节点转发报文,突破单个节点信号范围的制约。具有自组织网络的能力,可根据网络环境的动态调整数据传输路径,从而有效解决多路径传输干扰等问题[3]。以上特性使得ZigBee网络非常适合应用于楼宇自控系统。BACnet也因此在协议中增加了对于ZigBee的兼容能力,将其作为一种可选的传输媒介,以此实现无线化。

3 BACnet基于ZigBee的无线化扩展

实现BACnet基于ZigBee的无线连接,需解决的主要问题在于如何使用ZigBee网络对BACnet网络协议数据报文(NPDU)进行发送和接收。为此,BACnet与ZigBee在各自协议的内部都增加了相应的规定。

3.1 BACnet OSI模型的扩展

图1 BACnet/ZigBee体系结构

BACnet的开放性主要来自对OSI分层模型的应用[4]。该模型使得BACnet的NPDU能够基于不同类型的数据链路层及物理层进行收发,如图1所示。因此,也可参照该模型将BACnet网络层运行于ZigBee之上,扩展出无线通讯的能力。由于ZigBee网络提供了标准化的应用接口,而BACnet网络层并不具备支持这些接口的能力,为解决该兼容问题,BACnet在协议中定义了一个BZLL(BACnet/ZigBee数据链路层)以实现与ZigBee的适配。

BACnet在其标准中,对BZLL进行了定义[5]。该层提供了BACnet网络层与ZigBee网络之间的数据链路,主要负责参照ZigBee标准对BACnet NPDU进行发送。由于BACnet网络层要求其数据链路层的MAC地址长度不能超过6个字节,而ZigBee网络使用的是8字节的地址,因此BZLL使用了虚拟MAC地址(VMAC)对其ZigBee地址进行映射,同时提供了VMAC表的管理,保存了无线网络中所有BACnet节点的设备序列号与ZigBee地址间的关系。

3.2 ZigBee对于BACnet的支持

ZigBee协议通过商业楼宇自动化规范(CBA Profile)中定义的BACnet隧道设备(BACnet Tunneled Device),以及相关ZigBee簇(Cluster)的应用,来实现对BACnet NPDU的收发。

3.2.1 ZigBee簇以及簇群库

簇是ZigBee定义的一组相关属性与指令的集合,提供了设备之间的通讯接口。在此基础上,ZigBee联盟根据各种应用场合规定了不同类型的簇,并建立了簇的集合 - ZigBee簇群库(ZCL)。在研发ZigBee应用时,ZCL被作为功能单元使用,以此增强通用性,避免重复开发。

ZCL采用了客户端/服务器模型[6]。通过设备之间同类型簇的客户端与服务器的绑定建立联系。其中,服务器端保存了该簇相关的属性。当接收到来自客户端的命令时,服务器对属性进行相应的操作,并将应答消息发送给客户端。

3.2.2 CBA规范中的BACnet隧道设备

在ZCL的基础上,ZigBee联盟制定了CBA规范,规定了楼宇自控领域中各种常见的设备描述和操作,以及可能涉及到的设备类型和簇的集合,以此来保证不同厂商控制设备间的互操作性。

该规范对BACnet隧道设备进行了描述[7],规定其应当包含BACnet末端(Endpoint,相当于端口),该末端包括了通用隧道簇(Generic Tunneled Cluster)以及BACnet协议隧道簇(BACnet Protocol Tunnel Cluster),以实现BACnet通讯的功能。其中,GT簇主要提供BACnet设备序列号(BACnet Device Instance)的相应操作。BP簇则主要负责BACnet NPDU的收发。由于BACnet隧道设备需要同时具有接受和发送NPDU的能力,因此需要包含以上两类簇的客户端和服务器端,如图2所示。

3.3 BZLL与ZigBee的数据交互

图2 BACnet隧道设备之间的绑定

图3 BZLL工作原理图

图4 应用无线扩展模块替代BACnet控制器之间的有线通讯

BACnet在其协议标准也举例说明了BZLL与ZigBee之间的通讯过程,如图3所示。在该例程中,末端6被作为BACnet末端,符合CBA规范中BACnet隧道设备的描述。BZLL在发送网络层的NPDU时,根据VMAC表将VMAC地址转换成ZigBee地址并传输至ZigBee网络。相反地,当BZLL收到来自ZigBee的BACnet消息时,将消息中的ZigBee地址转换为VMAC地址并提供给BACnet网络层。另外,末端6所在的ZigBee网络中的所有BACnet节点都被归入ZigBee组ABCD。当BZLL层需要发送BACnet广播时,将通过BP簇把NPDU发送至对应的ABCD组中。同理,该组中其它BACnet节点发送的广播,也会通过组表定位至末端6。

4 系统应用实例

基于上述理论,可设计一种BACnet/ZigBee无线模块,作为对BACnet控制器的扩展。以图4中两个BACnet控制器之间的通讯为例,通过使用该无线扩展模块,可以替代原有的有线连接,实现BACnet的无线通讯。

4.1 无线模块的硬件

BACnet/ZigBee模块的硬件主要包括一个主处理器以及ZigBee射频模块。主处理器使用基于ARM9内核的某型芯片,用于实现BZLL层的功能。ZigBee模块使用核心为ARM Cortex-M3的某型片上系统,支持相应的ZigBee协议栈,负责处理BACnet NPDU的无线收发。主处理器与射频模块之间通过SPI总线进行通讯。无线模块使用RS485作为与BACnet控制器之间的接口。

4.2 使用EmberZNet协议栈实现软件功能

ZigBee协议栈是对于协议的具体实现,作为ZigBee开发的软件部分,为编程人员提供相应的函数库。目前,多家厂商研发了各自的协议栈,如TI公司的Z-Stack,NXP公司的BeeStack以及Silicon Lab公司的EmberZNet。本文以EmberZNet协议栈为例,使用相应的软件开发工具包对无线模块中的ZigBee芯片进行配置。EmberZNet议栈中包含了由ZigBee联盟定义的簇群库,在其API中封装了簇群库的细节,只对外提供简单明了的函数命令。其软件开发工具提供了可视化的配置界面,并且可在完成配置后自动生成对应的项目工程及代码,从而简化开发流程。

如图5所示,在使用Ember Desktop配置BACnet/ZigBee无线模块时,需要在其ZCL Clusters选项卡中,创建ZigBee末端,并选择ZCL设备类型为CBA规范定义的BACnet隧道设备。该选项可使自动生成的代码中包含以下回调函数,为BACnet NPDU的传输提供接口,如表1。

表2 BACnet NPDU数据

4.3 实验测试

实验以两个BACnet控制器间的通讯为例,使用BACnet/ZigBee扩展模块实现其无线通讯。在无线网络工作时,应用EmberZNet开发工具对ZigBee数据包进行抓取,并与BACnet控制器实际传输的NPDU进行比较,从而验证扩展模块的功能。以控制器发送BACnet Confirmed Request报文请求读取其它设备上Analog Input 2的PRESENTVALUE以及PROP_STATUS_FLAGS属性为例,其NPDU数据从高位至低位如表2所示。

抓取ZigBee数据包的截屏如图6所示。将图中右下方Hex Dump窗口中的数据与表2对比,可以验证该BACnet NPDU已通过ZigBee网络实现了无线传输。

5 结论

BACnet与ZigBee协议通过互联机制有机融合,是实现BACnet楼宇自控网络无线化的有效途径。本文基于ZigBee协议的CBA规范,详细描述了BACnet/ZigBee无线扩展模块的具体实现方案。通过使用符合ZigBee标准的协议栈,增强了该模块的通用性,具有较高的参考价值。

图6 ZigBee传输BACnet NPDU数据包抓取

[1] 许毅平, 周曼丽. 无线网络技术在智能楼宇中的应用研究 [J]. 计算机工程与设计, 2006(11): 4264-4267.

[2] PARK S C, LEE W S, KIM S H, et al.Implementation of a BACnet-ZigBee Gateway [C]. IEEE conference on Industrial Informatics, 2010: 40-45

[3] 刘军, 王桂棠, 姚欢, 宁静. ZigBee技术中的mesh网络研究与实现 [J]. 自动化与信息工程, 2008(1): 20-22.

[4] 聂佳, 张灿辉. ZigBee与BACnet互联机制的研究 [J]. 低压电器, 2008(22): 1-3.

[5] ANSI/ASHRAE Addendum q to ANSI/ASHRARE Standard 135-2008 [S].

[6] ZigBee Specification, ZigBee Cluster Library Specification. ZigBee document 075123r02ZB [G/OL]. http://www.zigbee.org.

[7] ZigBee Specification, Commercial Building Automation Profile Specification.ZigBee document 053516r10 [G/OL].http://www.zigbee.org.

Implementation of BACnet/ZigBee Wireless Module Based on ZigBee CBA Prof i le

JI Ming-yi

(Ingersoll Rand Engineering & Technology Center–Asia Pacific)

In this paper, the mechanism of expanding BACnet network by implementing ZigBee protocol is expounded. Based on ZigBee CBA profile, a type of BACnet/ZigBee expansion module was designed, which using EmberZNet protocol stack to implement the function of BACnet tunneled device defined in CBA profile. Experiments show module’s capability of transmitting BACnet NPDU wireless network,which can be the substitution for traditional BACnet wired communication, to satisfy the demand of expansion with wireless communication in BAS.

BACnet/ZigBee;ZigBee CBA profile;EmberZNet

猜你喜欢
楼宇通讯无线
《茶叶通讯》简介
茶叶通讯(2022年2期)2022-11-15 08:53:56
《茶叶通讯》简介
茶叶通讯(2022年3期)2022-11-11 08:43:50
通讯报道
通信生产楼宇建设项目造价问题分析
《无线互联科技》征稿词(2021)
商务楼宇治理中党建融入的逻辑与路径——基于广州S楼宇的观察与思考
创造(2020年7期)2020-12-28 00:48:22
无线追踪3
基于ARM的无线WiFi插排的设计
电子制作(2018年23期)2018-12-26 01:01:08
智美兼具的精品——评测君和睿通Homates H10楼宇对讲室内门口机
ADF7021-N在无线寻呼发射系统中的应用
电子制作(2016年15期)2017-01-15 13:39:03