我正在开发一个嵌入自定义板中的BLuetooth低能量模块。每当我按下一个中断(按一下按钮),这个手机模块就会做一次广告,然后进入睡眠状态。同样,当interupt在nexus 5中运行的自定义安卓应用程序中搜索下一个数字(增量值)并进入睡眠状态时,.These值会被扫描。虽然手机扫描了大部分数据包,但有时它无法捕捉到一些datapackets.the自定义板的广告并进入睡眠状态,手机必须能够捕捉到这个广告包,但有时它会错过数据包。所以我的问题是,BLE兼容的手机不能从手机设备上捕获所有的数据,这是正常的吗?例如,可能会丢失一些数据,packets.Or,这是智能手机连接5 ble硬件的问题吗?
发布于 2014-11-25 14:38:27
在密集的频谱中,布尔发射的功率很低。有些包丢失是预料中的(虽然我同意这比我想的要多)。
更高级别的协议将检测丢包和请求重传。在BLE的情况下,您可以实际连接到设备,然后使用通知,而不是使用广告获取数据。这些都是更可靠的,不应该放弃。缺点是大多数设备只支持连接到少数外围设备,通常是7。收听广告不需要连接,因此你可以收听的广告商数量没有固定的限制。
数据包丢失也取决于侦听的内容。一个nRF51822传输到我的Nexus 4与Android5.0在零范围内得到超过50%的可编程逻辑系统。当传输到另一个nRF51822时,它得到了大约20%的PLOS。我想Nexus 4试图节省电力,所以也许它不会一直听下去。
发布于 2018-11-12 09:15:42
我也有一个类似的问题,就是只有一些数据包到达。这似乎是,启用SCAN_MODE_LOW_LATENCY模式与布尔扫描仪-您的设备将持续监听,因此不会错过任何数据(除非有混乱,坏范围等,如Timmmm建议)。
https://developer.android.com/reference/android/bluetooth/le/ScanSettings
希望这能帮上忙
https://stackoverflow.com/questions/27008932
复制相似问题