This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Zigbee设备组网及绑定问题?

1.常规组网的网络信息如何存储的?

一般的Zigbee设备组网流程是协调器组建网络,路由或者终端节点加入网络,然后进行数据通信。当开启NV_RESTORE时,网络中的各个节点会自动互相绑定吗?网络信息是存储在协调器的flash中了,还是存储在每个设备的flash中?在程序中查看哪个变量可以知道存储的网络信息呢?用户如何自行添加或删除这些信息?

2.不组网只绑定是否能进行有效无线通讯?

在一些应用中不需要复杂的网络管理,只需要某几个设备能互相发送数据(但是要保证同时发送数据时不能因为冲突而丢包,且绑定后数据通信不受其他未参加绑定设备影响)。比如:在下载程序时将多个模块都下载终端节点的程序,初次上电后让各个模块互相绑定,将绑定信息保存在flash中。那么以后使用时这写终端节点互相识别,这样各个模块在通信功能上能力就时平行的。不用必须指定一个设备为协调器。这个想法能实现吗?

刚开始接触Zigbee,有些基础知识理解的不太清楚,请有经验的小伙伴指导一下,非常感谢!

  • 1、开启NV store以后会保存网络信息,设备重启以后可以自动重新入网。存储在flash中。可以通过SNV的函数进行操作,网络信息的删除:
    application wants to delete the stored NV information It just needs to set the ZCD_NV_STARTUP_OPTION as explained below and do a reset. 

    "If the application would like to force a "new" join, the application should set the ZCD_STARTOPT_DEFAULT_NETWORK_STATE bit in the ZCD_NV_STARTUP_OPTION NV item before calling this function. "New" join means to not restore the network state of the device. Use zgWriteStartupOptions() to set these options 

    [zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);]

    2、需要加入网络才能进行通讯,也就是需要一个协调器
  • 非常感谢您的解答!还有一些小问题想请您帮忙再看一下。
    1.开启NV_RESTORE以后保存网络信息的这个过程叫做绑定吗?
    2.开启NV_RESTORE以后协调器和终端节点都会保存网络信息吗?保存了哪些信息呢,PANID,16位短地址,还有其他的什么信息呢?
    3.如果协调器和终端节点都保存了网络信息,它们保存的位置是否相同?具体保存到哪里了?对应哪个变量呢,绑定表(BindingTable[];),关联表,还是其他的?
  • 1、不是,这是两个事情,绑定了如果没开启nv_restore,设备掉电以后这些信息不会保存
    2、主要是PANID及绑定表的信息
    3、都是保存在flash中
  • 非常感谢您的解答!还有最后一个问题。
    在调试过程中如何查看这些保存在flash中的网络信息呢?比如,通常需要查看某个变量的变化时,可以把它添加到watch窗口。
  • 可以查看BindingTable
  • 非常感谢您的解答!