ZigBee3.0_JENNIC-JN516x-ZigBeeBaseDevice_20170605_1.1

来源:互联网 发布:网络营销策划方案例文 编辑:程序博客网 时间:2024/06/10 01:47


1.2.1 Touchlink

第一次将新设备加入网络的过程叫做:commissioning[1].

  1. Touchlink commissioning可以用来重建一个新网络或者加入把节点加入现存网络。
  2. 初始化Touchlink的节点叫做initiator(发起者),可能成为网络的一员或者新建一个网络。
  3. initiator会将第二个节点加入网络,称为target

Touchlink作为一个cluster放在ZCL里。

  1. Initiator必须作为client支持touchlink clustertarget必须作为server支持touchlink cluster
  2. Touchlink commissioning通过 ZigBee Base Device attributeu8bdbCommissioningMode来使能。
  3. Touchlink pre-configured link key用来加密网络;

如果Touchlink commissioning没有成功,attributeebdbCommissioningStatus返回NO_SCAN_RESPONSE

 

1.2.2 Network Steering

Network Steering能使local node加入一个已经存在的网络或者允许其他node通过local node加入网络。

  1. 通过u8bdbCommissioningMode使能Network Steering
  2. application中,直接调用BDB_eNsStartNwkSteering()
  3. AttributebbdbNodeIsOnANetwork决定pathPROBLEM1
  4. 所有的结果通过event送到APP_vBdbCallback()

PROBLEM1

Node is already in a network

  1. node已经在网络里,在固定时间内broadcast(广播)Management Permit Joining request,让其他节点加入网络。
  2. 默认时间为180s通过constantBDBC_MIN_COMMISSIONING_TIME设置。
  3. 完成后,生成BDB_EVENT_NWK_STEERING_SUCCESS事件。

 

Node is not in a network

node不在网络里,作为router或者 end device,会尝试加入网络:

  1.  
    1. 执行network discovery,扫描u32bdbPrimaryChannelSet指定的网络;
    2. 没有,扫描u32bdbSecondaryChannelSet的网络;
    3. 还没有,产生BDB_EVENT_NO_NETWORK事件,终止Netwrok Steering
  2.  
    1. 如果发现网络,尝试加入网络one by one直到BDBC_MAX_SAME_NETWORK_RETRY_ATTEMPTS指定的次数;
    2. 如果加入成功,attributebbdbNodeIsOnANetwork = TRUE(由stack完成)。
    3. 如果join primary channels不成功,重复(1)的secondary channels
    4. 还没有,产生BDB_EVENT_NWK_JOIN_FAILURE事件,终止Network Sterring
  1.  
    1. Joining node is authenticated(认证)。如果网络有centralised securitytrust center,会更新link key。有问题,生成BDB_EVENT_NWK_JOIN_FAILURE事件。
  2.  
    1. 完成上面的过程后。The joining node通过设置BDBC_MIN_COMMISSIONING_TIME请求延长'permit joining' time 产生BDB_EVENT_NWK_STEERING_SUCCESS事件。

 

1.2.3 Network Formation

Co-ordinator or router能创建网络。

  1. Co-ordinator will form a centralised security network and activate its Trust Centre fucntionality.
  2. Router will form a distributed security network.
  1. 设置u8bdbCommissioningMode使能Network Formation
  2. 在应用程序中调用BDB_eNfStartNwkFormation()

 

  1. Node根据u32bdbPrimaryChannelSet创建一个独立PAN IDcentralised or distributed network
  2. 如果不行,根据u32bdbPrimaryChannelSet去创建。
  3. Router创建网络中:
    1. Channel scans会覆盖相关设置中的所有channels
    2. MacroRAND_CHANNEL = TURE会随机选择一个通道。
    3. MacroRAND_DISTRIBUTED_NWM_KEY should = TRUE来随机选择一个network key
    4. 随机分配PAN ID and Extended PAN ID
    5. 随机分配16-bit network address
  4. 成功建网,生成BDB_EVENT_NWK_PROMATION_SUCCESS事件(APP_vBdbCallback()),否则返回BDB_EVENT_NEW_FORMATION_FAILURE事件。

 

 

Refrence:

[1]http://cs.emis.de/LNI/Proceedings/Proceedings256/229.pdf

[2]http://blog.csdn.net/zl374216459/article/details/70207704


原创粉丝点击