【经验】Silicon Labs ZigBee终端节点(End Device)重入网络失败后的处理方法
此前我们有专门介绍过终端节点在无法与父节点联系以后,EmberZnet默认代码是偿试重新联系父节点,以及重入网络的流程,一旦重入网络失败,则将进入SLEEP模式,如果应用不需要进入长时间的低功耗,而是另有安排时,则需要自己另外补写代码来完成目标工作。本文以一个简单的例子来说明增写代码的方法。
ZigBee重入网络失败后的行为是可以自行定义的,因此协议栈只提供了休眠这个比较普遍适用的代码,如果产品在被动地与网络断开后,并不是期望进入休眠,就需要开发者自行定义了。在EmberZnet中,通过填写回调函数可以实现这一目的。
首先,我们要找到终端节点掉网后会触发的回调函数。通过阅读代码,可以判断该回调函数的名称是:emberAfPluginEndDeviceSupportPreNetworkMoveCallback()
通过在IAR中进行仿真,可以看到调用的关系如下:
函数调用层级关系如下(灰色部分代码不可见):
emberAfMain()
emberTick()
emMacPacketSendCompleteCallback()
emNetworkTransmitComplete()
emAfPollCompleteHandler()
emberAfStartMoveCallback()
emberAfPluginEndDeviceSupportPreNetworkMoveCallback()
进一步阅读代码可以了解到, 在Polling的过程中,返回结果为:“应答”的情况下(EMBER_MAC_NO_ACK_RECEIVED)就是出现了与父节点失去连接。并且在最后一层调用就到了协议栈留出的自定义回调函数。
协议栈的自定义回调函数设计准则是,如何返回值为true,表示该部分自行处理,且处理流程在函数内部结束,函数返回时,协议不会有任何后续的处理。返回为false,则表示用户没有处理,或者希望保留协议栈默认的处理流程作为目标流程的延续。
下面的代码是回调函数的调用环境范例:
bool emberAfStartMoveCallback(void)
{
// The consumer of the emberAfPluginEndDeviceSupportPreNetworkMoveCallback
// callback is given a chance to not issue a network move
if (false == emberAfPluginEndDeviceSupportPreNetworkMoveCallback()) {
if (!emberAfMoveInProgressCallback()) {
scheduleMoveEvent();
return true;
}
}
return false;
}
至此,我们所有的准备工作已经完成,本例中我们要实现设备不停的重新入网,则该回调函数可以写为:
#define REJOIN_DELAY_QS (10 * 4) // 10 Seconds
extern EmberEventControl emberAfPluginEndDeviceSupportMoveNetworkEventControls[];
bool emberAfPluginEndDeviceSupportPreNetworkMoveCallback(void)
{
static uint16_t rejoinAttempts = 0;
emberAfNetworkEventControlSetDelayQS(emberAfPluginEndDeviceSupportMoveNetworkEventControls,
(rejoinAttempts == 0
? 0
: REJOIN_DELAY_QS));
emberAfAppPrintln("Rejoin... %d", rejoinAttempts);
rejoinAttempts++;
if ( rejoinAttempts > 0xFFFE )
rejoinAttempts = 1; // restart form 1 when overflow
return true; // 重入网的流程自行控制,不再由协议栈管理。
}
经过测试, 这家设备在与父节点失去连接后,会自行重新入网,直到重回网络。
世强代理SILICON LABS推出的EFR32MG13系列无线通信芯片,可以支持ZigBee, Ble等低功耗协议,内部有Cotex-M4 内核(40MHz), 以及支持多路GPIO, 极低的休眠功耗(2uA), 较小的封装(5mmx5mm),极高的射频发射功率(19.0dBm),配合PI公司电源芯片LNK3202D可以实现单火开关,并且支持多个协议。如果需要观看demo演示或者购买评估套件请联系世强。
扩展阅读:
- |
- +1 赞 0
- 收藏
- 评论 3
本文由南城月提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
Zigbee智能网关定制开发指南(二):Zigbee网关测试
本文详细介绍了Zigbee智能网关的定制开发过程,着重分析了其核心的测试流程和关键的技术指标,包括灵敏度、发射功率和EVM性能等,并用东胜Zigbee网关测试实践辅助说明。
【经验】借助wireshark 来调试zigbee网络
在开发zigbee设备的过程,通常要使用zigbee sniffer , 目前可以用的工具比较多,包括TI, Silicon Labs都有自己的工具,不过还有一个开源工具做的非常优秀,特别在此推荐给大家,它可以对数据包进行规则着色,在设计的过程中会更加直观。
【经验】Silicon Labs Zigbee 芯片 如何修改 MAC 地址
在 Zigbee 网络中,可以使用 Zigbee MAC 地址(长地址)来区分不同的设备,这个地址是全球唯一有的,通常由芯片供应商提供,固化在 eeprom 中;Silicon Labs 提供的 Zigbee 芯片在出厂时已经预烧录了 IEEE EUI64 地址,放在芯片的 flash 中,不可修改和擦除。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
智能家居的核心连接者——天工测控WiFi模块SKW95功能特点全解
本文天工测控来给大家分享Wi-Fi模块SKW95的特点和功能,从芯片处理能力、工作模式、接口丰富度、无线通信性能、无线安全和硬件参数等方面进行了全面说明,强调了其为智能家居系统提供稳定、高效、安全无线通信连接的重要性。
深圳物联网展观察:Matter&Zigbee双模参考设计助力提升市场采用率
在甫于上周圆满落幕的深圳物联网展中,Silicon Labs(亦称“芯科科技”)参与连接标准联盟(Connected Standard Alliance)的联合展台并展出基于MG26无线多协议SoC的Matter &Zigbee Concurrent参考设计,助力企业轻松应对市场变革,并持续拓展Matter标准在市场上的能见度和采用率。
【选型】ZigBee Soc芯片EM3585与EFR32MG21(Serial 2)参数对比
自2013以来,Silicon Labs(原Ember)推出了EM35x系列,这个方案凭借极好的协议栈运行稳定性,在大量产品中得到应用。2019年EFR32MG Serial 2推出后,在性能与价格方面都体现出具大的优势。加之许多原来在用EM3585,EM357的产品也遇到了一些供应和维护的困难,在进行产品升级或者降成本两个方面考虑,都会遇到选型困难,希望本文可以可以帮助大家了解到ZigBee芯片
【应用】基于EFR32MG21作为zigbee接入单元和SGM2205作为电源转换芯片设计的智能家居zigbee网关产品
笔者有参与一款智能家居zigbee网关产品研发,zigbee单元基于芯科科技最新Gecko系列2高性价比EFR32MG21A020F512IM32-B芯片设计,WiFi单元基于专注于物联网应用的乐鑫ESP32-DOWD芯片设计,并选用圣邦微SGM2205-ADJXTDB8G/TR电源芯片实现5V转3.3V为zigbee和WiFi芯片供电。
请问如何实现智能家居的语音控制联动?
可以采用语音AIOT方案,即使用智能语音芯片进行语音功能控制,同时增加WiFi、zigbeeg等无线模块进行设备间互联,实现用语音控制所有连接的智能家居设备。
【产品】地芯科技推出2.4GHz/5.8G RF FEM芯片,适用于智能家居、工业自动化等领域
射频前端芯片产业在我国也已经有了15年以上的发展历史,是市场和资本高度关注的领域。在此大背景下,本文将主要给大家介绍地芯科技主推的几款RF FEM芯片,在欧美日IDM大厂先发优势明显的情况下,打破格局,给大家提供更多的国产方案选择。
【应用】支持PTA共存机制的WIFI、ZigBee、BlueTooth和4G多协议智能家居网关应用方案
早期的多协议智能家居网关大多不支持共存机制,在拥挤的2.4GHz频段中,存在着相互干扰的问题,影响通讯效果。为解决上述问题,本方案采用支持PTA共存机制的WIFI、ZigBee、BlueTooth的SOC芯片和全网通4G模块,并搭配高性价比的电源和高精度晶振,实现支持共存机制的多协议智能家居网关应用方案。
蓝牙全波段SoC芯片,智能家居和物联网的关键驱动力
蓝牙全波段SoC芯片是现代无线通信技术中的一项重要创新,它集成了蓝牙通信所需的全部功能,并在一个芯片上实现了全波段的覆盖。这种高度集成的芯片为蓝牙设备的开发和制造带来了极大的便利,同时也为用户提供了更加稳定、高效的蓝牙连接体验。
Zigbee系统包含几大模块?
Zigbee系统包含模块有:1、ZigBee网络节点,包含End Device/Router;2、ZigBee网关,带有WIFI/以太网的接口,是ZigBee网络和云端、Internet、手机连接的桥梁,里面包含有ZigBee芯片,作为Coordinater;3、云端/Web Server;4、手机APP。
【应用】东胜DSGW-030网关支持双Zigbee模块,提供智能家居网关更全面和强大连接功能,信号不受干扰
东胜为客户提供全面且具有成本效益的解决方案,包括Zigbee智能网关。在DSGW-030外形的基础上,将主芯片调整为MTK7628(MIPS24KEc(580MHZ)),并重新设计了PCBA。另外,Zigbee智能插座也可供选择.这款网关不仅支持双Zigbee模块,还充分利用了主芯片内置的2.4GHz Wi—Fi功能,在连接方面功能更全面、更强大,同时又不会让信号受到干扰。
双模SOC蓝牙技术:智能家居与物联网的理想选择
在无线通信技术迅猛发展的今天,双模SOC蓝牙技术以其独特的双模特性和高度集成化的优势,正逐渐成为市场的新宠。双模SOC蓝牙,顾名思义,是指能够同时支持经典蓝牙和低功耗蓝牙(BLE)两种模式的系统级芯片(SOC)。这种技术的出现,不仅为用户提供了更多的连接选择,还进一步拓宽了蓝牙技术的应用场景。双模SOC蓝牙技术的核心在于其能够灵活切换两种蓝牙模式,以满足不同的通信需求。
电子商城
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥15.3301
现货: 2,800
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,128
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制TX线圈的尺寸/形状/特性参数,Q的最小值为90,最大值为120,符合WPC和Qi标准。电感的最小值、典型值、最大值依次为21.6μH、24.0μH、26.4μH,偏差为10%.DCR(最大值)为75mΩ。
最小起订量: 1000 提交需求>
可定制玻璃钢天线的工作频段:100MHz-40GHz;工作温度:-40℃~85℃;增益:2dBi-50dBi;尺寸范围:100mm~30000mm。
最小起订量: 100pcs 提交需求>
查看全部1条回复