你好,ZigBee Sleep End Device在rejoin时,也有方法减低rejoin过程中的平均电流的。
ZSED在rejoin时,默认是全信道扫描的,可以修改rejoin时只扫描当前网络的信道,从而实现大大降低功耗。
ZED的rejoin分两种情况,一是ZED复位时,二是ZED丢失父节点的情况。
第一种情况请参考:https://www.sekorm.com/news/48143400.html;
第二种情况修改将end-device-move.c文件中emberAfPluginEndDeviceSupportMoveNetworkEventHandler函数
更改成 const uint32_t channels = 0;
void emberAfPluginEndDeviceSupportMoveNetworkEventHandler(void)
{
// const uint32_t channels = (state->moveAttempts == 0 // ? 0 // current channel // : EMBER_ALL_802_15_4_CHANNELS_MASK); //更改成 const uint32_t channels = 0;
}