我一直试图得到实时数据采集运行在我的松下1740。我的客户是一台Windows 10电脑,我为它编写了一些软件。我一直无法实现3k字节/秒的传输速率。在咬牙切齿(让嗅探器运行以便我可以看到实际的传输数据包)之后的问题是,在许多情况下,我的Windows客户端没有足够快地响应它的一半的对话(一个空PMU)。这是在备份我的设备上的队列,并导致它被填满和溢出。看起来我的设备软件运行得很好,如果我的客户更合作,肯定会工作。
这里有一些问题要问大家:
我目前在我的电脑上使用一个可插拔的BTLE加密狗,它带有标准的Windows 10驱动程序。有人有其他组合的经验吗?这里似乎没有太多关于Windows的讨论,但我想我还是要问一下。我很乐意帮助您解决有关Windows客户端编程的问题(特别是桌面编程……不是商店里的东西)。
有人在Android设备或ipad上尝试过实时获取吗?你是否能够以我想要达到的速度“顺利”进行收购?Real-time需要是及时的,需要在大多数情况下做出足够快的响应,以避免队列被填满。
看起来BLE 4.2即将面世,它声称允许更大的数据包大小。这可能会有帮助,但我不知道我是否能找到一个客户会遵守。它的可用性时间表上有什么新闻吗?
谢谢,
马可
设备:
你需要改变设备的连接间隔,android默认的连接间隔是40ms,你可以使用gamp_param_upd命令
在我的设置中,我使用了一个定制的外围设备(很像usb适配器)和android手机作为中心设备。我能够传输数据采样在50Hz(大小1数据点是4字节)到android手机顺利时,连接间隔是12ms。
这与app_configuration_func()上设置的min/max值有什么不同?此外,我没有看到代码中的函数看起来像那个名字,所以我不确定如何使用它。是否有一种方法可以查询连接间隔实际是什么?
另外,似乎Tx/Rx对(从机是Tx)应该出现在同一个连接事件中。在我的情况下,他们不是。我不知道的是,如何确定通信占用了多少连接间隔。显然,发送/接收的数据不能超过连接间隔支持的数量。对于通信占用了多少时间间隔有规范吗(例如,对于10ms的连接间隔,我们可以通话6ms)。
谢谢
马可
App_configuration_function不设置连接参数
在app_connection_func中使用following
struct gapc_param_update_cmd *req = KE_MSG_ALLOC(gapc_param_update_cmd,TASK_GAPC,TASK_APP,gapc_param_update_cmd);
申请- >操作= GAPC_UPDATE_PARAMS;
申请- > params.intv_min = 10;
申请- > params.intv_max = 10;
申请- >参数。延迟= 0;
申请- >参数。time_out = 100;
ke_msg_send(要求的);
要了解连接间隔和传输速度,请参考(UM-B-038) dsp项目
这招奏效了。谢谢你的帮助。看来我的实时采集工作还不错。
马可