背景:
如您所知,当前Zigbee联盟仅对Zigbee 3.0设备进行认证,一些客户熟悉HA1.2网络,但是对于Z3.0网络,存在许多差异。本文讨论的是如何使用EmberZnet堆栈形成Z3.0网络。希望它对一些开发Z3.0设备的初级Zigbee工程师有所帮助。
在谈论Z3.0网络之前,让我们快速回顾一下HA1.2网络。设置HA1.2网络很容易,尤其是Silicon实验室提供了许多可以方便使用的CLI命令。以下是示例:
1.对于HA1.2网络
在协调器上,如果要在给定的通道,电源和Pan ID上形成网络,则可以使用以下CLI命令:
// Form HA1.2 network on coordinator
>> network form [channel:1] [power:1] [panId:2]
eg:
>> network form 12 3 0x1234
如果要搜索未使用的通道和Pan ID,并在找到的第一个未使用的通道和Pan ID上自动形成网络,则可以使用以下CLI命令。
// Form HA1.2 network
>> network find unused
网络形成后允许加入。
// Permit joining
>> network pjoin [time:1]
eg:
>> network pjoin 200
在路由器或终端设备上,如果要加入网络,可以使用以下CLI命令。
// Joining a network
>> network join [channel:1] [power:1] [panId:2]
eg:
>> network join 12 3 0x1234
2.对于Z3.0网络
Zigbee联盟在docs-13-0402-13-00zi-Base-Device-Behavior-Specification.pdf中指定了Z3.0网络的详细信息,如果任何客户是Zigbee联盟的成员,都可以在Zigbee网站上下载此文件。
首先,您应该了解Z3.0网络中的集中式网络和分布式网络之间的区别。
集中式安全网络:
集中式安全网络是由ZigBee协调器与信任中心一起形成的ZigBee网络。加入此类网络的每个节点都必须先通过信任中心进行身份验证,然后才能在网络上运行。
分布式安全网络:
分布式安全网络是由ZigBee路由器组成的ZigBee网络,它没有信任中心。加入此类网络的每个节点都必须先由其父节点进行身份验证,然后才能在网络上运行。
然后,让我们使用CLI命令形成Z3.0网络。如果要形成Z3.0网络,可以使用以下CLI命令:
// Form Z3.0 network.
>> plugin network-creator form [centralized:1] [panId:1] [radioTxPower:1] [channel:1]
//Form centralized network.
>> plugin network-creator form 1 0x1234 3 12
//Form distributed network.
>> plugin network-creator form 0 0x1234 3 12
如果要搜索未使用的Channel和Pan Id,并在找到的最佳未使用Channel和Pan Id上自动形成网络,则可以使用以下CLI命令。
// Form Z3.0 network.
>>plugin network-creator start [useCentralizedSecurity:1]
//Form centralized network.
>> plugin network-creator start 1
//Form distributed network.
>> plugin network-creator start 0
网络形成后开放网络。如果执行此CLI命令的详细实现,它将设置TC策略并打开网络,但还会将众所周知的密钥放入过渡密钥表中。
// open network
>> plugin network-creator-security open-network
如果要加入路由器或终端设备的网络,可以使用以下CLI命令:
//option = 0 means the device will update TCLK after joining centralized network succeed,
//otherwise it won’t.
>> plugin network-steering start [options:1]
// Update TCLK after joining network succeed.
>> plugin network-steering start 0
请注意,对于路由器设备,一旦无法加入集中式网络,它将形成分布式网络。
总之,您可以使用上述CLI命令来设置Z3.0网络,同时,我们在堆栈中有Z3Gateway / Z3LightSoc / Z3SwitchSoc示例,您可以构建这些示例来快速进行测试。如果要获取有关CLI命令实施的更多详细信息,请参阅插件中的源代码(Network Creator / Network Creator Security / Network Steering / Update TC Link Key)。