zondag 3 oktober 2021

FLYTING AROUND( 2): programming the Tello

The Tello has a dedicated app for children. Go to the app store and download Tello Edu. It works better, because of the screen size, when the app is installed on a tablet.  First you have access to the remote control on screen (1), which works the same as on a cell phone. But there is also an option called blocks. Here you can practice the programming. First in a virtual environment(2), and then in real time.



It is very easy to learn. Children will get the idea behind programming fast and it is fun!

SDK

Tello is equipped with SDK: software development kit. The tello sdk 2.0 user guide gives an overview of programming command. Download here:https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf


Telle sets up its own wifi network using the UDP. The standard IP address for the tello is 192.168.10.1 The following ports are used:

8889 for sending and receiving messages and commands

8890 for receiving messages of the state of the tello

11111 for receiving the video stream

Tello can be programmed using Python. And JavaScript

Python

More advanced is the use of Python. Python has a steep learning curve, but with the help of a python interpreters/ library like for example djitellopy. Install it under Python and you can start programming the Tello using blocks of code. 

Here is a Github link:

 https://github.com/damiafuentes/DJITelloPy. And here is the complete library with commands

DJItellopy library: https://djitellopy.readthedocs.io/en/latest/ .

 I presume you have Python3 up and running. Clone or download the files from Github; unpack in a new directory. Next install djitellopy with:

pip3 install djitellopy

and

python3 -m pip install -U pygame --user

(pygame is a free and open-source cross-platform library for the development of multimedia applications like video games using Python)


Manual control

Open a a terminal  and go to the examples and run them. Here is the example of: manual-control-pygame.py



I used the following keyboard controls:

The controls are:

            - T: Takeoff

            - L: Land

            - Arrow keys: Forward, backward, left and right.

            - A and D: Counter clockwise and clockwise rotations (yaw)

     - W and S: Up and down.



In case you restart with an other example and get the message thst the ‘address is already in use’. Kill all python processes with:


sudo pkill -9 python   

 

And here is an other collection of scripts you can use for experimenting.

https://github.com/dbaldwin/DroneBlocks-DJITelloPy-Tutorial 

JavaScript

Javescript is another possibility to control Tello from the command line.

But you have to install the environment to to load a javascript for execution. I used the Snapstore and searched for npm to install node.js. Install also got with: npm install got

The following github repository has a few to get scripts started:

https://github.com/jsolderitsch/tello-nodejs

Other tello scripts; https://npm.io/search/keyword:tello


You can run for example:


node TelloCommandLine.js


This invites you to send commands to the drone

Tello Command Console

---------------------------------------

Tello> Enter a Tello SDK Command.

Tello> command

Command: command

Data received from server : ok

Tello> takeoff

Command: takeoff

Data received from server : ok

Tello> land

Command: land

Data received from server : ok

Tello> command

Command: command

Data received from server : ok

Tello> takeoff

Command: takeoff

-------------------------------------

If the port is already in use; run sudo pkill -9 node

Geen opmerkingen:

Een reactie posten

Opmerking: Alleen leden van deze blog kunnen een reactie posten.