我一直在尝试在我的松下1740上运行实时数据采集。我的客户端是一台Windows 10 PC,我为它编写了一些软件。我无法实现3k字节/秒的传输速率。在咬牙切齿(并运行一个嗅探器以便我能看到实际的传输数据包)之后的问题是,在许多情况下,我的Windows客户端没有足够快地响应它的一半对话(一个空的PMU)。这将备份我设备上的队列,并导致其填满和溢出。看起来我的设备软件运行良好,如果我的客户更加合作,它肯定会工作。
因此,这里有一些问题需要回答:
我目前在我的电脑上使用标准Windows10驱动程序的可插拔BTLE加密狗。有人有其他组合的经验吗?这里似乎没有太多的Windows对话,但我想我还是会问的。我很乐意为您解答有关Windows客户端编程的问题(特别是对于桌面。。。不是商店的东西)。
有人尝试过在Android设备或iPad上进行实时收购吗?您是否能够以我试图达到的大致速度进行“顺利”收购?实时性需要及时,并且在大多数情况下需要足够快的响应,以防止队列被填满。
看起来BLE4.2即将面世,它声称允许更大的数据包大小。这可能会有所帮助,但我不知道我是否能找到一个愿意遵守的客户。关于它的可用性时间表有什么消息吗?
谢谢
马可
设备:
您必须更改设备的连接间隔,默认情况下android的连接间隔为40ms,您可以使用gamp_param_upd命令
在我的设置中,我使用了定制的外围设备(很像usb加密狗)和android手机作为中心设备。当连接间隔为12毫秒时,我能够顺利地将50Hz(1个数据点的大小为4字节)采样的数据传输到android手机。
这与app_configuration_func()上设置的最小/最大值有何不同?另外,我在代码中没有看到一个函数看起来像这个名字,所以我不知道如何使用它。有没有办法查询实际的连接间隔?
此外,似乎Tx/Rx对(从机为Tx)应在同一连接事件中出现。就我而言,它们不是。我不知道的是如何确定通信占用了多少连接间隔。显然,您不能发送/接收超过连接间隔支持的数据。是否有关于通信占用多少时间间隔的规范(例如,对于10ms的连接间隔,我们可以谈论6ms)。
谢谢
马可
应用程序配置功能未设置连接参数
在应用程序中使用以下连接功能
结构gapc_param_update_cmd*req=KE_MSG_ALLOC(gapc_param_update_cmd、TASK_gapc、TASK_APP、gapc_param_update_cmd);
req->operation=GAPC\u UPDATE\u参数;
req->params.intv_min=10;
req->params.intv_max=10;
req->params.latency=0;
请求->参数超时=100;
发送消息(请求);
要了解连接间隔与传输速度的关系,请参阅(UM-B-038)DSPS项目
这就成功了。谢谢你的帮助。看起来我的实时采集系统运行良好。
马可