如何连续的测量数据蓝牙的RSSI

ios的蓝牙开始都是通过系统的CBCentralManager来发現蓝牙设备和跟设备进行通信的

如果想在scan过程中就能够获取到设备的RSSI值,需要在SCAN时设置选项

回调后,表示发现了设备就可以通过然後连接设备;

如果设备连接成功,回调函数:

在设备连接成功后可以调用ReadRSSI,来获取设备的信号值RSSI的获得是通过

当然,防丢器肯定是需偠支持后台的所有需要设置应用程序的后台模式,在这里我们设置use bluetooth LE accessories,这样在后台就可以继续读取RSSI跟回调了

在实际使用的过程当中,發现设置了后台模式后读取RSSI的值持续时间不够长,读取一会就不继续读取了后来各种测试发现,自己使用一个定时器持续读取蓝牙设備的battery之所以读取battery,是因为设备的service中存在读取battery的serviceID试验中,发现如果不定时读取该值在后台运行的时候读取RSSI值就会中断

在测试过程中,根据RSSI值得到设备与手机之间的距离公式大概如下:

设备有时候怎么也获取不到RSSI值,而且刚刚就能够获取得到一会儿就之前就能够获取;經过各种排查问题,发现有可能外部蓝牙设备的问题另外一个是自己手机蓝牙的问题,双方都重启一下就可以解决问题

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 测量数据 的文章

 

随机推荐