Node-RED flows to control the Ryze / DJI Tello Drone
This repository contains Node-RED flow examples that demonstrate how to control the DJI Drone using the Node-RED visual editor.
Flying the Tello drone with the Android/iOS mobile apps is amazing fun but the Tello has another fantastic feature. The Tello includes a programming interface that developers can use to send commands to control the drone. Programming APIs can also receive telemetry and video stream data from the Tello. Ryze and DJI provide SDK programming documentation to help developers learn how to program the drone. Tello programming has grown so popular that they have released a Tello EDU version that has additional SDK documentation. An entire open source community has formed around programming the Tello. If you are a developer, a good place to start is the TelloPilots forums. There are dozens of github repositories that have programming examples written in Python, Go, Swift and Node.js. This Node-RED implementation was inspired by the Tello Scratch node.js example.
To help you get familiar with Node-RED and how to control the Tello drone this git repository is split into a number of sections, where you have tasks to complete in each section. If you just want to have fun with the drone and prefer not to do the tasks then jump into the flows folder and use the solutions.
- Learn about Node-RED
- Install Node-RED
- Send SDK commands to the drone
- Build a Node-RED dashboard
- Receive telemetry data from the drone
- Create missions for your drone
- Take pictures
- Use Visual Recognition on drone pictures
- Train a Visual Recognition Custom Classifier of drone pictures
As a reminder, Safety First! Take caution when flying your drone. Fly your drone indoors at your own risk. Also, be respectful of your neighbors and public property when flying your drone outdoors. When recording video and taking pictures, be mindful of other people's privacy. Obey all FAA regulatory restrictions posted about UAV flight prohibitions.
Enjoy! Give us feedback if you have suggestions on how to improve this tutorial.
This tutorial is licensed under the Apache Software License, Version 2. Separate third party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 (DCO) and the Apache Software License, Version 2.