dronekit / dronekit-python

DroneKit-Python library for communicating with Drones via MAVLink.
https://readthedocs.org/projects/dronekit-python/
Apache License 2.0
1.62k stars 1.45k forks source link

Connect Dronekit to MAVproxy over LAN #880

Open AlexanderMarinsek opened 5 years ago

AlexanderMarinsek commented 5 years ago

I am trying to run a Dronekit-Sitl simulator on my PC and access the simulator from an Odroid companion computer over LAN. My PC is running Ubuntu 16.04 and the Odroid is using Lubuntu.

The following case works:

  1. On the PC run dronekit-sitl copter-3.3
  2. On the Odroid run mavproxy.py --master=tcp:<pc_ip>:5760 --out=udp:127.0.0.1:14561
  3. On the Odroid run python my_dronekit_code.py

When I want to connect APM Planner in order to monitor the simulated drone's movements, I would typically need to add a step after the first one:

However when I do this and try connecting MAVproxy on Odroid to one of the new output ports (udp:<pc_ip>:14551), I can no longer access the simulated drone - I get the output Waiting for heartbeat from <pc_ip>:14551.

Both ports have been opened to the public using sudo ufw status verbose:

[sudo] password for jawa: 
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----                 
14550/tcp                  ALLOW IN    Anywhere                  
14551/tcp                  ALLOW IN    Anywhere                   
14550/tcp (v6)             ALLOW IN    Anywhere (v6)            
14551/tcp (v6)             ALLOW IN    Anywhere (v6) 

Notice: I have tried connecting the Odroid directly to the PC, without step number 2 (running MAVproxy on Odroid), but I always get an exception. This problem has already been debated.

jmachuca77 commented 5 years ago

Change the order, run your 1.2 command before 2. And change 2 to:

On the Odroid run mavproxy.py --master=udp::14550 --out=udp:127.0.0.1:14561

Best regards,

Jaime Machuca CEO | Element Aero | www.element.aero

On Nov 23, 2018, at 2:24 AM, Alexander-M1 notifications@github.com wrote:

I am trying to run a Dronekit-Sitl simulator on my PC and access the simulator from an Odroid companion computer over LAN. My PC is running Ubuntu 16.04 and the Odroid is using Lubuntu.

The following case works:

On the PC run dronekit-sitl copter-3.3 On the Odroid run mavproxy.py --master=tcp::5760 --out=udp:127.0.0.1:14561 On the Odroid run python my_dronekit_code.py When I want to connect APM Planner in order to monitor the simulated drone's movements, I would typically need to add a step after the first one:

1.2 On the PC run: mavproxy.py --master=tcp:127.0.0.1:5760 --out=127.0.0.1:14550 --out=127.0.0.1:14551 However when I do this and try connecting MAVproxy on Odroid to one of the new output ports (14550, 14551), I can no longer access the simulated drone - I get the output Waiting for heartbeat from :14551.

Both ports have been opened to the public using sudo ufw status verbose:

[sudo] password for jawa: Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip

To Action From


14550/tcp ALLOW IN Anywhere
14551/tcp ALLOW IN Anywhere
14550/tcp (v6) ALLOW IN Anywhere (v6)
14551/tcp (v6) ALLOW IN Anywhere (v6) Notice: I have tried connecting the Odroid directly to the PC, without step number 2 (running MAVproxy on Odroid), but I always get an exception. This problem has already been debated.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

AlexanderMarinsek commented 5 years ago

I'm not sure you understood me. To clarify, the bellow steps result in an error:

  1. On the PC run dronekit-sitl copter-3.3
  2. On the PC run mavproxy.py --master=tcp:127.0.0.1:5760 --out=127.0.0.1:14550 --out=127.0.0.1:14551
  3. On the Odroid run mavproxy.py --master=udp:<pc_ip>:14550 --out=udp:127.0.0.1:14561

Failed to connect to udp:<pc_ip>:14550 : [Errno 99] Cannot assign requested address.