在没有qgroundcontrol的情况下使用mavlink

时间:2017-08-24 13:23:08

标签: mavlink qgroundcontrol

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

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

我不需要超声波传感器。

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

1 个答案:

答案 0 :(得分:0)

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

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

  1. 使用{ "name":"alex", "age":34 } 生成正确的mavlink库。阅读mavlink通信程序的一些指导。
  2. 阅读PX4Flow通讯模块https://github.com/PX4/Flow/blob/master/src/modules/flow/communication.c中的源代码,该代码显示已向客户端发送的消息类型(例如您的通讯模块)
  3. 开始编写模块代码以与PX4Flow通信。您可能需要先从HEARTBEAT msg开始,以在模块和PX4Flow之间建立连接。请注意,您始终可以从PX4Flow接收HEARTBEAT消息。你可以从这些解码开始。
  4. 实施您的其他功能。
  5. 您可以在步骤3和步骤4中阅读QGourndControl的源代码。确保在其仓库中找到正确的模块。

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