版权声明:Copyright © 2018 DesiLuo. All rights reserved. https://blog.csdn.net/up5201314/article/details/86534430
针对Simplicity Studio 4,EmberZNet协议栈Zigbee3.0设备入网时间提速
Platform:Simplicity Studio 4、EmberZNet SDK 6.4.1.0
【SPP】Content:
1.设置开始扫描状态
由于zigbee3.0拥有4种入网方式,
enum {
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_NONE = 0x00,
// These next two states are only run if explicitly configured to do so
// See emAfPluginNetworkSteeringSetConfiguredKey()
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_CONFIGURED = 0x01,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_CONFIGURED = 0x02,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_INSTALL_CODE = 0x03,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_INSTALL_CODE = 0x04,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_CENTRALIZED = 0x05,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_CENTRALIZED = 0x06,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_DISTRIBUTED = 0x07,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_DISTRIBUTED = 0x08,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_FINISHED = 0x09,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_UPDATE_TCLK = 0x10,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_VERIFY_TCLK = 0x20,
};
设备上电会按照这个四种方式轮询扫描入网,而一般设备都采用集中式入网(CENTRALIZED)方式入网,故首先设置开始扫描方式为集中式,协议栈默认设置为EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_INSTALL_CODE,即二维码优先码信道扫描方式
emAfPluginNetworkSteeringState = gUseConfiguredKey
? EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_CONFIGURED
: EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_INSTALL_CODE;
修改emAfPluginNetworkSteeringState = EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_CENTRALIZED;
2.修改最后扫描状态
协议栈默认为
#define LAST_JOINING_STATE \
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_DISTRIBUTED
修改为#define LAST_JOINING_STATE \
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_CENTRALIZED