Asyncio-based control library for the Tello drone
Project description
tello-asyncio
A library for controlling and interacting with the Tello EDU drone using modern asynchronous Python. All operations are implemented as awaitable coroutines, completed when the drone sends acknowledgment of the command message.
Package tello-asyncio on PyPi.
$ pip3 install tello-asyncio
import asyncio
from tello_asyncio import Tello
async def main():
drone = Tello()
try:
await drone.connect()
await drone.takeoff()
await drone.turn_clockwise(360)
await drone.land()
finally:
await drone.disconnect()
asyncio.run(main())
See the examples directory for more usage example scripts.
Requires Python 3.6+. Developed and tested with Python 3.9.4 in Mac OS and 3.6.9 in Ubuntu 18.04 on a Jetson Nano. The tello_asyncio package has no other dependencies (and never will have any), but some examples need other things to be installed to work.
Full documentation is available on Read the docs
Version History
1.0.0
Basic drone control
- UDP connection for sending commands and receiving responses (default AP mode only - you must join the drone's own WiFi network)
- take off and land
- rotate clockwise and counter-clockwise
- move up, down, left, right, forward and back
1.1.0
Drone state
- listens for and parses UDP state messages (not yet including the mission pad related values)
- access via the read only
state
object attribute, or via shortcuts likeheight
,temperature
etc - constructor takes an optional
on_state
callback argument for notification of new state - or use the asynchronous generator
state_stream
for an infinite stream of updates
1.2.0
Advanced drone control
- flips
- go/curve to relative position
- emergency stop
Video
- start/stop video stream
- video url
Error handling
- handles error command responses from drone
1.3.0
Complete SDK
- mission pads
- wifi
- remote control
Video
- raw video frame data via callback or async generator
Error handling
- detects command/response mismatch
1.3.1
- Documentation
1.3.2
- Documentation on Read the docs
1.4.0
- Video frame data reassembled properly from UDP packet chunks
- Working video frame decoding example
1.4.1
- Video in OpenCV example
1.5.0
- Python 3.6 support
** 1.6.0 **
- Drone instance passed to state and video callbacks
- Wait for WiFi network (Linux only)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tello_asyncio-1.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 976f402ed2c9881682842026b1ebcbc2110e2f6c48aaaf44e7725305a8ce9966 |
|
MD5 | 67bb7683abe63494a29175c7b27487b9 |
|
BLAKE2b-256 | cf2f2a727c827a9324b6434cf6ffef4ba03c07acbd99bd879942b827071628e0 |