【问题标题】:Delay between two XBee End-Points (attached to RPi's) when told to collect data from XBee Coordinator (attached to a PC)当被告知从 XBee 协调器(连接到 PC)收集数据时,两个 XBee 端点(连接到 RPi)之间的延迟
【发布时间】:2018-09-15 00:02:14
【问题描述】:

目前有 3 个 XBee S1 模块在运行。

一个被设置为协调器(API 模式)并通过 USB 适配器连接到笔记本电脑。 另外两个设置为 End-Points(AT 模式)并连接到 2 个 Raspberry Pi 的 Model 3 B。

两个 RPi 都连接了一个 ADXL345 加速度计,以收集振动数据。 对于我们的模型来说,两个 RPi 同时开始收集数据(彼此相距不到 10 毫秒)非常重要。

我们已经在 XCTU 中设置了一个帧列表,因此我们可以通过我们的 Coordinator,通过 RPi 上的 python 脚本,开始收集数据。

目前,我们能够在 0.5 秒内开始收集数据。所以我们的设置中存在某种时间戳问题。 XBee End-Point 1 似乎在 XBee End-Point 2 之前收到给定的命令。

所以我们的问题是从端点 1 收集的数据似乎总是比端点 2 早 0,4-0,6 秒左右。 当我们开始和停止数据收集时都会发生这种情况。所以端点 1 也会在端点 2 之前 0,4-0,6 秒停止。

如果需要,我可以提供更多信息。请告诉我!

【问题讨论】:

    标签: raspberry-pi delay latency xbee


    【解决方案1】:

    除了您的设置之外,您还需要在应用层实现另一个协议,该协议同步每个设备上的时钟,然后为两个 PI 定义一个起点。一种常见的方法是使用NTP,它将节点上的时钟与外部时钟同步(可能您可以使用笔记本电脑的时钟)。除此之外,您还有 PI 和笔记本电脑之间的通信时间。例如,您可以从 PI 发送同步请求。然后在膝上型电脑上接收到此消息并以当前时间发回。您需要考虑这种延迟。

    这很难精确计算。在当前设置中,您可以通过在 PI 和笔记本电脑之间发送消息来运行一些实验,以估计通信延迟。通过运行大量实验,您可以估计平均值和标准差。您可以使用这些值来提高同步的准确性。完成此步骤后,可以在某个时间点启动开始记录传感值的命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 2010-10-30
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多