Connecting v2450gps to MAVproxy & Dronekit

I previously posted a question about connecting to the Sky Viper using MAVproxy. I had done research and couldn’t find any instructions specific to it. After one day of trial and error, I finally figured it out and would like to share my findings in an accessible, easy to find format for anyone trying to get the most out of their Drone.

It turns out my answer was in the very first page of the MAVproxy docs on Ardupilot https://ardupilot.github.io/MAVProxy/html/getting_started/quickstart.html. There it says to use your local IP address, coming from a Web Development background, I assumed “local, 127.0.0.1 , of course” and the fact that you can connect to SITL using mavproxy.py --master=udp:127.0.0.1:14550 made me belive the same would work for connecting to the SV. Well, it does work, kinda. You will get the console, but the messages do not go through and neither will you be able to connect different GCS’ using the --out command. I also tried running ipconfig /all (I’m currently on Windows) and looking for every IPv4 on every network adapter, only to find the same result.
After a lot of scratching my head I stumble upon an article for the Solo and noted that they used 0.0.0.0 as their connection IP address. That clicked to me that I had read that somewhere, a quick google search for 0.0.0.0 MAvproxy brought me right back to the docs (link above) where I read.

Alternatively the if the local IP address is not known, use 0.0.0.0 for MAVProxy find and use the local IP address.

That makes things easy, use 0.0.0.0 and you can not only connect on your Laptop, but you can deploy your code to a Pi, or any companion computer and use the same connection string (MAGIC!)

In short, the command I ran successfully was:

mavproxy.py --master=udp:0.0.0.0:14550

I’d like to give you some advice also:

If you’re indoors, trying to arm on guided mode is not going to work, because of the GPS checks made by Toy Mode (tmode parameter on web interface). Please, do not try to disable tmode to make this work, unless your code has been thoroughly tested or you know very well what you’re doing. Doing so, will make your remote unresponsive and not allow you to stop the engines, maybe causing some damage. Also, because of the lack of GPS connection indoor, your drone will fly crazy.

If you’re trying to connect to more than one SV (swarm), change one of their output ports:

That is all for now,

Cheers

4 Likes

Thank you!
I have been trying to connect to a quad using an external ESP8266 like this one.

Like the Skyviper, these set up their own access point and you connect to it.

I could connect fine to QGroundControl and Mission Planner but not on mavproxy and dronekit. I had tried 127.0.0.1 and the IP assigned to my laptop by the access point but no luck.

After finding your post, I tried 0.0.0.0 and it worked perfectly.

So, summary, 0.0.0.0:14550 will also work for connecting dronekit and mavproxy to the ESP8266.

2 Likes

Were you able to get dronekit working past this? My skyviper doesn’t respond well to dronekit commands like simple_takeoff, it just spins in place instead of properly taking off.

Sorry, I have not really played with this for a very long time now.