# DJITelloPy
## [中文文档 (Chinese version of this readme)](README_CN.md)
DJI Tello drone python interface using the official [Tello SDK](https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/Tello%20SDK%20Documentation%20EN_1.3.pdf) and [Tello EDU SDK](https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf). 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!
## Install using pip
```
pip install djitellopy
```
For Linux distributions with both python2 and python3 (e.g. Debian, Ubuntu, ...) you need to run
```
pip3 install djitellopy
```
## Install in developer mode
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 .
```
## Usage
### API Reference
See [djitellopy.readthedocs.io](https://djitellopy.readthedocs.io/en/latest/) for a full reference of all classes and methods available.
### Simple example
```python
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()
```
### More examples
In the [examples](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/) directory there are some code examples.
Comments in the examples are mostly in both english and chinese.
- [taking a picture](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/take-picture.py)
- [recording a video](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/record-video.py)
- [flying a swarm (multiple Tellos at once)](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/simple-swarm.py)
- [simple controlling using your keyboard](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/manual-control-opencv.py)
- [mission pad detection](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/mission-pads.py)
- [fully featured manual control using pygame](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/manual-control-pygame.py)
### Notes
- If you are using the `streamon` command and the response is `Unknown 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)
## DJITelloPy in the media and in the wild
- \>1.5 Million views Youtube: [Drone Programming With Python Course](https://youtu.be/LmEcyQnfpDA?t=1282)
- German magazine "Make": ["KI steuert Follow-Me-Drohne" (paywall)](https://www.heise.de/select/make/2021/6/2116016361503211330), [authors notes](https://www.jentsch.io/ki-artikel-im-aktuellen-make-magazin-6-21/), [github repo](https://github.com/msoftware/tello-tracking)
- Webinar on learn.droneblocks.io: ["DJITelloPy Drone Coding"](https://learn.droneblocks.io/p/djitellopy), [github repo](https://learn.droneblocks.io/p/djitellopy)
- Universities & Schools using DJITelloPy in projects or in class:
- [Ball State University in Muncie, Indiana](https://www.bsu.edu/)
- [Technical University Kaiserslautern](https://www.uni-kl.de/)
- [Sha Tin College, Hong Kong](https://shatincollege.edu.hk/)
- [University of São Paulo](https://www5.usp.br/)
- [add yours...](https://github.com/damiafuentes/DJITelloPy/edit/master/README.md)
## Authors
* **Damià Fuentes Escoté**
* **Jakob Löw**
* [and more](https://github.com/damiafuentes/DJITelloPy/graphs/contributors)
## License
This project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details
Raw data
{
"_id": null,
"home_page": "https://github.com/damiafuentes/DJITelloPy",
"name": "djitellopy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "tello,dji,drone,sdk,official sdk",
"author": "Jakob L\u00f6w",
"author_email": "djitellopy@m4gnus.de",
"download_url": "https://files.pythonhosted.org/packages/fe/82/0717caed52cfa427c12a0cabf2ff91f9a2c9f94acf73206c5c2be9992595/djitellopy-2.5.0.tar.gz",
"platform": null,
"description": "# DJITelloPy\n## [\u4e2d\u6587\u6587\u6863 (Chinese version of this readme)](README_CN.md)\n\nDJI Tello drone python interface using the official [Tello SDK](https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/Tello%20SDK%20Documentation%20EN_1.3.pdf) and [Tello EDU SDK](https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf). This library has the following features:\n\n- implementation of all tello commands\n- easily retrieve a video stream\n- receive and parse state packets\n- control a swarm of drones\n- support for python >= 3.6\n\nFeel free to contribute!\n\n## Install using pip\n```\npip install djitellopy\n```\n\nFor Linux distributions with both python2 and python3 (e.g. Debian, Ubuntu, ...) you need to run\n```\npip3 install djitellopy\n```\n\n## Install in developer mode\nUsing 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.\n\n```\ngit clone https://github.com/damiafuentes/DJITelloPy.git\ncd DJITelloPy\npip install -e .\n```\n\n## Usage\n### API Reference\nSee [djitellopy.readthedocs.io](https://djitellopy.readthedocs.io/en/latest/) for a full reference of all classes and methods available.\n\n### Simple example\n```python\nfrom djitellopy import Tello\n\ntello = Tello()\n\ntello.connect()\ntello.takeoff()\n\ntello.move_left(100)\ntello.rotate_counter_clockwise(90)\ntello.move_forward(100)\n\ntello.land()\n```\n\n### More examples\nIn the [examples](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/) directory there are some code examples.\nComments in the examples are mostly in both english and chinese.\n\n- [taking a picture](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/take-picture.py)\n- [recording a video](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/record-video.py)\n- [flying a swarm (multiple Tellos at once)](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/simple-swarm.py)\n- [simple controlling using your keyboard](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/manual-control-opencv.py)\n- [mission pad detection](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/mission-pads.py)\n- [fully featured manual control using pygame](https://github.com/damiafuentes/DJITelloPy/tree/master/examples/manual-control-pygame.py)\n\n### Notes\n- If you are using the `streamon` command and the response is `Unknown command` means you have to update the Tello firmware. That can be done through the Tello app.\n- Mission pad detection and navigation is only supported by the Tello EDU.\n- Bright environment is necessary for successful use of mission pads.\n- Connecting to an existing wifi network is only supported by the Tello EDU.\n- When connected to an existing wifi network video streaming is not available (TODO: needs confirmation with the new SDK3 `port` commands)\n\n## DJITelloPy in the media and in the wild\n- \\>1.5 Million views Youtube: [Drone Programming With Python Course](https://youtu.be/LmEcyQnfpDA?t=1282)\n- German magazine \"Make\": [\"KI steuert Follow-Me-Drohne\" (paywall)](https://www.heise.de/select/make/2021/6/2116016361503211330), [authors notes](https://www.jentsch.io/ki-artikel-im-aktuellen-make-magazin-6-21/), [github repo](https://github.com/msoftware/tello-tracking)\n- Webinar on learn.droneblocks.io: [\"DJITelloPy Drone Coding\"](https://learn.droneblocks.io/p/djitellopy), [github repo](https://learn.droneblocks.io/p/djitellopy)\n- Universities & Schools using DJITelloPy in projects or in class:\n - [Ball State University in Muncie, Indiana](https://www.bsu.edu/)\n - [Technical University Kaiserslautern](https://www.uni-kl.de/)\n - [Sha Tin College, Hong Kong](https://shatincollege.edu.hk/)\n - [University of S\u00e3o Paulo](https://www5.usp.br/)\n - [add yours...](https://github.com/damiafuentes/DJITelloPy/edit/master/README.md)\n\n## Authors\n\n* **Dami\u00e0 Fuentes Escot\u00e9**\n* **Jakob L\u00f6w**\n* [and more](https://github.com/damiafuentes/DJITelloPy/graphs/contributors)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tello drone library including support for video streaming, swarms, state packets and more",
"version": "2.5.0",
"project_urls": {
"Download": "https://github.com/damiafuentes/DJITelloPy/archive/2.5.0.tar.gz",
"Homepage": "https://github.com/damiafuentes/DJITelloPy"
},
"split_keywords": [
"tello",
"dji",
"drone",
"sdk",
"official sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a7068da29bca8ec949043b840e00cad95ba96d3ad31cbec20cad2d409c0c7e37",
"md5": "fc3d36855b8124b5d155e4dcb9876c35",
"sha256": "525e9072dfb53a1f43051b6a8cbe33737def8430e8bf7b838c44a4c485c961e8"
},
"downloads": -1,
"filename": "djitellopy-2.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fc3d36855b8124b5d155e4dcb9876c35",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 15412,
"upload_time": "2023-06-09T16:31:19",
"upload_time_iso_8601": "2023-06-09T16:31:19.589354Z",
"url": "https://files.pythonhosted.org/packages/a7/06/8da29bca8ec949043b840e00cad95ba96d3ad31cbec20cad2d409c0c7e37/djitellopy-2.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fe820717caed52cfa427c12a0cabf2ff91f9a2c9f94acf73206c5c2be9992595",
"md5": "d379dbe86f9d05907c659e0281854d92",
"sha256": "fae6c9a353404a61ce362c6766efe0d23cf559fdeaf60cbc72c75e4896d780cd"
},
"downloads": -1,
"filename": "djitellopy-2.5.0.tar.gz",
"has_sig": false,
"md5_digest": "d379dbe86f9d05907c659e0281854d92",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 16533,
"upload_time": "2023-06-09T16:31:21",
"upload_time_iso_8601": "2023-06-09T16:31:21.720331Z",
"url": "https://files.pythonhosted.org/packages/fe/82/0717caed52cfa427c12a0cabf2ff91f9a2c9f94acf73206c5c2be9992595/djitellopy-2.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-09 16:31:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "damiafuentes",
"github_project": "DJITelloPy",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "numpy",
"specs": [
[
"==",
"1.20.1"
]
]
},
{
"name": "av",
"specs": [
[
"==",
"8.0.3"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"8.4.0"
]
]
}
],
"lcname": "djitellopy"
}