【经验】如何实现两个不同的ZigBee网络设备之间的单跳通信?
EFR32MG系列是SILICON LABS公司的多协议无线SOC,被广泛应用于ZigBee技术产品中。有些用户在做ZigBee网络产品开发时,会有两个不同的ZigBee网络设备之间的单跳通信的需求,本文指导大家使用Inter-Pan来实现该功能。
Inter-Pan消息可用于不同网络,同一信道的两个设备之间的单跳通信。Silicon Labs提供Inter-Pan Plugin,方便客户在此Plugin的基础上扩展,以在自己的应用中实现Inter-Pan消息的发送和接收。本文主要介绍如何搭建和测试Inter-Pan的功能,并以Z3LightSOC sample为例,在WSTK+4151 无线板子上进行演示。
1,Inter-Pan Plugin的源码位于协议栈的C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.6\protocol\zigbee\app\framework\plugin\interpan
2,在Z3Light sample中已经勾选该Inter-Pan Plugin。创建并编译该Z3Light sample,将固件以及对应的Bootloader烧录到两块WSTK 4151无线板。
3,两块无线板启动之后会自动扫描网络并加入Centralized,如果没有网络可以加入,最后会建立自己Distributed网络。在此实验中,每个板子分别建立自己的Distributed网络,确保它们处于同一个信道即可。如果比较难建立同一信道上的不同网络,也可以分别加入两个同一信道不同PANID的网络。如下所示,两个板子分别建立好自己的网络。
AppBuilder MFG Code: 0x1002
node [(>)000B57FFFE07F6E3] chan [20] pwr [3]
panID [0xF052] nodeID [0xCBD9] xpan [0x(>)0D03351F0A0587C6]
stack ver. [5.10.0 GA build 36]
nodeType [0x02]
Security level [05]
network state [02] Buffs: 74 / 75
AppBuilder MFG Code: 0x1002
node [(>)000B57FFFE07F6E2] chan [20] pwr [3]
panID [0x2923] nodeID [0x390E] xpan [0x(>)87461289F0783C2F]
stack ver. [5.10.0 GA build 36]
nodeType [0x02]
Security level [05]
network state [02] Buffs: 75 / 75
4,通过CLI命令测试Inter-Pan消息的发送和接收。在Simplicity Studio中,将两个设备对应的Console打开,在一个Console中输入如下命令:
plugin interpan fragment-test [panId:2] [eui64:8] [clusterId:2] [msgLen:2]
Sends a message of specified length of random values to target device over inter-PAN.
panId - INT16U - The PAN ID that the target is located on
eui64 - IEEE_ADDRESS - The target's EUI64 (big endian)
clusterId - INT16U - The cluster ID that the sample message should contain
msgLen - INT16U - The length of the randomly-filled message to be sent across inter-PAN
plugin interpan fragment-test 0xFFFF {000B57FFFE07F6E3} 0x0000 10
其中第一个参数是目的设备的PANID,可以设置为0xFFFF。
第二个参数是目的设备的EUI64,可以设置为NULL代表广播消息,否则为单播。
第三个参数是目的设备的Cluster。
第四个参数是发送的消息的Playload长度。
5,发送完上述命令,可在控制台中看到对应的输出信息:
发送端:
Z3LightSoc>Sending inter-PAN message of len 10 to (>)000B57FFFE07F6E3 with random values: T00000000:Inter-PAN TX (10) [A9 30 09 70 82 6D D1 A9 3B 14 ], 0x00
success (0x00)
接收端:
RX inter-PAN message (unicast):
src pan id: 0x2923
src long id: (>)000B57FFFE07F6E2
profile id: 0x0109
cluster id: 0x0000 (Basic)
ERR: Inter-PAN profile 0x0109, cluster 0x0000, command 0x09 not permitted
以上打印信息表明Inter-Pan消息发送成功。用户可根据自己的需求,构建自定义的消息。
函数流程分析:
发送流程:
当输入plugin interpan fragment-test,最调用如下函数:
void emAfInterpanFragmentTestCommand(void)
|-- emberAfSendInterPan()
|-- emberAfInterpanSendMessageCallback()
|-- makeInterPanMessage()
|-- emAfPluginInterpanSendRawMessage()
|-- emberSendRawMessage()
最核心的函数是emberSendRawMessage(),其在raw-message.h中定义。
/** @brief Sends the given message over the air without higher layer
* network headers.
*
* The first two bytes are interpreted as the 802.15.4 frame control field.
* If the Ack Request bit is set, the packet will be retried as necessary.
* Completion is reported via ::emberRawTransmitCompleteHandler().
* Note that the sequence number specified in this packet is not taken into
* account by the MAC layer. The MAC layer overwrites the sequence number field
* with the next available sequence number.
*
* @param message The message to transmit.
*
* @return ::EMBER_SUCCESS if the message was successfully submitted to
* the transmit queue, and ::EMBER_ERR_FATAL otherwise.
*/
EmberStatus emberSendRawMessage(EmberMessageBuffer message);
如果想发送广播消息, 可将emberAfSendInterPan()的参数改为如下格式:
EmberStatus status = emberAfSendInterPan( OxFFFF,
NULL,
EMBER_NULL_NODE_ID,
0, // mcast id - unused
clusterId,
SE_PROFILE_ID, // GBCS only
messageLen,
testMessage);
接收流程:
当接收到Inter-Pan消息时,emberMacPassthroughFilterHandler()会被调用,其在raw-message.h中定义。
/** @brief This function is called when the stack has received a raw MAC message that has
* matched one of the application's configured MAC filters.
*
* @param macFilterMatchStruct This is a pointer to a structure containing information
* about the matching message, including the index of the filter that was matched,
* and the actual data of the message.
*/
void emberMacFilterMatchMessageHandler(const EmberMacFilterMatchStruct* macFilterMatchStruct);
emberMacFilterMatchMessageHandler()
|-- emAfPluginInterpanProcessMessage()
|-- emberAfPluginInterpanPreMessageReceivedCallback()
以上就是Inter-Pan消息的测试过程以及发送和接收流程的源码分析,更多信息请参考Inter-Pan Plugin的源码。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由Carol提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是Silicon Labs公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OT
【经验】EFR32MG21多协议无线SoC的SWO PA03如何复用为普通GPIO口呢?
EFR32MG21 系列是 Silicon Labs 推出的高性价比的多协议无线SoC,用户在进行产品开发时会遇到 GPIO 不够用的情况,此时我们可以通过复用 JTAG 管脚中的 SWO log 输出脚,作为普通 GPIO 使用。本文介绍把 PA03 配置成普通按键的方法。
【经验】芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项
最近有用户在使用PA口时发现会出现一些异常,而且主要集中在PA01/PA02/PA03/PA04几个低端口,它们在使用时会出现一些异常的波形或无法控制。本文世强来介绍芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项。
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 立即选型
EFR32MG14 Mighty Gecko多协议无线SoC系列产品介绍
描述- 该资料详细介绍了EFR32MG14 Mighty Gecko多协议无线SoC系列产品的特性、应用领域和订购信息。该系列SoC适用于物联网设备,具有低功耗、高性能、多协议支持等特点,适用于智能家居、照明、健康与健身、计量、家庭和楼宇自动化及安全等领域。
型号- EFR32MG14P732F256IM32-B,EFR32MG14P733F256IM48-B,EFR32MG14,EFR32MG14P632F256GM48-B,EFR32MG14P632F256GM32-B,EFR32MG14P733F256GM48-B,EFR32MG,EFR32MG14P732F256IM48-B,EFR32XG14P733F256GM48-AR,EFR32MG14P732F256GM32-B,EFR32MG14P732F256GM48-B
SILICON LABS Matter 无线SoC选型表
EFR32MG24 无线 SoC 是使用 Matter、OpenThread 和 Zigbee 进行网状物联网无线连接的理想选择
产品型号
|
品类
|
Protocol Stack
|
MAX TX Power (dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Secure Vault
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
Max CPU Speed(MHz)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG24B310F1536IM48-B
|
Wireless SoC
|
Matter,Zigbee,Thread,Bluetooth 5.3
|
10dBm
|
1536kB
|
256kB
|
28
|
High
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
78.0MHz
|
-40℃~125℃
|
-50℃~150℃
|
QFN48
|
1.71V~3.8V
|
选型表 - SILICON LABS 立即选型
芯科科技提供Matter一站式开发平台及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块
Silicon Labs(亦称“芯科科技”)作为Matter和互联健康解决方案的领先供应商,正全力支持及推广健康与保健工作组的项目,通过为开发人员提供完善的Matter一站式开发平台,以及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块,来加速实现此一愿景。
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
芯科科技多协议无线SoC助力控客开发智能家居解决方案,为杭州亚运村打造智能舒适、便捷安全的生活体验
SILICON LABS MG21多协议无线SoC获杭州控客信息技术有限公司采用于开发全套智能家居解决方案,并提供予杭州亚运会媒体村打造智能、舒适、便捷、安全的生活体验。控客于近期采用了芯科科技MG21多协议无线片上系统(SoC)的控客智能家居解决方案于先前落地杭州亚运会媒体村,用创新性设计和高品质产品,为入住人员提供了智能、舒适、便捷、安全的生活体验。
【经验】如何配置多协议无线SoC EFR32的SPI外设驱动端口映射?
Silicon Labs公司针对物联网应用推出的多协议无线SoC,客户在开发时通常会通过基于开发板的例程代码来修改成自己的产品功能,本文基于开发板的SPI例程指导如何修改客户自定义的SPI的引脚,从而实现客户自己产品的SPI功能。
【经验】EFR32多协议无线SoC radio configuration私有协议配置
EFR32系列是Silicon Labs公司针对物联网应用推出的多协议无线SoC,覆盖了私有协议、Blue Tooth 、ZigBee、Thread和Z-Wave等无线协议。本文介绍EFR32 radio configuration私有协议配置方法。
【应用】芯科EFR32MG24多协议无线SoC扩展楼宇自动化解决方案,完全自主和自配置的网络,不会出现故障
Silicon Labs和Wirepas已经为一系列工业应用和用例建立了战略合作伙伴关系和生态系统。这一合作已促成了许多高密度、远程网状网络得以在苛刻的无线电环境中运行。现阶段,双方正致力在扩展智能计量、资产跟踪(Asset Tracking)和楼宇自动化的新解决方案。
【经验】高性能多协议无线SoC Series 2 EFR32MG21作为BLE的几个发送功率设置方法
Silicon Labs 的EFR32MG21是高性能多协议无线SoC Series2,蓝牙协议栈使用的默认发送功率为+8dBm,所有广告包和数据包都将使用此功率级别进行传输(如果设备具有较低的发送功率能力将会降低)。实际发射功率也可由用户配置和实际情况决定。主要包括如下几种功率配置情况
【经验】Silicon Labs多协议无线SoC EFR32 EM4模式配置及应用
EFR32无线SoC包含多协议EFR32MG系列、蓝牙系列EFR32BG 和私有协议系列EFR32FG,内核均为Silicon Labs的cortex M4,外设等也基本沿用EFM32单片机。EFR32的低功耗模式共分为5种,分别是EM0~EM4,其中EM4又分为EM4H和EM4S。本文将实现可被引脚唤醒的EM4休眠状态。
【产品】闪存程序内存高达1536kB的多协议无线SoC EFR32MG24系列,适用于智能家居等
Silicon Labs推出的EFR32MG24无线SoC是使用Matter、OpenThread和 Zigbee协议实现网状物联网无线连接的理想选择,适用于智能家居、照明和楼宇自动化产品。
电子商城
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥44.9692
现货: 12,980
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.3724
现货: 6,500
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥15.3301
现货: 2,800
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥19.4183
现货: 2,500
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥24.3427
现货: 2,500
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.0003
现货: 1,827
品牌:SILICON LABS
品类:Gecko Multiprotocol Wireless SoC
价格:
现货: 800
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.3724
现货: 520
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥15.3301
现货: 500
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制4G磁吸盘天线、4G圆盘天线的尺寸、连接器种类、电缆类型;支持频率:700-960 MHz/1710-2700 MHz;支持协议4G;驻波比:700-960 MHz≤2.5;1710-2700 MHz≤3.0。
最小起订量: 500 提交需求>
可定制TX线圈的尺寸/形状/特性参数,Q的最小值为90,最大值为120,符合WPC和Qi标准。电感的最小值、典型值、最大值依次为21.6μH、24.0μH、26.4μH,偏差为10%.DCR(最大值)为75mΩ。
最小起订量: 1000 提交需求>
登录 | 立即注册
提交评论