终端设备如何判断协调器是否在线?
时间:10-02
整理:3721RD
点击:
我在 case ZDO_STATE_CHANGE:中通过判断DEV_NWK_ORPHAN这个状态来识别协调器是在线,但是当我的协调器断电之后,它并没有及时触发DEV_NWK_ORPHAN,而是当我终端设备发送几条消息给协调器后,这个DEV_NWK_ORPHAN才会被触发,所以想问:
1.终端设备不是会定时发送data request的吗?所以它应该很快的触发DEV_NWK_ORPHAN才对啊,而不是等我主动去给协调器发消息才能触发
2.有没有其他方法来及时判断协调器是否在线?(除了定时给协调器发送心跳包这个方法)
3.谢谢!
点对点的话,您可以在应用层可以判断_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;
嗯嗯,具体应该是怎么设置的呢?
具体怎么实现呢?