蓝牙mesh组网实践(mesh+2.4G同时运行)

目录

链接: https://pan.baidu.com/s/1DCrLUwcGuqpXHEk2CkAMNg?pwd=WCH6 提取码: WCH6

蓝牙mesh组网+2.4G射频同时运行,参考代码如上。

对于接收方向:

非低功耗的蓝牙mesh节点,蓝牙mesh包本身没有连接状态,对于多协议的兼容性还是很友好的。

但在同一时刻,MCU只能按某一种包格式收无线包,而蓝牙mesh包与2.4GRF包的包负载格式有差异,故对于无线包接收方MCU而言,分时复用同一个无线收发机接收不同格式的无线包,多多少少会影响到收包率

代码中需要注意安排好mesh包扫描的使能/失能、RF接收的使能/失能。

对于发送方向:

发包时间开销少,且蓝牙mesh有包缓存机制,安排RF发包时,有包就发即可,影响不大。

 

当蓝牙mesh组网+BLE+2.4G同时运行时,有类似的情况。

对于接收方向:

mesh+BLE同时运行,在demo包中已经实现,协议栈会协调mesh与BLE的接收窗口。不过BLE对通信时序要求相对较高,建议后续添加的2.4GRF包,尽量不影响BLE的广播/连接事件,可以参考博客BLE从机(16)广播与连接回调 - SweetTea_lllpc - 博客园,注册回调函数,在紧接着BLE的广播/连接事件后开启ms级别宽度的2.4G的接收窗口。

对于发送方向:

发包时间开销少,协议栈会安排好mesh与BLE的收发窗口,手动管理的RF发送也是有包就发即可,不过需要交互的无限包格式/数量都变多,撞包的可能性变大。

当同一时刻需要发出多个类型的包时,有发包优先级mesh>BLE>2.4G。

posted @ 2026-06-02 15:50  JayWell  阅读(0)  评论(0)    收藏  举报