I'd like to use two GCSs, one for controling, the other for displaying and tracking my drone but currently I'm stucking with the issue of how to "broadcast" the telemetry signal from the drone to the two PCs running APM on each.
Currently I'm trying to figure out the mechanism of sending and receiving the telemetry data between the APM 2.0 and Mission Planner software.
Any help with this and Mavlink will be very appreciated!
Have a look at mavproxy. Its supposed to do exactly what you want, out of the box.
Thank for your reply, Nikos.
I had a look at mavproxy, but couldn't figure out what will act as a server, a PC running APM mission planner or the APM board itself?
For my case I would like to have two PS running APM mission planner connecting through telemetry channels to the APM board.
BTW, could anyone tell me how the APM board send telemetry data to the GCS? does it send the data automatically or only on the request from the GCS?
Myself I'm very new to this. Its thanks to a member in this forum that I got some more information that had me started, however I'm still missing lots of info.
Mavproxy is a python implementation of a sort-of command line GCS. As such it needs to run in a PC, preferably the one that has the modem connected to.
It can read the stream from the modem and it can both interact with it (using command line commands, such as "up") and/or forward it to another PC (or the same PC) that runs the Mission planner.
I'm not 100% sure though that specifying two outputs is possible. You have to try for your self to see.
For example, it might be possible to run this as follows:
mavproxy.py --master=COM1 --out 127.0.0.1:5501 --out 192.168.1.1:14550
Again, I have not tried this, but if possible the above will tell the mavproxy to read the stream from the serial port (--master option) and forward it to TCP port 5501 of the localhost (127.0.0.1) as well as the TCP port 14550 of the the PC with address 192.168.1.1.
And another thing, I do not know if the above configuration is capable of enabling the ground control to alter the flight data, ie to add a new waypoint.
Then you have to adjust the Connection settings of the Mission planner, and instead of serial port, you need to configure it to listen for TCP connection at port 14550.
The ArduPilot software running on the APM board is configured to constantly send telemetry data to the GCS through both the serial ports (The one connected to the USB of your PC) as well as the Telemetry port (which is just a serial port that is connected to a wireless modem). You don't have to do anything, all is done for you automatically.
Many thanks, Nikos.
I will try the mavproxy as you have mentioned. And yes the APM continuously send telemetry data to the GCS (I just checked after reading your reply, so silly huh?) and thus it would be better if I can decode this message. I guess it can be done using mavlink protocol, do you have any idea on this?
Sorry, did not understand what you want to do...
You need to decode a message? is it a custom message or the normal ones?
If it is the normal ones, why do you want to decode them yourself? you can have QGCS or mission planner running and they decode and present the messages just fine.
The thing is I want to have two ground stations, one only for monitoring while the other is for controling and monitoring. The later can run Mission Planner or QGCS, but I don't want the former to transmit and interfere the control process. Since the APM board continuously send the telemetry data, I would like to utilise this to provide the former with the info it needs.