DJI Tello drone python interface using the official Tello SDK and Tello EDU SDK. This library has the following features:
- implementation of all tello commands
- easily retrieve a video stream
- receive and parse state packets
- control a swarm of drones
- support for python >= 3.5
Feel free to contribute!
$ pip install https://github.com/damiafuentes/DJITelloPy/archive/master.zip
For Linux distributions with both python2 and python3 (e.g. Debian, Ubuntu, ...) you need to run
$ pip3 install https://github.com/damiafuentes/DJITelloPy/archive/master.zip
$ pip install --upgrade pip
$ git clone https://github.com/damiafuentes/TelloSDKPy.git
$ cd TelloSDKPy
$ pip install -r requirements.txt
Run the following command from the root directory that contains the file setup.py
to install djitellopy
from its working directory in developer mode.
It is recommended to install this package in a virtual environment. Check Virtual Environments and Packages Tutorial to learn how to create and activate a Python virtual environment.
$ pip install -e .
The -e
option will install the package in editable or developer mode so every time you make a change it will be included in the package automatically.
See djitellopy.readthedocs.io for a full reference of all classes and methods available.
from djitellopy import Tello
tello = Tello()
tello.connect()
tello.takeoff()
tello.move_left(100)
tello.rotate_counter_clockwise(90)
tello.move_forward(100)
tello.land()
In the examples directory there are some code examples:
- taking a picture
- recording a video
- flying a swarm (multiple tellos at once)
- simple controlling using your keyboard
- fully featured manual control using pygame
- If you are using the
streamon
command and the response isUnknown command
means you have to update the Tello firmware. That can be done through the Tello app. - Mission pad detection and navigation is only supported by the Tello EDU.
- Connecting to an existing wifi network is only supported by the Tello EDU.
- When connected to an existing wifi network video streaming is not available.
- Damià Fuentes Escoté
- Jakob Löw
- and more
This project is licensed under the MIT License - see the LICENSE.txt file for details