0

我正在尝试将我的 PX4Flow 传感器连接到树莓派。似乎几乎每个人都在使用 qgroundcontrol 来访问和控制它。但是因为我想将它集成到一些更大的程序中,如果可能的话,我想用一些自己编写的简单 python 代码来控制它。我的目标是:

  • 访问相机(测量速度 - 稍后)
  • 获取陀螺仪值

我不需要超声波传感器。

我发现我可以使用 MAVlink 在 px4flow 传感器和树莓派之间进行通信。我克隆了 git 存储库并按照https://github.com/mavlink/mavlink上的步骤操作,直到生成头文件 ( python -m mavgenerate)。有了它,我可以生成一个新的 python 文件。我不知道这是否正确,也不知道如何处理那个 python 文件。不再复制或生成文件(头文件)。我该如何继续?我如何使用图书馆?我什至如何测试连接?

4

1 回答 1

0

如果我理解正确,您想制作一个模块来与 PX4Flow 通信。

我有一些使用 ardupilot 构建地面控制站的经验。我认为程序大致相同:

  1. 生成正确的 mavlink 库,您使用mavgenerate. 阅读一些mavlink通信程序的指导。
  2. 阅读 PX4Flow 通信模块https://github.com/PX4/Flow/blob/master/src/modules/flow/communication.c中的源代码,它显示了什么样的消息已经发送到客户端(例如你的通信模块)
  3. 开始编写与 PX4Flow 通信的模块代码。您可能需要先从 HEARTBEAT msg 开始,以在您的模块和 PX4Flow 之间建立连接。请注意,您始终可以从 PX4Flow 接收 HEARTBEAT 消息。你可以从解码这些开始。
  4. 实现您的其他功能。

您可以在第 3 步和第 4 步期间阅读 QGourndControl 的源代码。确保在其 repo 中找到正确的模块。

如果有帮助,我的通信模块是使用 JavaScript https://github.com/kvenux/nodegcs构建的。

于 2018-05-14T01:55:48.347 回答