Giwi / ryze-tello-sdk

Tello Nodejs lib
https://giwi.github.io/ryze-tello-sdk/
Apache License 2.0
8 stars 3 forks source link
drone nodejs tello tellodrone

Ryze Tello commands

NodeJS utility for the Ryze Tello Drone

Video stream is supported, but you need mplayer.

Usage

yarn install @giwisoft/ryze-tello-sdk

Connect to the Tello's Wifi.

yarn start
'use strict';
const tello = require('./lib/tello');

tello.start()
    .then(() => tello.takeoff())
    .then(() => tello.forward(50))
    .then(() => tello.rotateCCW(360))
    .then(() => {
        return new Promise(resolve =>
            tello.get('h').then(r => {
                console.log('height', r.value);
                resolve()
            }));
    })
    .then(() => tello.backward(50))
    .then(() => tello.land())
    .then(() => tello.stop());

or

const tello = require('./lib/tello');

'use strict';

(async() => {
  // Start the engine
  await tello.start();
  await tello.startStream();
  await tello.startTelemetry({});
  await tello.takeoff();
  // Read the battery status
  console.log('battery', (await tello.get('bat')).value, '%');
  // Go up
  await tello.up(50);
  // Perform a forward flip
  await tello.flip('f');
  // Go forward
  await tello.forward(50);
  await tello.right(20);
  // Read the height
  console.log('height', (await tello.get('h')).value, 'cm');
  // Go backward
  await tello.backward(100);
  await tello.rotateCW(360);
  // Finally land
  await tello.land();
  await tello.stopTelemetry();
  await tello.stopStream();
  // And then shut down the engine
})().then(() => tello.stop());

Tello flight vars

Name Unit Description
h cm height
baro cm barometer
tof cm to floor distance
templ °C min temperature
temph °C max temperature
pitch ° attitude pitch
roll ° attitude roll
yaw ° attitude yaw
agx 0.001g acceleration x
agy 0.001g acceleration y
agz 0.001g acceleration z
vgx cm/s speed x
vgy cm/s speed y
vgz cm/s speed z
bat % battery

RoadMap