【经验】如何基于EFR32MG21 Zigbee协议栈的事件机制在Switch节点上设定事件?
Zigbee应用框架及其关联的cluster 代码通过利用Zigbee协议栈事件机制来设定事件,从而可以在指定的时间间隔运行某段代码。对于更上层,事件机制提供了一个集中入口,所有周期性的动作都可以被用户输入、无线指令或者设备初始化来触发或者取消。这个机制使得Zigbee应用框架能够准确的知道下一个周期性动作将在何时触发。对于需要准确知道何时必须醒来以执行某些操作的睡眠设备,或者由于某些事件正在进行而无法休眠的睡眠终端设备,尤为重要。使用Zigbee事件机制的另一个好处是减少了RAM和Flash占用空间。
Zigbee应用框架的事件有两种类型:自定义事件和cluster事件。自定义事件由用户创建,并且可以在应用程序中随意使用。cluster事件由Zigbee应用框架插件中的cluster实现方式决定。
自定义事件包括两部分:事件处理函数(在事件触发时调用)和EmberEventControl结构体(用于设定事件)。Zigbee应用程序框架和AppBuilder提供了一个图形化界面,用于创建自定义事件并将其添加到应用程序中。本文介绍基于SILICON LABS的Zigbee SoC EFR32MG21 Zigbee协议栈的事件机制在Switch节点上设定事件。
步骤1:创建自定义事件
AppBuilder提供了一种向应用程序添加任何自定义事件的方法。
基本来说,需要两点:
事件控制器–事件的结构体
事件处理程序–事件触发函数
打开AppBuilder - > Includes 选项卡。将自定义事件命令ledBlinkingEventControl和回调函数ledBlinkingEventHandler分别添加到 Event Configuration窗口。
第2步:启用MainInit回调 事件应当在代码中的某个位置被启用,我们可以在应用程序开始的位置调用相应的函数将其启用。Main Init回调函数将被应用程序的*main()*函数调用,它使应用程序有机会在系统启动时进行所需的任何初始化。可以把它理解为 “ main()”函数里面在while(true) ” 前面的函数。
双击Zigbee_Switch_ZR.isc文件以使用AppBuilder打开它,然后在AppBuilder的“Callbacks”选项卡中启用此回调。
保存并点击”Generate”生成项目。
步骤3:设定事件
如前所述,回调函数emberAfMainInitCallback()应被添加到Zigbee_Switch_ZR_callbacks.c文件中并设定事件。
相关代码段应类似于以下内容。
// Using-event: Step 3
EmberEventControl ledBlinkingEventControl;
void emberAfMainInitCallback(void)
{
emberEventControlSetDelayMS(ledBlinkingEventControl, 5000);
}
void ledBlinkingEventHandler(void)
{
// First thing to do inside a delay event is to disable the event till next usage
emberEventControlSetInactive(ledBlinkingEventControl);
halToggleLed(1);
//Reschedule the event after a delay of 2 seconds
emberEventControlSetDelayMS(ledBlinkingEventControl, 2000);
}
需要注意的一点是,应在事件触发函数开始执行后立即将其设置为非活动状态,并在执行完成后重新设定事件。
4. 测试项目
编译应用程序,然后将image烧录到基于EFR32MG21的Zigbee Switch设备。按下WSTK上的Reset(复位)按钮,将会看到板上的LED1在延迟几秒钟后打开,然后以2s的间隔闪烁。
- |
- +1 赞 0
- 收藏
- 评论 1
本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
设计经验 发布时间 : 2020-04-09
【经验】如何使用railtest测量EFR32MG Zigbee SoC性能?
许多公司正在调研或已经研发Silicon Labs的EFR32MG Zigbee SoC的Zigbee方案,那么怎么来进行EFR32MG的性能测量呢?本文介绍使用railtest固件测量EFR32MG性能指标的方法。
设计经验 发布时间 : 2020-04-02
【经验】EFR32MG SoC ZigBee开发Manufacturing Library的CLI使用详解
Manufacturing Library是Silicon Labs针对ZigBee开发提供的嵌入式软件测试工具,可以嵌入到用户的应用程序中。对于产品量产测试时,无需下载多次程序和多个BootLoader,只需要通过串口输入CLI命令,就可以直接进入测试模式,大大缩短测试步骤和时间。并且此Library占用非常少的代码空间,目前它占用的空间低于500 Bytes。
设计经验 发布时间 : 2018-05-10
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 立即选型
2.4GHz无线SoC MG21助力开发SONOFF微型Zigbee USB智能适配器支持路由和快充
SILICON LABS近日宣布,其EFR32MG21(MG21)2.4GHz无线SoC获SONOFF公司选用于开发新型“ZBMicro”智能开关。该产品是SONOFF最新的微型Zigbee USB智能适配器,也是智能家居技术领域的开创性产品。从作为USB设备的智能开关到作为Zigbee路由器和支持快速充电的功能,ZBMicro提供了无与伦比的用户体验,提升了现代智能家居的连接性和便利性。
原厂动态 发布时间 : 2024-08-17
技术问答 发布时间 : 2024-07-15
【经验】多协议SoC EFR32MG21 Zigbee休眠节点不进入EM2模式的处理方法
用户在使用多协议SoC EFR32MG21/22的Zigbee休眠节点功能时经常会遇到程序正常运行后达不到预期的低功耗效果,工作电流还有2到3个毫安,无法降到几个微安,下面介绍正确处理休眠节点程序的方法。
设计经验 发布时间 : 2022-12-30
【经验】基于芯科科技多协议SOC EFR32MG21的ZigBee设备重复入网、离网功能的实现
在使用芯科科技多协议SOC EFR32MG21做ZigBee设备时,为了测试ZigBee网络的性能,我们有时需要让设备持续的入网、离网,看网络的稳定性,与可靠性。
设计经验 发布时间 : 2022-09-28
芯科科技提供行业领先的集成度较高、功能完善且技术资源丰富的Zigbee多协议解决方案
芯科科技提供行业领先的Zigbee多协议解决方案,是OEM在将Zigbee网络设计到其产品中时的首选供应商。我们针对802.15.4标准所打造的Zigbee开发平台是市面上集成度较高、功能完善且技术资源丰富的理想解决方案,主要的MG2x多协议SoC和模块系列产品基于 Arm® Cortex®处理器内核和 2.4 GHz收发器,结合可靠并可扩展的先进软件,并由行业出色的开发工具提供全方位的设计支持。
产品 发布时间 : 2023-12-29
【选型】ZigBee Soc芯片EM3585与EFR32MG21(Serial 2)参数对比
自2013以来,Silicon Labs(原Ember)推出了EM35x系列,这个方案凭借极好的协议栈运行稳定性,在大量产品中得到应用。2019年EFR32MG Serial 2推出后,在性能与价格方面都体现出具大的优势。加之许多原来在用EM3585,EM357的产品也遇到了一些供应和维护的困难,在进行产品升级或者降成本两个方面考虑,都会遇到选型困难,希望本文可以可以帮助大家了解到ZigBee芯片
器件选型 发布时间 : 2019-07-26
【经验】Zigbee SoC芯片EFR32MG21系列如何进行BatteryMonitor Plugin的修正
Silicon Labs的EFR32MG21系列Zigbee SoC芯片由于成本的降低、体积变小、射频性能提升等优点,成为市场的新宠。但是截止EmberZNet 6.7.0版本,对应EFR32MG21系列芯片的Battery Monitor Plugin尚未更新,本文将代码奉上,供参考。
设计经验 发布时间 : 2020-02-07
SILICON LABS-NORDIC/NXP/TI/TELINK/华普微无线SOC对照表
描述- SILICON LABS(芯科)和NORDIC、NXP、TI、TELINK、华普微等品牌无线SOC产品的对照,包含低功耗蓝牙SOC,ZIGBEE SOC,支持MATTER的SOC,SUB-G SOC。
型号- NRF52840,EFR32MG27,EFR32MG24,K32W041,EFR32MG22,CC2674R10,EFR32MG21,NRF52833,NRF52832,KW45,CC1312R,TLSR922,CMT2380F29,NRF5340,CC2652R7,EFR32BG27,EFR32FG23,CC1310,EFR32BG22,EFR32FG28,CC2652,EFR32BG24,EFR32FG25
对照表 - SILICON LABS
【经验】Simplicity Studio v5软件创建ZigBee SoC协调器工程的高效方法
本文以Silicon Labs EFR32MG21芯片的BRD4180A无线模块为例,介绍如何使用Simplicity Studio v5软件创建ZigBee SoC Coordinator工程的方法。
设计经验 发布时间 : 2022-06-18
Silicon Labs EFR32 ZigBee SoC 如何将.s37 转换成.gbl ,再生成ota文件?
你好,EFR32MG的.s37转换成.gbl文件,需要使用Commander工具,请参考文档:UG162: Simplicity Commander Reference Guide的5.7章节,.gbl转换成.ota文件,需要使用image builder工具,具体操作请参考:EFR32无线通信模块AN310——Zigbee(利用Host升级NCP固件),文章中有介绍。
技术问答 发布时间 : 2019-06-24
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 104,128
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
支持 3Hz ~ 26.5GHz射频信号中心频率测试;9kHz ~ 3GHz频率范围内Wi-SUN、lora、zigbee、ble和Sub-G 灵敏度测量与测试,天线阻抗测量与匹配电路调试服务。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳/苏州 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
登录 | 立即注册
提交评论