最近要针对一个BLE产品开发Android APP,透过BLE连接装置控制灯泡
由于灯泡很多颗,所以我透过APP程式(central)能够先扫描附近所有的装置(peripharal),预先将控制的指令设置好后,自动逐一的传送出去
但现在却发现2个问题:
1、当附近的装置大于5个时,连接时间就会拖长,甚至连不到,原本附近只有一个装置的情况下,连接时间5秒内可以完成,但是当装置数量变多时,连接时间会增为10~20秒,甚至发生错误连不上(找不到装置),蓝芽的讯号似乎会相互影响冲突??
2、有机率会发生,明明指定A装置的id (e.g "AA:BB:CC:DD:EE:01")进行连接,但是却会发生同时连接到其他的B装置(e.g "AA:BB:CC:DD:EE:02"),因为该装置与手机central建立连接的同时,灯泡装置会闪烁三下能够用肉眼确认建立连接
所以这个时候却会发生,只针对一个A装置连接,但却发生A、B装置同时闪烁的情况,然后写入控制指令时,同样两台A、B装置都同样地执行控制指令
这个情况,除了使用自行开发的APP之外,也使用了第三方的APP控制,也同样会发生这样的状况,大部分时候是同时连接到两颗,但也有发生过同时连接到三颗的情况
能够确定的是,每一颗装置的id绝对不一样,且每一次连接下一个装置前都会先断开当前的连接,然后也不是每一次都发生.....