Coding4Fun Drone posts
- Introduction to DJI Tello
- Analyzing Python samples code from the official SDK
- Drone Hello World ! Takeoff and land
- Tips to connect to Drone WiFi in Windows 10
- Reading data from the Drone, Get battery level
- Sample for real time data read, Get Accelerometer data
- How the drone camera video feed works, using FFMPEG to display the feed
- Open the drone camera video feed using OpenCV
- Performance and OpenCV, measuring FPS
- Detect faces using the drone camera
- Detect a banana and land!
- Flip when a face is detected!
I’ll start to write a couple of posts about controlling a drone using Python. This all started at the end of 2019 when my friend Daniel (@danielcauser) told me that he was playing around with the DJI Tello Drone (see references). This drone is a small quadcopter that features a Vision Positioning System and an onboard camera.
The drone is a perfect balance between a toy and also a capable device to play around with some code. The price is around U$D100, so it’s not very expensive. And the main specifications are very cool for a device of this price
DJI Tello Specs
- 720p Videos
- 5MP Photos
- Takeoff and Landing from Your Hand
- Intel Processor
- Programmable via Scratch SDK
- Free Tello App with User-Friendly UI
- Compatible with Bluetooth Controllers
DJI Tello Features
- Collision detection system
- Auto Takeoff
- Auto Landing
- Low Battery protection features
- DJI’s flight stabilization technology
This is not a new device, so you may find several reviews online for the device. I’ll keep this mostly focused on the programming side.
One of the key features of the device is focused on the programming capabilities for this drone. DJI provides a couple of applications to interact with the drone and also a Tello EDU app focused on education and introduction to programming and controlling the drone using Scratch.
As part of this Edu package there is a Tello SDK PDF document (see references) where we can find the description for all the commands to control the drone. The communication is via UDP, so we only need to connect to the device Wifi, and … start to have fun!