Возможно ли вызвать метод QGroundControl из веб-приложения Django(Python)?

У меня есть веб-приложение Django, размещенное на Ubuntu 18.04, и на том же компьютере я установил QGroundControl.

В моем веб-приложении Django есть две кнопки (Take Off и Return to Land).

Возможно ли, что когда я нажимаю кнопку Take Off в своем веб-приложении, оно должно вызывать метод Take Off QGroundControl?

Как я могу подключить веб-приложение Django (Python) и QGroundControl?

Будет какой-нибудь API или веб-сервис и т. Д.? Любая идея?

1 ответ

Я не использую QGroundControl. Однако, бегло взглянув на документ, я думаю, что наиболее простой способ - это скомпилировать вашу собственную версию QGroundControl, чтобы добавить функцию удаленного управления. Это открытый исходный код, и код доступен здесь.

Если QGroundControl не должен работать все время, вы можете изменить его, чтобы он принимал аргументы командной строки для запроса взлета или посадки. Эти команды затем могут быть запущены Django с помощьюsubprocess модуль.

Если QGroundControl должен работать все время, вы можете изменить его для запуска сервера сокетов, к которому вы можете подключиться с помощью клиента Python или, в вашем случае, некоторого кода Django. См. Здесь (очень) минимальный пример.

Если все это кажется вам сложным, вы всегда можете попросить разработчиков QGroundControl запросить функцию для запуска сервера управления с программным обеспечением.

Другие вопросы по тегам