@0x77/tellots 中文文档教程
TelloTS
Motivation
基于官方 文档。
重构为 TypeScript,从 tellojs 派生。
Installation
使用 npm install @0x77/tellots --save
或 yarn add @0x77/tellots
将其添加到您的项目中
Usage
此 sdk 在您导入下一个功能时提供功能:
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 ;)
*/
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 ;)
*/