解密ZigBee IP规范:智能能源传感网络更可靠
过去15年来,科技公司不断探索为无线感测器网路和其他须要利用网际网路的可连接设备开发使用网际网路协定(IP)的软体解决方案。近几年,所出现最可行的IP软体解决方案之一,是2013年3月由ZigBee联盟发布的ZigBee IP规范。ZigBee IP是第一个针对基于网际网路通讯协定第六版(IPv6)的全无线网状网路解决方案的开放标准,它为控制低功耗、低成本设备提供无缝网际网路连结,并可在单一控制网路中连结几十种不同的设备。
ZigBee IP设计主要在支援ZigBee Smart Energy IP协定堆叠。本文探讨无线感测器网路IP解决方案的演变,以及新ZigBee Smart Energy IP协定堆叠的使用。
感测器网路首重低功耗设计
自20世纪90年代后期,感测器网路已经成为研究和实验的主要课题,其采用可收集和发送资料的微小智慧设备去提升结构性监视、增强能源效率或增加作物产量的网路应用前景已毋须多说。建构感测器网路的基本技术包括:
.低功耗和高效无线电技术
让典型设备具有几年的电池寿命,并为无法透过电池或主电源供电的其他设备提供能源收集的功能。
.可靠的网状网路和协定
用以实现无人值班的长期运行。
.合适的应用协定
允许设备之间透过约定的资料格式进行资讯交换,支援自主运行。
2003年发布的IEEE 802.15.4标准以及2004年出现的满足标准要求的商用无线电收发器,为低功耗无线通讯提供基础。从那时起,IEEE标准已经在2006、2011年得到扩展和改进。随着15.4e和15.4g修订版本的发布,商用无线电收发器供应商已经成功降低他们射频(RF)元件近一半功耗,并预期在下一代元件出现时功率可再次减半。
可靠的网路通讯协定开发和效能验证须要较长的时间。私有网状网路通讯协定堆叠,例如EmberZNet或者来自Berkeley的TinyOS,已经发布相容15.4标准的无线晶片。虽然这些协定堆叠被使用并得到进一步开发,但是市场的成长和扩张依赖基于标准解决方案去实现互通性,以及是否可以从多个采购管道获得采用该技术的公司产品。ZigBee联盟是最近几年为无线网状网路提供标准解决方案的少数组织之一。
应用协定是网状网路中最后被开发的专案。这些协定依赖共同的语言,使来自不同制造商的设备可以进行无缝通讯。在设备之间开发一种公用语言,须竞争对手之间相互合作并达成一致的资料传递协定和行为。对于产品相互依赖的公司,例如生产灯具产品的公司和生产调光器和开关的公司,自由市场机制可促进应用协定的达成。然而,在其他领域,例如家居自动化或商业楼宇,自由市场机制可能无法达到促进竞争对手协同工作、统一应用协定的目的。
ZigBee PRO提升可靠/互通性
ZigBee标准开发是感测器网路和楼宇自动化市场扩展的一部分。在21世纪初,ZigBee联盟一直专注于开发网状网路的标准、安全性和应用协定。ZigBee联盟成员和部署的稳定成长带来协定和可靠性的提升,最终推动2007年ZigBee PRO规范和2008年Smart Energy Profile发布。Smart Energy市场要求设备具有可靠性和互通性,这是因为制造和部署电表的公司希望能够与家庭中的其他设备进行通讯,但他们并不想拥有或维护家中的这些设备。只有在标准路由和应用协定以及可靠安全性方面达成一致,才能真正成为一个可以接受的解决方案。
ZigBee PRO是针对设备之间的通讯来开发和最佳化。该协定从IEEE 802.15.4 MAC/PHY(ZigBee网路和服务层)开始进行标准化,一直到整个应用层。相关设备能够加入网路,与其他设备配对,并可在没有系统管理员或网路系统管理员人工干预下运行。协定和资料传递特别针对小型资料(因为15.4仅支援最大127个位元组的封包)和电池供电的设备进行最佳化,这使得业界更能实现无所不在的感测和控制网路。拥有成百上千设备的网路已经被成功部署并持续运行。这些网路中规模较大的,包括位于瑞典哥德堡的计量回程网路,其包含275,000个设备,以及位于拉斯维加斯Aria酒店的室内自动化和控制系统,其包含75,000多个ZigBee PRO设备。随着这些网路的成功部署,ZigBee技术已经实现支援大规模感测和控制网路可靠运行且无需人工干预或支援的目标。
随着网路应用的扩展,更广泛的网际网路连结成为一些公司开发网状网路解决方案的重要目标。然而,ZigBee PRO网路并非针对Web服务或网际网路通讯而最佳化。现有的定址和协定不能与使用中的IP标准相匹配,所以为供电受限和小记忆体设备而最佳化设计的通讯和解码协定,将不得不为在Web页面或智慧手机上显示资料而进行转换。智慧闸道的开发是为提供其连结和转换,但是任何时候当一个新的设备或者标准被开发出来,这些智慧闸道就必须升级。
满足感测器网路应用需求 IETF发布6LoWPAN标准
在ZigBee联盟发展的同时,网际网路工程任务组(IETF)成立若干工作组,以评估这些感测和控制网路。随着网际网路通讯协定第四版(IPv4)位址的快速耗尽,IPv6定址结合其他现有IP协定对于低功耗感测和控制网路来说似乎是一个自然的合理选择。然而,现有IP协定通常基于更长的封包大小和更高数据速率网路,这促使人们开始关注如何在15.4网路上运行标准IP协定。许多公司注意到这个问题并要求IETF开始调整IETF协定,以使它们适合低功耗感测和控制网路。
对于IPv6,首要任务是解决封包大小问题。IPv6设备必须支援最低为1,280位元组的封包,但是15.4网路只能提供最多127个位元组的封包。此外,使用较大的封包对那些电池供电的设备有直接的影响。因此IETF成立了一个工作组,并于2007年发布6LoWPAN标准(RFC 4944)。该标准为实现在15.4网路上传输IP封包提供一些重要服务。最重要的是,它压缩IP封包头部以避免在15.4子网上发送不需要的重复资讯。它也为不适合在单个15.4封包中传输的IP封包提供了非常高效的分段和重组机制。该标准并未解决网路可靠性和应用协定的需求,但是它实现在15.4设备上成功传输IP封包的重要一步。
IETF也启动一个工作组为低功耗和损耗网路(Lossy Network)评估合适的路由式通讯协定,使之能够用于感测器和控制网路。评估结果是现有IETF协定不适合这些网路,须要开发新的协定(见Draft-ietf-roll-protocols-survey-07)。基于这个结论,IETF ROLL工作组在2012年初以RFC6550形式发布RPL。RPL为这些低功耗网路提供基本的路由服务。其他标准IP协定(例如使用者资料元协定(UDP)和传输控制协定(TCP))资料能够在802.15.4网路上运行而毋须任何修改。使用传输层安全性(TLS)或资料包传输层安全性(DTLS)的安全机制也已经被发布。IETF现在已经拥有用于感测和控制网路的基本协定,但是应用协定也是必要的,以便允许设备之间进行通讯。
在开发Smart Energy 2协定过程中,ZigBee联盟与Wi-Fi和HomePlug联盟进行合作,该协定设计主要在支援多种实体层,包括802.15.4、Wi-Fi和电力线通讯(PLC),它使用6LoWPAN和RPL做为标准应用协定,可用于能源计量、消费、定价、分散式生成与控制。Smart Energy 2标准于2013年发布,已经为低功耗感测和控制网路运行制订一整套包括应用层在内的基于IP的协定。
ZigBee IP用以验证互通性
在IETF为15.4网路开发标准协定的同时,属于ZigBee联盟成员的公司认为须要开发一套基于ZigBee的IP协定堆叠,以配合IETF的努力,并开发出更详细和明确的标准。另外,ZigBee IP协定堆叠将能够提供一种测试和认证机制以验证设备之间的互通性。IEEE或IETF开发的标准通常包括许多可选的行为和功能。这些选项提供可扩展性,并可能会在某些标准用途上使用到。
然而,所有选项的施行将带来更大的代码量和复杂度,最终可能导致设备之间的互通性问题。ZigBee IP标准使用和参考IEEE和IETF的标准,但是明确定义使用到的特定选项。行为和安全项目也更加明确详细,因此设备的最小行为功能能够确定。
ZigBee联盟在2008年开始基于IP的Smart Energy协定堆叠的开发,进行一系列测试活动以验证规范、测试实现,并确保实现初始堆叠的互通性。2013年初发布ZigBee Smart Energy IP协定堆叠,现在可以从包括Silicon Labs(Ember ZigBee硬体和软体解决方案提供商)在内的多个公司获得。
ZigBee Smart Energy IP协定堆叠规定须要对6LoWPAN封包头进行压缩和分段。RPL路由采用非储存模式,网路路由到一个集中器,集中器使用源路由资讯发送封包到网路中的设备。标准服务发现采用mDNS协定实现,因此设备能够发现网路中其他设备上相应的服务。MAC级的安全来自15.4,应用级的安全能被用于加密封包负载。网路存取身分验证(PANA)协定用于网路的存取控制,应用安全使用TLS1.2和椭圆曲线加密。应用中可使用UDP和TCP封包协定。
ZigBee Smart Energy IP协定堆叠,如图1所示,是第一个基于标准发布的,它结合IEEE和IETF的相关标准构成一套由众多公司和晶片供应商支援的可认证和可交互操作的标准。在标准发布后,已经有五家公司完成协定堆叠认证。
图1Smart Energy 2和ZigBee IP协定堆叠
使用ZigBee IP的设备基础
ZigBee Smart Energy IP和ZigBee Smart Energy 2应用规范现在已经可以用于低成本和低功耗15.4无线设备,这些设备通常具备整合的微控制器(MCU)、256KB Flash和32KB RAM。半导体公司提供一个基础,设备制造商对这个基础进行客制化,为他们的设备增加自己特定的应用行为。下面是一些Smart Energy设备中使用ZigBee IP时的常见选择,包含设备支援的功能集(计量、需求回应、资料传递等)、安全等级、功能集的URI结构、资料的存取行为、使用XML资料或使用EXI进行压缩、对事件或异常的处理。
这些设计选择最终产生对应用中ZigBee Smart Energy IP协定堆叠的一个配置。然后,为了完成整个设备,必须提供客户特殊的应用行为和资料。例如,虽然半导体供应商的基础将为电表消耗资料提供消息和资料结构,但是开发人员必须使用来自特定设备的真实电表资料填充这些资料结构,因为对于每一个供应商来说资料储存和管理技术是多变的。图2显示由开发人员处理的设计选择和由无线IC供应商提供的设计选择。
图2开发人员处理和晶片供应商提供的设计元素
一旦开发人员在基础上进行基本的选择,代码就能够被编译、下载,并使用桌面工具和网路侦错器(例如Silicon Labs的Ember AppBuilder和Desktop Network Analyzer)进行除错。这些工具既能提供特定设备行为检视图,也能追踪网路上的封包,并确保合适的传输和回应。
ZigBee IP与感测器和控制网路
ZigBee Smart Energy IP协定堆叠的设计目标是为支援多达三十个设备的智慧能源提供可靠的小型家居网路。进一步最佳化方向包括扩展至数百或数千台设备的网路和提高电池寿命。
Smart Energy 2应用规范包括ZigBee IP协定堆叠的使用。因为这种应用须要与网际网路伺服器和服务进行通讯,因此Smart Energy 2也采用TCP和超文字传输协定(HTTP)。这些协定已经在网际网路上运行几10年,但是面临来自低功耗设备电池寿命的挑战,其具备更大的封包尺寸,并且须要保持持续连接。某些最佳化很简单,例如使用UDP代替TCP,采用约束应用协定(CoAP)代替HTTP去减少资料负担。
感测器网路通常是大型资料收集网路,透过RPL路由到中心节点是合适的。然而,控制网路也有经常大量点对点资料传输的需要,因此须进一步工作来最佳化路由。此外,许多分散式网路须要更高的可靠性,因此,不希望出现单点故障,例如安全伺服器或RPL中心节点。因此,这种网路架构须要使用更多分散式系统,而不是目前这些支援的协定。
感测器通常也包含大量电池供电的设备。加长电池寿命的最佳化协定须要更短封包并尽量减少消息发送的频率,这通常意味着搭载XML的TCP和HTTP不适合做为候选协定。使用新格式的压缩封包头(例如CoAP)是一种更适合电池供电型设备的好方法。
经由最佳化,我们可以扩展现有的ZigBee Smart Energy IP协定堆叠,以形成更大的感测器网路。减小封包大小和增加可用频宽而获得的电池寿命最佳化,最终有益于感测器网路的可扩展性和可靠性。