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之后,广播信道扩展到全部信道。