ZigBee 3.0 EmberZNet EFR32MG 学习笔记-8-Network Creator流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21352095/article/details/83089846

转载请注明出处,谢谢!

Newbit-Msming 2018-10-16

ZigBee 3.0 EmberZNet EFR32MG 学习笔记-目录
ZigBee 3.0 EmberZNet EFR32MG 学习笔记-8-Network Creator流程

环境:Windows 10、Simplicity Studio 4

SDK: EmberZnet SDK 6.4.0.0

工程:新建

  1. 在.isc文件为工程添加Network Creator插件。

  2. 调用这个函数建立集中式或者分布式网络:

	emberAfPluginNetworkCreatorStart(bool centralizedNetwork)

函数里设置了信道掩码:

	EMBER_AF_PLUGIN_NETWORK_CREATOR_CHANNEL_MASK 0x02108800

分别是:25,20,15,11。

  1. 调用上述函数后自动扫描网络和信道:scheduleScans(),可以改动的参数有扫描间隔,默认是:
	EMBER_AF_PLUGIN_NETWORK_CREATOR_SCAN_DURATION 4

然后开始扫描:
a) EMBER_ACTIVE_SCAN
b) EMBER_ENERGY_SCAN
扫描类型:

    /** An energy scan scans each channel for its RSSI value. */
    EMBER_ENERGY_SCAN,
    /** An active scan scans each channel for available networks. */
    EMBER_ACTIVE_SCAN,
    /** A fake scan that is used to turn off the radio. */
    EMBER_START_RADIO_OFF_SCAN,
    /** A green power channel delivery scan. */
    EMBER_STACK_GP_CHANNEL_DELIVERY_SCAN,
    EMBER_LAST_SCAN_TYPE = EMBER_STACK_GP_CHANNEL_DELIVERY_SCAN
  1. 扫描完成后,跳到:
    scanHandler(EmberAfPluginScanDispatchScanResults *results)
    handleScanComplete(EmberAfPluginScanDispatchScanResults *results)
  1. 然后根据扫描的结果尝试建立网络:
	tryToFormNetwork(void)

如果建网成功,可以在:

	emberAfPluginNetworkCreatorCompleteCallback();

查看网络参数。

  1. 如果只是想在一个信道建立网络就不用扫描信道了,直接可以使用:
    emberAfPluginNetworkCreatorNetworkForm(boolcentralizedNetwork,
                                                   EmberPanId panId,
                                                   int8_t radioTxPower,
                                                   uint8_t channel),

指定网络模式,节点地址,功率,信道建立网络。

  1. 常驻:NewBit Studio

猜你喜欢

转载自blog.csdn.net/qq_21352095/article/details/83089846