【问题标题】:Is this possible to invoke the method of QGroundControl from a Django(Python) web application?这是否可以从 Django(Python) Web 应用程序调用 QGroundControl 的方法?
【发布时间】:2020-09-23 11:51:57
【问题描述】:

我在 Ubuntu 18.04 上托管了一个 Django Web 应用程序,并且在我安装了 QGroundControl 的同一台机器上。

在我的 Django Web 应用程序中有两个按钮(起飞返回着陆)。

当我从我的 Web 应用程序中按下 Take Off 按钮时,是否可能会调用 QGroundControl 的 Take Off 方法?

如何连接 Django (Python) Web 应用程序和 QGroundControl?

会有一些 API 或 Web Service 等吗?有什么想法吗?

【问题讨论】:

    标签: python c++ django qt-creator qgroundcontrol


    【解决方案1】:

    我没有使用 QGroundControl。但是,快速浏览一下doc,我认为最直接的方法是编译自己的 QGroundControl 版本以添加远程控制功能。它是开源的,代码可用here

    如果 QGroundControl 不需要一直运行,您可以修改它以接受命令行参数来请求起飞或着陆。然后这些命令可以由 Django 使用 subprocess 模块启动。

    如果 QGroundControl 需要一直运行,您可以将其更改为运行套接字服务器,您可以使用 Python 客户端连接到该服务器,或者在您的情况下使用一些 Django 代码。请参阅here 以获取(非常)最小的示例。

    如果您觉得这一切都很复杂,您可以随时向 QGroundControl 开发人员提出功能请求,以使用该软件运行控制服务器。

    【讨论】:

    • 是的,QGroundControl 将一直运行。我已经在编译我自己的 QGroundControl 副本。这是很多要消化的信息,让我了解你提到的所有事情的细节,然后我会回复你。感谢您的回复。
    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多