100Hz向手机发送通知时数据包丢失

了解更多常见问题教程

6个职位/0个新职位
最后一篇文章
安道尔M2013
离线
最后一次见到:2个月4天前
已加入:2017-04-07 05:11
100Hz向手机发送通知时数据包丢失

嗨,对话,
我遇到了一个问题,想提出一些建议
我正在给安卓手机发送一些数据,但是我发现有些手机无法接收整个100Hz的数据(华为P20),结果即使有BT4.2也只有80Hz左右。

我使用一个BLE嗅探器工具来嗅探电话和DA14681之间的通信,只发送一个计数数字来检查不连续性。

我注意到这并不是因为手机没有收到数据包,而是DA14681没有连续发送数据包,DA14681会发送1、2、4、5、7、8、9等计数数字,但是这种效果不会发生在其他能够接收到100Hz的Android手机上。

因为我对BLE协议还不是很熟悉,有什么办法可以解决这个问题或者最小化这个影响吗?谢谢:)

设备:
PM\U对话框
离线
最后一次见到:4小时29分钟前
工作人员
已加入:2018-02-08 11:03
您好,M2013,

您好,M2013,

你能试着用“100Hz的数据”来描述一下你的意思吗?对不起,我不能理解你的问题,请你澄清一下好吗?

谢谢,下午好

安道尔M2013
离线
最后一次见到:2个月4天前
已加入:2017-04-07 05:11
你好,

你好,

我正在用notify以100Hz的频率向手机发送一些数据,这意味着每秒100个数据包,或者每秒100个notify

PM\U对话框
离线
最后一次见到:4小时29分钟前
工作人员
已加入:2018-02-08 11:03
您好,M2013,

您好,M2013,

这取决于应用程序的实现。你能告诉我你使用的是哪一个SDK的例子,并提供更多关于你的应用程序的细节吗?

谢谢,下午好

安道尔M2013
离线
最后一次见到:2个月4天前
已加入:2017-04-07 05:11
你好,

你好,
我用pxp\u reporter的例子开始,我用i2C总线读取一个IMU数据,然后把acc,gyro读数和一些元数据一起发送给手机,总共约18个字节由100Hz的notify提供,100Hz是由timer run senddata()函数提供的。
元数据将包括向上计数的每个数据包的序列号。

而问题是一些华为手机总是漏掉一些数据包,使用BLE数据包嗅探器检查后,DA14681只漏掉了一些数据包就消失了,

感觉手机的ACK不够快,所以DA14681可以连续发送数据包,然后跳过一些数据包,因为定时器一直在推动数据包发送出去,但我不确定notify是否有ACK?所以我想对这个问题有所了解,谢谢。

PM\U对话框
离线
最后一次见到:4小时29分钟前
工作人员
已加入:2018-02-08 11:03
如果一个包丢失了,你

您好,M2013,

如果数据包丢失,您将得到一个无效的crc,然后丢失的数据包将被重新传输。从你的描述中我可以理解,这个问题可能是电话那边的问题。你试过用另一部手机吗?

谢谢,下午好