ZigBee协议详解

 ZigBee逻辑设备类型

      a.Coordiantor应该充当Trust Center 的角色,负载建立一个centralized

security network (集中式安全网络),不得加入其它网络。

      b.Router应该可以加入一个已建立的集中式/分布式安全的网络,不能建立centralized security

network (集中式安全网络)。但是当无法加入已建立的集中式/分布式安全网络的情况下,可以自行建立distributed  security network (分布式安全网络)。

      c.EndDevice应该可以加入一个已建立的集中式/分布式安全的网络

       一个ZigBee可能支持充当Coordiantor和Router的两种角色的能力,可通过应用程序来切换,但是同一个时间只能充当一种角色,如:一个Router设备尝试加网但失败了,它可以切换至Coordiantor角色去建立一个集中式安全网络,一旦此设备建网/入网完成,不得再改变自己的设备类型,除非离网或者遭到其他破坏。

 Network 安全模型

      一个ZigBee网络可以支持集中式安全模型或者分布式的安全模型,所有非Coordiantor类型的ZigBee设备应该能通过合适的安全条件,加入到集中式安全模型或者分布式的安全模型的网络中,对于用户而言是无缝的。

 Link key 连接秘钥(16位)

所有ZigBee节点必须包含以下Link

key:

a.默认的(集中式安全网络)全局密钥:

Default global Trust Center link

key (0:15) = 0x5a 0x69 0x67

0x42 0x65 0x65 0x41 0x6c 0x6c 0x69 0x61 0x6e 0x63 0x65 0x30 0x39

b.分布式安全网络的全局秘钥

Distributed security global link

key (0:15) =0xd0 0xd1 0xd2 0xd3 0xd4 0xd5 0xd6

0xd7 0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf

c.由安装码得到的预配置秘钥

Install code derived preconfigured

link key(6/8/12/16字节任意值)= 安装码+CRC(2字节)->Hash散列函数->128位的Link Key

此外,如果设备支持touchlink 的入网方式,还需要包含以下秘钥:

d. touchlink 预配置秘钥

Touchlink preconfigured link key

(0:15) = 0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc6

0xc7 0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf

安装码的使用

所有ZigBee 3.0的设备都需要支持安装码,Trust Center 可能要求所有设备以安装码的方式入网

        a.非零售需要专业人员安装的ZigBee设备,可能配置为使用安装码的方式加网

        b.零售的需要用户去配置的ZigBee设备,用户可以通过物理按键切换以下两种模式:只让使用安装码入网的节点入网的模式和使用其他所有方式入网的模式

        c.零售的不需要用户配置的ZigBee设备应该能够自动加网

Commissioning

所有设备需要支持network steering(网络控制) 机制,以及finding & binding 机制


      a.Network steering:所有ZigBee设备都需要支持network steering 机制


      b.Network formation:设备建立网络的能力,其安全模型取决于ZigBee的设备类型:Coordiantor(集中式安全模型网络),Router(分布式安全模型)


      c.Finding & binding :定位和绑定其他节点上的应用Cluster的能力


      d.Touchlink commissioning :支持基于靠近的commissioning 方式,若支持touchlink commissioning方式,必须支持touchlink 为a initiator or a target or both 。

 对所有ZigBee3.0设备的必须满足的要求

a.ZDO discovery service commands :

Active_EP_req,Node_Desc_req,Simple_Desc_req,IEEE_addr_req, NWK_addr_req,Match_Desc_req,

Active_EP_rsp ,Node_Desc_rsp,Simple_Desc_rsp,IEEE_addr_rsp,NWK_addr_rspandMatch_Desc_rspcommands

b.ZDO node manager service commands :

Mgmt_Bind_req, Mgmt_Lqi_req

Mgmt_Bind_rspand,Mgmt_Lqi_rspcommands

c.ZDO binding table service commands :

Unbind_req ,Bind_req

Bind_rsp,Unbind_rsp

d.ZDO network manager service command :

Mgmt_Leave_req

Mgmt_Leave_rsp

    e.一个ZigBee节点在finding & binding 的时候去广播Identify Query ,至少能够处理一个Identifycluster的Identify Query Response 命令,如果能处理多个Identify Query Response 命令,需要进行特殊处理

    d.一个节点如果是finding

& binding的发起者,其绑定表大小必须大于等于Cluster的实体数量,在finding

& binding, touchlink 或者centralized

commissioning 的时候完成绑定表配置的,不管是哪种生成的绑定表,都必须保持一致,才能够通过Mgmt_Bind_req  命令获取其内容

    f.对于一个节点的每个强制的可报告的属性实体都必须要有默认的report配置

 默认的 reporting 配置

   一个可报告的属性实体都有默认的report配置(最大报告间隔为0x0000或者0x003d~0xfffe),一个已绑定的cluster之间需要发送report,需要支持随时更新配置report。当两次报告的间隔等于最大报告间隔时需要产生report,如果最大报告周期设置为0,那个不会产生周期性的report,但是任然可以在属性值改变后产生report

 MAC data polling

   BDB文档对Mac层的Poll频率不做限制

   poll的频率应该是可以根据节点的状态进行动态调节的,推荐使用短poll和长poll,ZigBee父节点为自己子节点缓存的数据生命期只有7.5s,因此睡眠终端设备的poll频率应该比7.5s/次快才能确保拿到自己的数据。

    如果EndDevice节点在等待reponse消息的时候,它必须使用短poll间隔,至少3s/次。

    如果没有等待的消息可能需要使用长poll间隔,如一小时一次,来确保与父节点的连接可用

    在ZigBee加网和finding &

binding 的阶段,睡眠终端设备必须使用短poll间隔

ZigBee 永久数据

     设备重启依然需要保存之前的bdbNodeIsOnANetwork属性

GreenPower

    ZigBee 3.0的Router和Coordiantor必须支持Green Power(endpoint 242),EndDevice类型的设备需要根据硬件设计来选择是否支持Green

Power。

Network Steering

ZigBee 3.0的设备加网时,会依次用Install code

derived preconfigured link key、Default global

Trust Center link key 、Distributed

security global link key和Touchlink

preconfigured link key(如果支持Touchlink的加网方式)扫网加网,每次先扫描主信道(非wifi重合信道)再扫描次信道(余下的),而且起始的通道号是随机产生的;这个过程叫Network Steering。


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容