Natively Pronounced Mandarin

    @0x77/tellots
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.2 • Public • Published

    TelloTS

    Build npm GitHub license Maintenance

    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 ;)
    */

    Install

    npm i @0x77/tellots

    DownloadsWeekly Downloads

    3

    Version

    0.2.2

    License

    MIT

    Unpacked Size

    56 kB

    Total Files

    52

    Last publish

    Collaborators

    • 0x77