1、背景

公司购进蓝牙模块OE-MESH1010SC01的蓝牙Mesh组网模块,在我手上耗时三个多月。这是一块基于CSR1010芯片上设二级的兼容蓝牙4.2低功耗BLE以及mesh租完各功能的蓝牙模块。它在智能灯控方面的确可靠性比较好,但是利用他来进行数据传输就比较狗血了。我们使用场景是:多个设备组成Mesh网络,其中一个作为网关使用(常电),其他设备为低功耗设备(进行休眠)。

网上对于蓝牙Mesh都是在捧,缺少一些对于蓝牙Mesh真实分析的文章。目前我还是喜欢点对点通信。

1.1 参考资料

http://eleaction01.spaces.eepw.com.cn/articles/article/item/161918

2、使用记录

2.1功耗方面

这款蓝牙在功耗方面,开启后功耗在18ma左右。

2.2 使用中问题

1、开启后使用过程必须在16秒以上,否则连续6次以上,模块会自动退出Mesh网络。

2、供应商提供的API实际并不支持进出低功耗,原因在于进入低功耗后,唤醒不了,只能通过物理复位。

3、物理复位后,模块会主动外发四条广播数据。

4、连续发送数据,有可能掉包,需要在重发,很难再协议上做可靠传输。

5、多个网关在同一Mesh网内,收到错乱的数据(网关A收到了应该发给网关B的数据),原因未明

2.3 解决方法

对于问题1:我使能模块后,开启20S时间

对于问题4:对于没有应答的数据,一次最佳通信量做了分析,对于没有应答的,重发3遍。

对于问题5:只能在组网时,就把设备分隔开

3、对于蓝牙Mesh网络的想法

作为蓝牙Mesh的使用者,对其机理不了解,只能通过网络资料对其分析。根据网文知道,5.0之前蓝牙的广播信道只有3个,而Mesh最基础的理论就是基于蓝牙广播信道建立起来的无连接通信。在5.0之后,广播信道扩展到全部信道。