Python, DroneKit, Pixhawk и ArduPilot Mission Planner: как отправлять текстовые сообщения через встроенную телеметрию на наземную станцию
Я работаю над студенческим проектом с участием дрона, который работает на платформе Pixhawk, но у него есть "компьютер-компаньон" в форме Raspberry Pi. Pi запускает свое собственное программное обеспечение Python и использует DroneKit (и, следовательно, MAVLink?) Для связи с Pixhawk через USB - давая ему команды, передавая данные и так далее. Кроме того, у нас есть ноутбук "наземной станции" с планировщиком миссий ArduPilot, который может удаленно просматривать и взаимодействовать с самолетом, а также просматривать его телеметрию. Я заметил вкладку "Сообщения", которая, по сути, действует как удаленная консоль, показывая "зарегистрированные" сообщения от Pixhawk - это то, к чему относится этот вопрос.
Для отладки и в информационных целях я хотел бы иметь возможность добавить к этому из Python на Pi. Я предполагал, что это будет легко достижимо с помощью DroneKit, но это не кажется тривиальным - send_mavlink и message_factory выглядят обнадеживающими, но я не нашел больше никого, кто пытался сделать это специально.
Как я могу легко перенаправить свои "консольные сообщения" с Python на наземную станцию? Я понимаю, что есть альтернативные методы, но использование существующей телеметрической системы Pixhawk кажется намного лучшим вариантом.
Спасибо
0 ответов
Одна вещь, которую вы можете сделать, это создать мост (прокси) между Pixhawk и GCS с вашим RPi, аналогично этому вопросу.
Затем в середине этого вы можете отправлять свои собственные текстовые сообщения с:
gcs_conn.mav.statustext_send(mavutil.mavlink.MAV_SEVERITY_INFO, "your message here")
Будьте осторожны, не блокируя слишком много телеметрической передачи, иначе у вас может быть прерывистое соединение с дроном из вашей GCS.