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.

cc2530 ZStack-CC2530-2.3.0-1.4.0终端节点如何判断与协调器断开连接.

Other Parts Discussed in Thread: CC2530

hi 大侠们:

如题,网络中只有协调器和一个终端,终端要如何得知它与协调器之间的连接已断开?

具体应用是想用zigbee控制玩具小车。小车上装有cc2530,它与协调器断开连接后要停止前进。

断开连接有2种情况:

1.小车跑出有效范围

这个似乎可以让小车不断的给协调器发请求,然后判断RSSI值来计算是否超有效范围。

2.协调器断电了

我用网蜂的板子试了下,协调器断电后,终端的黄色组网灯就会闪烁,终端是怎么知道协调器断电的?应用层要怎么捕获这个事件?

谢谢!!

  • 2.协调器断电了

    找到了一点小线索,刚刚试了下在应用层可以判断_NIB.nwkState的值。

    终端入网后值为4,协调器关闭后终端的nwkState会变1次0,然后持续为2,

    再把协调器打开时,终端的nwkState会变1次9,然后持续为4。

    还不知道通过_NIB.nwkState来判断连接断开与否,是否准确。

  • 如果只有点对点的话就没有问题

    节点状态的值:

    typedef enum
    {
    NWK_INIT,
    NWK_JOINING_ORPHAN,
    NWK_DISC,
    NWK_JOINING,
    NWK_ENDDEVICE,
    PAN_CHNL_SELECTION,
    PAN_CHNL_VERIFY,
    PAN_STARTING,
    NWK_ROUTER,
    NWK_REJOINING
    } nwk_states_t;

    如果是4的话,代表节点入网成功,是end device设备。