About local controllers#
Parrot Sphinx creates a virtual Ethernet interface on the host side as well as
in the simulated drone. On the host side, the interface is generally called
fd_veth0 and has the IP address
10.202.0.254. On the drone side,
it is called
eth1 and gets the IP address
To use the virtual Ethernet link, the controller application should run on the host so that the local interface is accessible. If you really need to run the controller application from another machine belonging to the same IP network, you need to activate the port forwarding mode, by using the following machine parameter.
$ sphinx <my.drone>::remote_ctrl_ip=<remote_ip_addr>
Be aware that port forwarding may conflict with any required ports that would be already taken by another process running on the host.
qdronectrl is a desktop application that lets you:
control a simulated drone with a keyboard
visualize the front camera stream
send SDK commands
define flight plans
qdronectrl automatically discovers reachable Parrot devices visible
on any virtual Ethernet interface. So once a simulation is running, you should
just have to click on the
The list of keyboard shortcuts to control the drone can be found in ‘Tools > Options’.
Olympe is a Python3 module belonging to Parrot Ground SDK. It allows you to easily write Python scripts to control the drone using the virtual Ethernet interface.
Here is an example requesting the drone to take off, then to land.
import olympe import time import olympe.messages.ardrone3.Piloting as piloting DRONE_IP="10.202.0.1" drone = olympe.Drone(DRONE_IP) drone.connect() assert drone(piloting.TakeOff()).wait().success() time.sleep(12) assert drone(piloting.Landing()).wait().success() drone.disconnect()
You can also use Olympe with a Wi-Fi interface and/or with a real drone.