你好!欢迎来到深圳市品慧电子有限公司!
全国统一服务电话:(+86)-755-2950 0800
品慧电子 > 与ZigBee相关的内容
联系品慧电子
  • 电话:+86-0755-2950 0800
  • 传真:+86-0755-2973 8675
  • 微信:联系客服
  • QQ:800009589
LED智能照明技术之争:WIFI、ZigBee和BLE

LED照明正在走向智能化,除了在低功耗、环保、调光和配色等方面对LED进行把控外,厂商对智能照明的另一个关键—无线控制也持续关注。目前可选择的技术主要有WIFI、ZigBee和低功耗蓝牙BLE,最终哪种技术将赢得LED照明的青睐呢?

LED智能照明

WIFI、ZigBee和BLE三大技术的优劣点

1、WIFI:成本低速度快,但不安全不稳定

我们知道,WIFI技术由于研发门槛低,产品成本低,同时具备相对快的速度,再加上无需网桥直接接入互联网以及与手机无缝通信的先天优势,使其成为很多初创企业的选择,这也是WIFI体现出来的最大优势。

但WIFI表现出来的缺点也是显而易见的,除了WIFI芯片的尺寸偏大、功耗过高外,还有就是其不稳定性带来的差体验,至关重要的一点就是WIFI会带来安全性问题,相信这也是用户购买时重要考虑的关键,因此在制造产品的时候,选择WIFI类产品需要权衡利弊。

此外,局限于WIFI自身的特性,其接入方式的接入上限主要限制于WIFI路由器的节点数量(典型值为数十个节点),这对那些照明设备众多的用户来说,往往会忽略WIFI类产品。

2、ZigBee:低功耗,高成本又复杂

另一个主要的无线连接方式是ZigBee,这个低功耗的无线控制协议,从诞生以来就广受用户和厂商的欢迎,ZigBee需要自组网络,而网络的每个节点可以借力传输数据,因此网络中需要一个集中节点来管理整个网络,这样也就意味着ZigBee网络中必须有一个类似路由器的角色,完成ZigBee协议到互联网协议的转换。

关于这个“路由器”,为了直观说明,我们以飞利浦hue为例描述,这个额外的家伙就是hue的Starter包里面称之为Bridge的东西,它本身没有额外的用处,但是可以将其他的灯整合为一个网络,并连接到互联网上。

从上面描述得知,ZigBee带来的最明显的坏处就是成本的增加和安装的复杂程度,另外还需要通过转接与手机连接。但考虑到通过Bridge能带来更多的远程访问能力,再加上天生的低功耗特性,类似飞利浦等高大上的公司,应该会选择这个方案。

因此对于WIFI和ZigBee,都是寸有所长,尺有所短。具体的选择就看厂商的平衡和用户的选择。

3、BLE优点太多

再则是BLE,从2009年推出以来,这种技术就成为各大厂商的“座上客”,手机、无线网等厂商都将这种专注于低功耗、快速连接、长距离通信的新一代无线通信规范整合到自己的产品里面。智能照明厂商也不免俗,迅速关注并将这种技术整合到自己的产品里。BLE的另一个优点就是市面上的新手机都搭配了该技术,方便用户对照明设备的连接控制。

另外半导体厂商对BLE的支持也是开发商选择这个技术的另一个出发点,例如TI公司推出的CC2540、Dialog的DA14580都是优秀的低功耗解决方案。

值得一提的是在蓝牙4.1协议中,BLE产品具备了ZigBee才有的自组网特征,这些都在向传统的ZigBee产品势力范围发起冲击。再加上苹果发布的iBeacons标准,这种非连接性的通信方式大大增加了BLE控制产品的可能性和想象空间。

如果说对BLE而言还有一点美中不足的缺陷的话,除了方案价格以外,还有就是对于老款手机而言,由于搭配的不是蓝牙4.0芯片,这会使对智能照明设备的控制造成困扰。但考虑到现代人的换手机速度,你还会觉得这是个局限么?

无线照明的方向

到2020年,全世界与互联网相连的无线灯泡和灯具的使用量预计将从今年的240万增长至1亿以上,而物联网的发展潮流注定了这些设备离不开无线的支持,这股浪潮必然会引起通信技术之争。究竟是传统的WIFI脱颖而出 ,还是更具优势的ZigBee先拔头筹,又或者是后起之秀BLE的逆袭?你会选择哪个?

物联网IoT必行之路─Sub-1GHz频段

虽然新一代的5G通讯朝向更高频的方向走,例如5GHz以上的频段,甚至可以高到28GHz、30GHz等,但其实无线通信也有另一个趋势,是往更低频的位置走,即1GHz以下的频段,英文称为Sub-1GHz。

这如同计算机运算一样,一是往更高效能推进,另一是往更低廉小巧推进,现在的桌上型PC可以小到只有USB随身碟般大小,称为PC-on-a-Stick,或者可以只有名片般大小,价位更只有20~35美元,如树莓派(Raspberry Pi, RPi)。

而所谓Sub-1GHz,就字义上而言是泛指低于1GHz频段的无线通信统统都算,但实际而言并非如此,而是要扣除许多既有应用与标准才能算。首先要扣除模拟电视的电视白区(Television White Space, TVWS),小至54MHz,大至890MHz,换成数字电视后,也会使用698MHz~890MHz间。

而以LTE而言,FDD LTE也有使用13个频段低于1GHz,一般在700MHz~900MHz间,但有一个频段低至462MHz。而偏高频的TD-LTE也有一个频段在1GHz以下,为703MHz。

扣除上述后,真正用于物联网(IoT)应用的,多是315MHz、433MHz、868MHz、915MHz等频段,部份国家还允许使用169MHz频段,或者大陆可用779MHz。

即便是这些频段,其实也已经有其他无线通信标准采用,如业界已发展、推行10年的ZigBee,即使用2.4GHz、915MHz、868MHz频段,其中后两者低于1GHz。而Google/Nest Labs提出的家用物联网无线通信技术Thread,已言明使用与ZigBee相同的底层技术,即IEEE 802.15.4,言下之意现有已支持ZigBee通讯的芯片,理论上只要更新韧体,就可以改行Thread通讯,如此也一样用及868MHz、915MHz频段。不过,ZigBee、Thread已属物联网技术领域,已是Sub-1GHz本有的初衷应用。

除了ZigBee、Thread外,IEEE 802.11ah标准也是锁定1GHz以下的物联网、无线传感器网络(WSN)等应用,预计2016年会有正式标准出炉。

当然,1GHz以下也包含模拟AM收音机的540kHz~1,600kHz(1.6MHz),或者FM收音机的88.1MHz~108.1MHz,也包含无线充电的WPC Qi的110kHz~205kHz,或A4WP的6.78MHz,NFC与RFID感应的13.56MHz,但因为这些频率实在太低,除FM外几乎都不到100MHz,因此几乎可略而不提,不相冲突。

所以,即便真的谈论低于1GHz的物联网传输应用,也有4类需要谈论,一是现行最普及的产业标准ZigBee(广泛应用),二是各业者自行应用的专属型Sub-1GHz传输,三是刚起步不久,仅针对家用物联网的Thread,四是预计2016年到位的IEEE 802.11ah。

IEEE 802.11ah的订立是希望业者放弃专属型Sub-1GHz,但目前来看有些不乐观,因为11ah仅订立多数业者均可接受的共识标准,现有专属型的芯片表现多已超越此标准,预估即便标准出炉,放弃专属的速度也会缓慢,特别是在一些产业型应用中,特别讲究较佳的通讯表现,且换用周期较久。

以上4类尚未谈到LTE,事实上LTE也在订立支持物联网的新通讯标准,即MTC(Machine Type Communication),如此就有5类低于1GHz的物联网通讯,因为如前述,LTE至少有462MHz、700MHz~900MHz可用。另外,与ZigBee、Thread在家用物联网竞争的尚有Z-Wave,也使用868MHz~956MHz。

另外美国欧巴马总统2008年就任后所提出的智慧电网(Smart Grid),也在之后由IEEE负责制订出智能公用事业网络(Smart Utility Network, SUN)标准,即IEEE 802.15.4g,也一样是使用低于1GHz频段,也属产业性应用的物联网。

最后,一定要用及1GHz以下频段吗?一是低频可以用较低成本达到比较大面积的覆盖,好支持广布的感测节点,同时每个节点的传输量不大,低频频段的Mbps级传输率足以因应。另一则如Nest Labs所言,2.4GHz频段太挤了,包含微波炉、Wi-Fi、蓝牙都使用,因此Thread期望在2.4GHz外也能使用其他频段,以加速实现家用物联网。

目前唯一没使用低于1GHz的物联网通讯恐怕仅剩蓝牙,4.1版的蓝牙也开始支持Mesh型网络,这是支持物联网所必须的基础,但蓝牙依然以2.4GHz为主,且看其日后发展会否也跟进采用Sub-1GHz频段。

ZigBee组网方案与原理|ZigBee组网的方式与模式

Zigbee组网方案

1.组网概述

组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络。其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。

2. 网络初始化预备

Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:

(1)节点是FFD节点,具备zigbee协调器的能力;

(2)节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee网络中有且只有一个网络协调器。

FFD:Full Function Device 全功能节点

RFD:Reduced FunctionDevice 半功能节点

3.网络初始化流程

3.1 确定网络协调器:

首先判断节点是否是FFD节点,接着判断此FFD节点是否在其他网络里或者网络里是否已经存在协调器。通过主动扫描,发送一个信标请求命令(Beaconrequest command),然后设置一个扫描期限(T_scan_duration),如果在扫描期限内都没有检测到信标,那么就认为FFD在其pos内没有协调器,那么此时就可以建立自己的zigbee网络,并且作为这个网络的协调器不断地产生信标并广播出去。

注意:一个网络里,有且只能有一个协调器(coordinator)。

3.2 进行信道扫描过程。

包括能量扫描和主动扫描两个过程:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰。以递增的方式对所测量的能量值进行信道排序,抛弃那么些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道。接着进行主动扫描,搜索节点通信半径内的网络信息。这些信息以信标帧的形式在网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后根据这些信息,找到一个最好的、相对安静的信道,通过记录的结果,选择一个信道,该信道应存在最少的zigbee网络,最好是没有zigbee设备。在主动扫描期间,MAC层将丢弃PHY层数据服务接收到的除信标以外的所有帧。

3.3 设置网络ID。

找到合适的信道后,协调器将为网络选定一个网络标识符(PAN ID,取值<=0x3FFF),这个ID在所使用的信道中必须是唯一的,也不能和其他zigbee网络冲突,而且不能为广播地址0xFFFF(此地址为保留地址,不能使用)。PAN ID可以通过侦听其他网络的ID然后选择一个不会冲突的ID的方式来获取,也可以人为的指定扫描的信道后,来确定不和其他网络冲突的PAN ID。

在zigbee网络中有两种地址模式:扩展地址(64位)和短地址(16位),其中扩展地址由IEEE组织分配,用于唯一的设备标识;短地址用于本地网络中设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址来通信。对于协调器来说,短地址通常设定为0x0000。

上面步骤完成后,就成功初始化了zigbee网状网络,之后就等待其他节点的加入。节点入网时将选择范围内信号最强的父节点(包括协调器)加入网络,成功后将得到一个网络短地址并通过这个地址进行数据的发送和接收,网络拓扑关系和地址就会保存在各自的flash中。

4.节点通过协调器加入网络

当节点协调器确定之后,节点首先需要和协调器建立连接加入网络。

为了建立连接,FFD节点需要向协调器提出请求,协调器接收到节点的连接请求后根据情况决定是否允许其连接,然后对请求连接的节点做出响应,节点与协调器建立连接后,才能实现数据的收发。节点加入网络的具体流程可以分为下面的步骤:

4.1 查找网络协调器。

首先会主动扫描查找周围网络的协调器,如果在扫描期限内检测到信 标,那么将获得了协调器的有关信息,这时就向协调器发出连接请求。在选择合适的网络之后,上层将请求MAC层对物理层PHY和MAC层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。如果没有检测到,间隔一段时间后,节点重新发起扫描。

4.2 发送关联请求命令(Associaterequest command)。

节点将关联请求命令发送给协调器,协调器收到后立即回复一个确认帧(ACK),同时向它的上层发送连接指示原语,表示已经收到节点的连接请求。但是这并不意味着已经建立连接,只表示协调器已经收到节点的连接请求。当协调器的mac层的上层接收到连接指示原语后,将根据自己的资源情况(存储空间和能量)决定是否同意此节点的加入请求,然后给节点的mac层发送响应。

4.3 等待协调器处理。

当节点收到协调器加入关联请求命令的ACK后,节点mac将等待一段时间,接受协调器的连接响应。在预定的时间内,如果接收到连接响应,它将这个响应向它的上层通告。而协调器给节点的mac层发送响应时会设置一个等待响应时间(T_ResponseWaitTime)来等待协调器对其加入请求命令的处理,若协调器的资源足够,协调器会给节点分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令,则此节点将成功的和协调器建立连接并可以开始通信。若协调器资源不够,待加入的节点将重新发送请求信息,直接入网成功。

4.4 发送数据请求命令。

如果协调器在响应时间内同意节点加入,那么将产生关联响应命令(Associateresponse command)并存储这个命令。当响应时间过后,节点发送数据请求命令(Datarequest command)给协调器,协调器收到后立即回复ACK,然后将存储的关联响应命令发给节点。如果在响应时间到后,协调器还没有决定是否同意节点加入,那么节点将试图从协调器的信标帧中提取关联响应命令,成功的话就可以入网成功,否则重新发送请求信息直到入网成功。

4.5 回复。

节点收到关联响应命令后,立即向协调器回复一个确认帧(ACK),以确认接收到连接响应命令,此时节点将保存协调器的短地址和扩展地址,并且节点的MLME向上层发送连接确认原语,通告关联加入成功的信息。

5.节点通过已有节点加入网络

当靠近协调器的FFD节点和协调器关联成功后,处于这个网络范围内的其他节点就以这些FFD节点作为父节点加入网络了,具体加入网络有两种方式,一种是通过关联(associate)方式,就是待加入的节点发起加入网络;另一种是直接(direct)方式,就是待加入的节点具体加入到那个节点下,作为该节点的子节点。其中关联方式是zigbee网络中新节点加入网络的主要途径。

对于一个节点来说只有没有加入过网络的才能进行加入网络。在这些节点中,有些是曾经加入过网络中,但是却与它的父节点失去联系(这样的被称为孤儿节点),而有些则是新节点。当是孤儿节点时,在它的相邻表中存有原父节点的信息,于是它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力同意它加入,于是直接告诉它的以前被分配的网络地址,它便入网成功;如果此时它原来的父节点的网络中,子节点数已达到最大值,也就是说网络地址已经分配满,父节点便无法批准它加入,它只能以新节点身份重新寻找并加入网络。

而对于新节点来说,他首先会在预先设定的一个或多个信道上通过主动或被动扫描周围它可以找到的网络,寻找有能力批准自己加入网络的父节点,并把可以找到的父节点的资料存入自己的相邻表。存入相邻表的父节点的资料包括zigbee协议的版本、协议栈的规范、PAN ID和可以加入的信息。在相邻表中所有的父节点中选择一个深度最小的,并对其发出请求信息,如果出现相同最小深度的两个以上的父节点,那么随机选取一个发送请求。如果相邻表中没有合适的父节点的信息,那么表示入网失败,终止过程。如果发出的请求被批准,那么父节点同时会分配一个16位的网络地址,此时入网成功,子节点可以开始通信。如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络。

ZigBee术语:什么是群集(Cluster)、端点(EndPoint)等

Zigbee术语

在学习zigbee协议栈的时候经常看到应用程序、zigbee设备对象(ZDO)、节点、设备、端点、群集、属性、绑定、寻址等一下zigbee术语,不知道这些zigbee术语是表示什么,是如何定义的,是如何区分的,是如何划分的以及他们之间有什么联系,一切的一切全不知道。网上也有很多zigbee术语的讲解,不知道是自己的理解能力有问题,还是本身这个就是很难理解,太过于抽象呢?在前辈们的博文中挑出自己能理解,再加上自己的理解,自己总结一下,方便以后自己查看,同样也希望能够帮助他人。如果我哪里理解不当,麻烦帮忙指出,谢谢!

一、属性

属性Attribute是一个反映物理数量或状态的数据值,比如开关值(On/Off)、灯的状态值(On/Off)、温度值、百分比等等。

二、群集,或称为簇

群集Cluster是包含一个或多个属性(attribute)的群集。简单的说,群集就是属性的集合。每个群集都被分配一个唯一群集ID且每个群集最多有65536个属性。比如一个群集包含了不同情况下的开关、不同情况下的灯、不同情况下的温度值、不同情况下的百分比等等。

三、设备描述

设备描述Device Description是指一个大型目标应用的一部分,包括一个或多个群集。

四、端点

端点EndPoint是协议栈应用层的入口,即入口地址,也可以理解应用对象(Application Object)存在的地方,它是为实现一个设备描述而定义的一组群集。每个Zigbee设备可以最多支持240这样的端点,端口0用于整个Zigbee设备的配置和管理,应用程序可以通过端点0与Zigbee堆栈的其他层通信,从而实现对这些层的初始化和配置。附属在端点0的对象被称为Zigbee设备对象(ZDO)。端点255用于向所有端点的广播,端点241~254是保留端点。

五、配置文件

配置文件Profile可以理解为共同促进交互式应用的多个设备描述项的集合。定义了属性ID与群集(簇)ID,使之看起来就像设备的某种特性,以家庭智能控制系统为例,灯配置文件设定了远程控制设备的群集OnOffDRC含有一种属性OnOff,且该属性为无符号8位值,值0xFF意味着"开",0x00为"关",0xF0则为无效。通常,配置文件也为设备定义了,哪些群集是强制托管,哪些群集是可选择的。另外,配置文件还定义了一些可选择的zigbee协议托管服务。每一个应用都对应一个配置文件(Profile),配置文件内容包括:设备ID(Device ID)、群集ID(Cluster ID)、属性ID(Attribute ID),及AF(应用框架)使用何种服务类型等信息。在zigbee协议中,一个配置文件中允许最多2^16个设备,2^8个群集,每个群集支持最多2^16个属性。

六、节点

节点Node也可以理解为一个容器,包含一组zigbee设备,分享一个无线信道。每个节点有且只有一个无线信道。一个节点除了64位的IEEE地址,16位的网络地址,每个节点还提供了8位应用层入口地址(端点:EndPoint),对应于用户应用对象。


节点一Z1:开关控制装置
节点二Z2:灯装置
事件(Event):开关2控制灯4的亮灭,开关1控制灯组1~3的亮灭
群集(Cluster):不同情况下开关的状态和灯的状态
端点(EndPoint):开关和灯
属性(Attribute):开关和灯都有两种属性:开和关

七、绑定(Bindling)

Zigbee定义了一个称为端点绑定的特殊过程。绑定即在源节点的某个端点(EndPoint)和目标节点的某个端点之间创建一条逻辑链路。绑定可以发生在两个或多个设备之间。协调器节点维护一个基本上包括两个或多个端点之间的逻辑链路的绑定表。

在绑定表中,包含如下信息,源节点和目标节点的IEEE地址、端点号、群集号。对于可以建立绑定关系的两个节点,它们的群集的属性必须一个选择"输入",另一个选择"输出",而且群集号必须相等,只有这样,它们彼此才能建立绑定。如果目标设备的扩展地址是已知的,则调用zb_BindDeviceRequest()函数可以创建一个绑定条目。

八、寻址(Addressing)

在Zigbee网络中,使用两种地址:一种是64位的IEEE地址,也叫物理地址,64位地址在所有zigbee设备之中是唯一的,其中包含一个由IEEE分配、也是全球唯一的24位制造商特定组织标识符OUI(Organizationally Uqique Identifier)。另一种是16位的网络地址(NWK Address),当设备加入zigbee网络时,从允许其加入的父设备上获取16位网络地址。该地址在zigbee网络中唯一,用于数据传输和数据包路由。在zigbee中,数据包可以单点传送(unicast),多点传送(multicast)或者广播传输(broadcast),所以必须有地址模式参数。一个单点传送数据包只发送给一个设备,多点传送数据包则要传送个一组设备,而广播数据则要发送给整个网络的所有节点。当应用程序需要将数据包发送给网络上的一组设备时,还可以使用组寻址方式(Group Addrssing)。

ZigBee常见的3种网络架构介绍

ZigBee技术具有强大的组网能力,可以形成星型、树型和网状网,可以根据实际项目需要来选择合适的网络结构;

星形拓扑是最简单的一种拓扑形式,他包含一个Co-ordinator(协调者) 节点和一系列的 End Device(终端)节点。每一个End Device 节点只能和 Co-ordinator 节点进行通讯。如果需要在两个 End Device 节点之间进行通讯必须通过Co-ordinator 节点进行信息的转发。

ZigBee星形拓扑网络架构

这种拓扑形式的缺点是节点之间的数据路由只有唯一的一个路径。Co-ordinator(协调者)有可能成为整个网络的瓶颈。实现星形网络拓扑不需要使用 ZigBee 的网络层协议,因为本身IEEE 802.15.4的协议层就已经实现了星形拓扑形式,但是这需要开发者在应用层作更多的工作,包括自己处理信息的转发。

树形拓扑包括一个Co-ordinator(协调者)以及一系列的 Router(路由器) 和 End Device(终端)节点。Co-ordinator 连接一系列的 Router 和 End Device, 他的子节点的 Router也可以连接一系列的 Router 和End Device. 这样可以重复多个层级。树形拓扑的结构如下图所示:

ZigBee树形拓扑网络架构

需要注意的是:
Co-ordinator 和 Router 节点可以包含自己的子节点。
End Device 不能有自己的子节点。
有同一个父节点的节点之间称为兄弟节点
有同一个祖父节点的节点之间称为堂兄弟节点

树形拓扑中的通讯规则:

每一个节点都只能和他的父节点和子节点之间通讯。

如果需要从一个节点向另一个节点发送数据,那么信息将沿着树的路径向上传递到最近的祖先节点然后再向下传递到目标节点。

这种拓扑方式的缺点就是信息只有唯一的路由通道。另外信息的路由是由协议栈层处理的,整个的路由过程对于应用层是完全透明的。

Mesh拓扑(网状拓扑) 包含一个Co-ordinator和一系列的Router 和End Device。这种网络拓扑形式和树形拓扑相同;请参考上面所提到的树形网络拓扑。但是,网状网络拓扑具有更加灵活的信息路由规则,在可能的情况下,路由节点之间可以直接的通讯。这种路由机制使得信息的通讯变得更有效率,而且意味这一旦一个路由路径出现了问题,信息可以自动的沿着其他的路由路径进行传输。 网状拓扑的示意图如下所示:

ZigBee Mesh拓扑(网状拓扑) 网络架构

通常在支持网状网络的实现上,网络层会提供相应的路由探索功能,这一特性使得网络层可以找到信息传输的最优化的路径。 需要注意的是,以上所提到的特性都是由网络层来实现,应用层不需要进行任何的参与。

MESH 网状网络拓扑结构的网络具有强大的功能,网络可以通过“多级跳”的方式来通信;该拓扑结构还可以组成极为复杂的网络;网络还具备自组织、自愈功能;星型和族树型网络适合点多多点、距离相对较近的应用。