我使用的是CC2540设备,应用情况是这样,有个用电池供电温度传感器挂在某个房间里面,想达到的目的是随时可以用手机连接它读取数据。
可是实际上我用手机连接上去,这样两个设备就建立了连接,手机可以读到传感器的信息;可是如果手机被拿走,这样蓝牙连接就断开了,当手机再回到蓝牙范围以内,也不能再恢复连接。
我想是因为处在连接状态时,两个设备按照一定的时间间隔来交换数据包来保证时隙的同步,使双方的下一次收发时间可以保持一致;而断开连接之后,双方时隙没办法保持一致,所以就算再回到连接范围,也无法再连接上来了。请问是不是这样?
目前我想了两个办法来解决:
1:使温度传感器检测到连接断开后,就切换成GAPROLE_ADVERTISING状态,这样当手机回到范围之后,就可以搜索到设备,从而可以连接上去,可是长期处于GAPROLE_ADVERTISING应该会增大很多功耗,对电池压力很大。
2:在温度传感器上面设一个按钮,用来激活设备进入GAPROLE_ADVERTISING状态,当手机回来之后,就按一下按钮进入GAPROLE_ADVERTISING状态,这样麻烦的地方是每次需要按一下,也不好用
请问有没有什么办法可以解决这样的问题?