我想将实时数据从Arduino传输到Raspberry Pi。在这种情况下,数据来自加速度计。
我没有确切的数字,但是可以说,加速度计(其中4个具有x,y和z加速度)可以在Arduino上以20-100Hz的频率读取。
最初,我一读取这些值就发布它们。因此,这意味着有效载荷为4个加速度计*(3个方向+ 1个时间戳)= 16个值。我还必须添加一个延迟,以允许Raspberry处理接收到的数据。
然后,我做了一个修改,定义了一个变量n_data_records
,该变量定义了在发送之前应该收集多少个加速度计的读数。因此,例如使用n_data_records = 16
,我将发送16 * 16 = 256个值= 1kB的数据。另外,Raspberry接收和处理数据还需要稍作延迟。
在Raspberry端,数据被实时接收并绘制。因此,在第一种方法中,每个绘制的值之间存在固定的延迟,而在第二种方法中,每个有效负载的值是密集的(按时间排列),但每个有效负载之间的延迟较大。
我想要的是找出有效载荷大小和有效载荷之间的延迟的最佳组合。我可以并且可能会对此进行一些基准测试,但是我确信其他人也遇到了类似的难题,并提出了一些建议。关于如何权衡有效负载大小与已发布的有效负载之间的延迟有什么建议吗?