我在Ubuntu 18.04上托管了Django Web应用程序,并且在安装QGroundControl的同一台计算机上。
在我的Django Web应用程序中,有两个按钮(Take Off和Return to Land)。
是否有可能在我从Web应用程序中按下“起飞”按钮时,它应该调用QGroundControl的“起飞”方法?
我如何连接Django(Python)Web应用程序和QGroundControl?
会有一些API或Web服务等吗?有什么主意吗?
我没有使用QGroundControl。但是,从快速浏览doc的角度来看,我认为最直接的方法是编译自己的QGroundControl版本以添加远程控制功能。它是开源的,代码here可用。
如果QGroundControl不需要一直运行,则可以对其进行修改以接受命令行参数以请求起飞或降落。然后,Django可以使用subprocess
模块启动这些命令。
如果QGroundControl需要一直运行,则可以将其更改为运行套接字服务器,可以将其与Python客户端连接,也可以与某些Django代码连接。请参阅here(非常少)示例。
如果这一切看起来很复杂,您始终可以向QGroundControl开发人员提出功能请求,以使用该软件运行控制服务器。