I have a question about getting a Mavlink data stream from the Emlid Edge inside of a script (by using DroneKit for Python, or a similar library if one exists). The goal is to stream telemetry from the Edge to a computer on the ground (ground station) which is running Ubuntu 16.04 .
Our setup is a hexacopter with the Edge on board, connected to a Ubiquiti Bullet M2 antenna which is set up to function as a router. The Edge is in client mode and uses the WiFi antenna that was included in the Edge kit to the router. The ground station is also connected to the same router.
Right now, I am able to connect to the Emlid Edge over WiFi by using a GCS like the provided QGroundControl, or MissionPlanner by specifying the IP of the Edge as shown in the router and the default port 14550. This shows all information about the drone.
What I have tried to do within Python - using DroneKit or simply PyMAVLink, is to use various connection strings and configuration options to connect to the Edge to acquire telemetry. From the documentation found on pages such as Mavlink Connection Strings and DroneKit connection strings, I could not find a specific string that would work for connecting a Linux computer to a vehicle over WiFi.
Each computer can see each other on the network, but I do not understand how to work with Mavlink data streams outside of a GCS.
I would appreciate any suggestions for how to create such a connection - perhaps I am missing a step before connecting, using an invalid connection scheme, or not using the correct connection string? Please let me know if you would like some additional information about our setup.