How to connect to a specific ip with MavProxy and udp protocol?

Hi everyone, I was looking for a way to use mavproxy to connect to a specific ip address within a wifi network.

For example my drone has the ip address : 192.168.1.20

And I would like to connect in this way : mavproxy.exe --master=udp:192.168.1.20:14550

I have already tried the above command but obviously it didn’t work , and I was wondering if any of you had any ideas . My main goal is to create a routine to download logs from a specific drone in the network .

It would be great if you could share more details on how your drone is connected to the network - info on the hardware you’re using to connect to WiFi, any companion computer, any parameters that you might have changed, how you’ve done the wiring, any documentation pages you’re following, etc.

In any case, for your GCS to connect:

  1. The drone and your GCS needs to be connected to the same WiFi network.
  2. The flight controller’s telemetry needs to be streaming over the TELEM1 or TELEM2 port into the WiFi adapter
  3. The WiFi adapter/device on your drone needs to be forwarding the MAVLink stream to your GCS IP address and port
  4. If your drone is connecting to a router, then you’ll have to either ensure it gets a static IP address or you’ll have find the DHCP assigned address.

One thing comes to mind, you could try it out:

Since you’re connecting using the drone’s IP address you will probably have to use this format. I’m not too sure about this, though. I don’t use this method.

mavproxy.exe --master=udpout:IP:PORT

Alternatively, if your drone is already forwarding MAVLink packets(number 3 above is already set up) you could try changing the command and see if you have any luck:

mavproxy.exe --master=udp:127.0.0.1:14550

To check if basic connectivity is there between GCS and drone over the network, you could try pinging the drone’s IP address. Type the following into a command prompt, assuming you have the correct IP address:

ping 192.168.1.20

The documentation for connecting over a network is here.

1 Like

Hey , thanks a lot for your response !

First of all, I am Davide Lentini. I work for an Italian startup called “Luminous Bees” that designs and builds luminous drones for outdoor (and also indoor) shows, here is a video of us, where we tested a fleet of drones in Budapest :
https://vimeo.com/manage/videos/702095548

Our firmware is obviously based on Ardupilot :slight_smile:

Moving on to your questions :

Our drones are connected to a wifi network through an ESP8266 that has as firmware a version based on the latest commit of mavesp8266

No , our drones don’t have any companion computer

Well we changed a lot of parameters based on our model of drones . But the esp8266 works as a normal esp8266 with the mavesp8266 firmware

Normal wiring . We use as FC an STM32 and esp8266 is connected with the tx and rx on TELEM1

Our drones are connected to the same network as GCS

The FC is streaming over the TELEM1 port into the WIFI adapter

The GCS in the network has a fixed IP so the esp8266 knows which IP to connect to.

Our drones are connected to an access point network provided by an ubiquiti mesh which itself does not have a dchp server . So the drones have already saved a static ip based on their id, for example the drone 12 has the ip 192.168.1.12, the 13 192.168.1.13 and so on.
Let’s say the ip station set from the mavlink setup page

Returning to the question of MavProxy . is very simple .

Normally MavProxy connects to the localhost if it is connected to the AP network of the drone , so : mavproxy.exe --master=udp:0.0.0.0:14550

What I want to do is to connect directly to the IP address and then to the drone, which interests me :

Let’s say that I want to connect to the drone 15 to download logs using MavProxy, here’s what I want to do is : udp:192.168.1.15:14550
and then connect via mavlink to the drone

Yes thank you ! I already used the ping command to check that the drones were connected to the network.

I hope you understand my goal . Thanks for the help :wink: