I am wondering if I can write a program to keep sending telemetry to Qgroundcontrol in mavlink format to show that on the map without connection to aircraft. Is that possible, does anyone have experience about that?
Many thanks if someone can give me a little guidance!
Hello, I think you are trying to plot some kind of data on the map without needing to connect to the aircraft itself, while the aircraft is connected to the QGroundControl. Sadly, I don’t think that’s possible, since as far as I am concerned, QGroundControl only plots data that it receives from aircraft on its map. Alternatively, if you are experienced in writing your own application that can show you the map itself, maybe you can take the data from QGroundControl and plot it alongside your data on your own application?
The procedure would require you to enable MAVLink forwarding, which is on Application Settings → MAVLink tab in QGroundControl. After you forward the messages to a specific port, use MAVLink connection to that port in your application to read the necessary data, and plot your own data alongside the vehicle trajectory on the map.
If the data you would like to plot on the map is some kind of vehicle trajectory, you can also attempt to do so by running SITL on your local computer, which will automatically connect to QGroundControl, and then using something like ROS2 and uXRCE-DDS, you can artificially feed the data to the SITL machine, which would be plotted on the QGroundControl, but this is a very messy approach.
Lastly, you can either modify QGroundControl source code, or write your own web application that will connect to the aircraft via MAVLink, which isn’t that hard. You will need to do a lot of work on handling the messages and displaying the relevant information on your own application, essentially replacing QGroundControl.
These are the approaches that come to my mind. Let me know if you have any questions