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.6
Feel free to contribute!
pip install djitellopy
For Linux distributions with both python2 and python3 (e.g. Debian, Ubuntu, ...) you need to run
pip3 install djitellopy
Using the commands below you can install the repository in an editable way. This allows you to modify the library and use the modified version as if you had installed it regularly.
git clone https://github.com/damiafuentes/DJITelloPy.git
cd DJITelloPy
pip install -e .
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. Comments in the examples are mostly in both english and chinese.
- taking a picture
- recording a video
- flying a swarm (multiple Tellos at once)
- simple controlling using your keyboard
- mission pad detection
- 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.
- Bright environment is necessary for successful use of mission pads.
- 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 (TODO: needs confirmation with the new SDK3
port
commands)
- >1.5 Million views Youtube: Drone Programming With Python Course
- German magazine "Make": "KI steuert Follow-Me-Drohne" (paywall), authors notes, github repo
- Webinar on learn.droneblocks.io: "DJITelloPy Drone Coding", github repo
- Universities & Schools using DJITelloPy in projects or in class:
- Damià Fuentes Escoté
- Jakob Löw
- and more
This project is licensed under the MIT License - see the LICENSE.txt file for details
从理论上来说,这个可以使用php来实现对无人机的控制。关键点是抓包sdk传输给无人机的数据,如果是明文,那么直接发送命令即可,如果是加密,那么需要找到 相关的sdk加密方式。本质上是udp通信,使用udp传输命令。