@0x77/tellots
v0.2.2
Published
async based library to be able to control de dji tello drone, forked from tellojs project
Downloads
5
Readme
TelloTS
Motivation
Provide an async promise based unofficial sdk for the tello drone based on the official documentation.
Refactored to TypeScript, forked from tellojs.
Installation
add it to your project using npm install @0x77/tellots --save
or yarn add @0x77/tellots
Usage
this sdk provide functions when you import for the next capabilities:
import sdk from "@0x77/tellots";
// or
// const sdk = require('@0x77/tellots')
const x = number,
y = number,
z = number,
speed = number,
yaw = number,
start = {x, y, z},
end = {x, y, z},
ssid = string,
password = string
//CONTROL COMMANDS
await sdk.control.connect() // Enter SDK mode.
await sdk.control.takeOff() // Auto takeoff.
await sdk.control.land() // Auto landing.
await sdk.control.emergency() // Stop motors immediately
await sdk.control.stop() // Hovers in the air
await sdk.control.move.up(x) // Ascend to “x” cm.
await sdk.control.move.down(x) // Descend to “x” cm.
await sdk.control.move.left(x) // move left to “x” cm.
await sdk.control.move.right(x) // move right to “x” cm.
await sdk.control.move.front(x) // move forward to “x” cm.
await sdk.control.move.back(x) // move backwards to “x” cm.
await sdk.control.move.go(end, speed) // fly to x y z in speed (cm/s)
await sdk.control.move.curve(start, end, speed) // fly to x y z in speed (cm/s)
await sdk.control.rotate.clockwise(x) // rotate clockwise 'x' degrees.
await sdk.control.rotate.counterClockwise(x) // rotate counter clockwise 'x' degrees.
await sdk.control.flip.left() // Flip to the left.
await sdk.control.flip.right() // Flip to the right.
await sdk.control.flip.back() // Flip in backward.
await sdk.control.flip.front() // Flip in forward.
//SET COMMANDS
await sdk.set.speed(x) // set speed to x cm/s
await sdk.set.rc(x, y, z, yaw) // Send RC control via four channels.
await sdk.set.wifi(ssid, password) // Set Wi-Fi with SSID password
//READ COMMANDS
await sdk.read.speed() // Obtain current speed (cm/s).
await sdk.read.battery() // Obtain current battery percentage.
await sdk.read.time() // Obtain current flight time.
await sdk.read.height() // Obtain get height (cm)
await sdk.read.temperature() // Obtain temperature (°C)
await sdk.read.attitude() // Obtain IMU attitude data
await sdk.read.barometer() // Obtain barometer value (m)
await sdk.read.tof() // Obtain distance value from TOF(cm)
await sdk.read.acceleration() // Obtain IMU angular acceleration data (0.001g)
await sdk.read.wifi() // Obtain Wi-Fi SNR.
//STREAM STATE
const stateEmitter = sdk.receiver.state.bind() // Binding to port of state
stateEmitter.on('message', res => console.log) // React to messages on received
sdk.receiver.state.close() // Stop receiving messages
//STREAM VIDEO
const videoEmitter = sdk.receiver.video.bind() // Binding to port of video
videoEmitter.on('message', res => console.log) // React to messages on received
sdk.receiver.video.close() // Stop receiving messages
/*
Example output of state:
{
pitch: 1,
roll: 0,
yaw: 0,
speed: { x: 0, y: 0, z: 0 },
temperature: { low: 51, high: 53 },
tof: 6553,
height: 0,
battery: 87,
barometer: 24.65,
time: 0,
acceleration: { x: 16, y: 3, z: -990 }
}
Example output of video: is binary ;)
*/