Node-RED flows to capture the video stream of the Ryze / DJI Tello Drone
This repository contains Node-RED flow examples that demonstrate how to capture the video stream from a DJI Tello 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 builds on the Node-RED Tello Control flows that John Walicki previously published.
There are two programs that work together to this repository:
- telloview - Follow these instructions to set up and run a Node.js webserver to stream the video from the Tello.
- Node-RED flows that you can import into your Node-RED visual editor.
- Install Node-RED
- Import the Tello Videostream Starter flow into your Node-RED editor.
- This initial flow does not have any controls to fly the drone. The intent is to demonstrate capturing the video stream from the Tello before you fly it. You can hold the Tello and wave the camera around. If you want to fly and capture the stream you will need the Tello mobile app or other Node-RED Tello Control Dashboards
- Launch the Node-RED Dashboard by turning to the Dashboard tab in the right menu and then click on the launch button.
- Start the Tello Drone, connect to the Tello WiFi, and run the telloview video streaming node application.
- In the Node-RED Dashboard, click on the start stream button
- Now that we've confirmed that the videostream is working, let's add some control buttons to fly the Tello.
- The Node-RED-Tello-Control git repository has Dashboard control buttons. In this next flow, we'll merge the control buttons into the dashboard so that we can easily fly the drone.
- Copy the Node-RED-Tello-VideoStream-Control-Dashboard.json flow to the clipboard and import the json into your Node-RED Editor.
- Launch the Node-RED Dashboard by turning to the Dashboard tab in the right menu and then click on the launch button.
- Start the Tello Drone, connect to the Tello WiFi, and run the telloview video streaming node application.
- In the Node-RED Dashboard, click on the start stream button
- Use the Control buttons to fly the drone.
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.