This software makes use of: DJI Tello Python API
The owner of this project assumes no responsibility for any damage, issues, or legal consequences resulting from the use of this software. Use it at your own risk and ensure compliance with all applicable laws and regulations.
The code is written and tested with following requirements:
OS | Python |
---|---|
macOS Sequoia | |
macOS Sequoia | |
macOS Sequoia | |
macOS Sequoia | |
macOS Sequoia | |
Debian 12 | |
Debian 12 | |
Debian 12 | |
Debian 12 | |
Debian 12 | |
Unihiker M10 | |
Unihiker M10 | |
Unihiker M10 | |
Unihiker M10 | |
Unihiker M10 |
# clone repository
$ git clone https://github.com/Lupin3000/Tello-Python.git
# change into cloned root directory
$ cd Tello-Python/
# create Python virtualenv (optional but recommended)
$ python3 -m venv venv
# activate Python virtualenv
$ source venv/bin/activate
# update pip (optional)
(venv) $ pip3 install -U pip
# install required dependencies
(venv) $ pip3 install -r <SYSTEM>-requirements.txt
# show packages (optional)
(venv) $ pip3 freeze
For more details, have a look on the Wiki. There, various systems are discussed in more detail.
- Mandatory: Connect controller by USB or Bluetooth (verify correct mapping configuration
config/*.ini
). - Mandatory: Turn on Tello Drone (in best case the drone is 100% charged).
- Mandatory: Connect WLAN of your computer to the Tello Drone AP (Default is: TELLO-??????).
- Optional: Decide whether you want to enable or disable the HUD (for video streaming).
- Optional: Check your surroundings to see if you can fly the drone safely.
- Mandatory: Run the Python application (use file
main.py
).
Have a look on this Wiki page for more details about WLAN connection (to the Tello drone).
# run application
(venv) $ python3 main.py
After takeoff, the Tello sensors require a few seconds to calibrate. During this time, the drone will not respond to controller inputs.
Controllers
OS | Controller | Configuration |
---|---|---|
macOS | Google Stadia-Controller | stadia_macos.ini |
macOS | Sony DualSense Wireless Controller | dualsense_macos.ini |
Linux | Google Stadia-Controller | stadia_linux.ini |
Linux | Sony DualSense Wireless Controller | dualsense_linux.ini |
Assignment
- Stadia [Y] - DualSense [▲]: for drone takeoff.
- Stadia [A] - DualSense [X]: for drone landing.
- Stadia [X] - DualSense [◼]: for capture a photo (picture will be saved as PNG into directory "photos").
- Left analog stick: move up, move down, rotation clockwise and rotation counterclockwise.
- Right analog stick: move forward, move backward, move left and move right.
The photos are created as PNG files (with timestamp in name) during the live stream. The resolution and quality therefore depend on the live stream. The
photos
folder will be created automatically if it doesn't already exist. If you turn off the stream, you cannot save pictures!
In the Wiki you will find more details to create your own configurations.
Currently, this project is only fully supported on macOS and Linux. Users on other operating systems might encounter compatibility issues or limitations when running the project. Please ensure you are using macOS or Linux for the best experience.
- Add more controller actions (eq. drone flip, video recording, etc.)