我正在编写一个IOS / iPhone应用程序,通过蓝牙低功耗与sp-10c imu进行通信。我收到的数据包最初是61字节长,但我已将它们缩短为38字节,以便以最少的通知数发送数据包。
我无法控制sp-10c的实际编程,但它们确实让我控制了一些设置。我可以改变收到的所有信息(加速度,陀螺仪四元数等),从而改变数据包大小,我也可以改变传输间隔(10毫秒间隔)。我已经阅读了很多与此主题相关的问题和答案,但我所看到的唯一解决方案需要对外围设备进行编程控制,而我没有。
我还阅读了Apple的手册,其中指出最小间隔应为20 ms。如果我能够可靠地获得50赫兹的整个数据包,那将满足我的需求。更少的东西几乎一文不值。我的问题是我在20ms的间隔内得到大量数据包丢失的间隔(有时会丢失40个或更多的数据包,这种情况经常发生)。我真的看不到可靠的结果,直到我把它减慢到60毫秒或更长的间隔,正如我所说,这是毫无价值的。 (我试图感觉加速度的急剧变化持续大约20 - 40ms)
这里的大多数问题和答案都有点过时,但我看到有人说,就BLE连接+ Apple设备而言,事情可能会变得更糟。有人建议,当需要大量吞吐量时,经典蓝牙是唯一可行的方法,但sp-10c不提供经典蓝牙作为选项。
我的问题是:
这是与Apple设备进行ble连接的正常行为吗?
有没有人在20分钟内使用更长的数据包获得可靠的通知?
我现在应该放弃并尝试使用经典蓝牙找到imu吗?
我想我真正得到的是:我做错了什么,或者这只是针对ble / iPhone课程的标准?
尝试将数据包限制为少于20个字节,以便在一个通知中收到它会有帮助吗?