dji ROBOMASTER TT SDK 3.0 User Guide
- June 7, 2024
- DJi
Table of Contents
ROBOMASTER TT
SDK 3.0 User Guide
V1.0
2021.04
Overview
The TT SDK connects to drones via Wi-Fi UDP protocol, allowing users to
control drones through text commands.
After installing the RoboMaster SDK, users can control the TT product,
including the open-source
TT controller and the drone itself. For specific instructions, visit the
following website:
https://robomaster-dev.readthedocs.io/latest/
Safety Function
After Tello executes the current command, if no command input is received (other than the [TELLO] battery?” command sent by the open-source controller for the battery status) within 15s, it will automatically land.
Resetting Wi-Fi
In the power-on state, long-press the power button for 5s, during which, the drone will reboot after the status indicator goes out. When the status indicator quickly flashes yellow, the SSID and password of the Wi-Fi network will be reset to their factory default settings, with no password required by default.
Architecture
Users can use a Wi-Fi network to connect the Tello drone to a PC, Mac, or
mobile device.
Sending Commands and Receiving Responses
Tello IP: 192.168.10.1 UDP PORT: 8889 << – – >> PC / Mac / Mobile
Remark 1: Set up a UDP client on a PC, Mac, or mobile device to send
commands to Tello UDP port 8889 and receive responses.
Remark 2: Before sending any other commands, send the “command” command
to the Tello UDP port 8889 to launch Tello’s SDK mode.
Receive Tello State
Tello IP: 192.168.10.1 – >> PC / Mac / Mobile UDP Server: 0.0.0.0 UDP
PORT:8890
Remark 3: Complete the operations in Remark 1 and Remark 2 before
proceeding. Set up a UDP server on the PC, Mac, or mobile device to receive
messages from IP 0.0.0.0 via UDP port 8890.
- For the detailed status information, see 5. Tello Status.
Receiving Tello Video Streams
Tello IP: 192.168.10.1 – >> PC / Mac / Mobile UDP Server: 0.0.0.0 UDP PORT:11111
Remark 4: Set up a UDP server on the PC, Mac, or mobile device to receive messages from IP 0.0.0.0 via UDP port 11111.
Remark 5: After performing the operations in Remark 1 and Remark 2, send the “stream” command to Tello UDP port 8889 to start receiving Tello video streams.
Tello Command Types and Results
The SDK commands received by Tello can be grouped into three basic types.
Control command (xxx)
- Tello returns “ok” if the command was executed successfully.
- Tello returns “error” or a result code if the command failed.
Setting command (xx a)
- Setting command (xx a) will attempt to set a new sub-parameter value (a).
- Tello returns “ok” if the command was executed successfully.
- Tello returns “error” or a result code if the command failed.
Read command (xx?)
- Read the real-time sub-parameter value.
UDP->Tello Commands
Control Commands
Command| Description|
Possible Response
---|---|---
command| Enter SDK command mode.| ok / error / unactive
takeoff| Auto take-off| ok / error
land| Auto landing
stream on| Turn on the video stream.
stream off| Turn off the video stream.
emergency| Stop the motor from running.
up x| Fly upward by x cm.
x = 20-500| ok/error + error status
down x| Fly downward by x cm.
x = 20-500
left x| Fly leftward by x cm. |
x = 20-500
right x| Fly rightward by x cm.
x = 20-500
| ok/error + error status
forward x| Fly forward by x cm.
x = 20-500
back x| Fly backward by x cm.
x = 20-500
cw x| Rotate clockwise by x°.
x = 1-360
ccw x| Rotate counterclockwise by x°.
x = 1-360
motoron| Enter Motor-On mode (*Note 1).| ok / error
motoroff| Exit Motor-On mode.
throwfly| Throw to launch. Throw the drone horizontally within 5s of sending
the command.
flip x| Roll in the x-direction.| ok / error
I = (left)
r =(right)
f = (forward)
b = (back)
go x y z speed| Fly to the coordinates (x,y,z) at the set speed (cm/s).|
ok/error + error status
x: -500 – 500
y: -500 – 500
z: -500 – 500 speed: 10-100 (cm/s)
x, y, and z cannot be between -20 and 20 at the same time
stop| Stop moving and hover immediately.| ok / error
curve xl yl zl x2 y2
z2 speed
| Fly in a curve from (x1,y1,z1) to (x2,y2,z2) at the set speed (cm/s).
If the radius of the curve is not within 0.5-10 meters, the corresponding
reminder will be returned.| ok/error + error status
x1, x2: -500 – 500
y1, y2: -500 – 500
z1, z2: -500 – 500
speed: 10-60
x, y, and z cannot be between -20 and 20 at the same time
go x y z speed mid| Fly to the coordinate point (x, y, z) in the coordinate
system of the mission pad with the specified ID at the set speed (m/s)(*Note
2).
x: -500 – 500
y: -500 – 500
z: 0 – 500
speed: 10-100 (cm/s)
x, y, and z cannot be between -20 and 20 at the same time
curve xl yl zl x2 y2
z2 speed mid
| Fly in a curve from point (x1,y1,z1) to point (x2,y2,z2) in the coordinate
system of the mission pad with the set mid at the set speed (cm/s).
If the radius of the curve is not within 0.5-10 meters, the corresponding
reminder will be returned.
x1, x2:-500 – 500
y1, y2: -500 – 500
z1, z2: 0 – 500
speed: 10-60
x, y, and z cannot be between -20 and 20 at the same time
jump x y z speed yaw midi mid2
| Tello flies to the point (x,y,z) in the midi coordinate system and hovers.
Then, it identifies the mission pad of mid2 and rotates to the position
(0,0,z) in the mid2 coordinate system to set the yaw value (z>0).
reboot| Reboot the drone.
No response| No response (success)/error
Setting Commands
Command
| Description|
Possible Responst
---|---|---
speed x| Set the current speed to x cm/s.
x = 10-100| ok / error
rcabcd| Set the lever force values for the four channels of the
remote control.
a: roll (-100 to 100)
b: pitch (-100 to 100)
c: throttle (-100 to 100)
d: yaw (-100 to 100)| No response
wifi ssid pass| Change the Tello Wi-H password.
ssid: The new Wi-Fi account
pass: The new Wi-Fi password
If an open-source controller is connected, ssid adds the RMTT- prefix by
default. Otherwise, it adds the
TELLO- prefix.| OK, drone will
reboot in 3s
mon| Enables mission pad.
By default, downward detection is enabled.| ok / error
moff| Disables mission pad detection.
mdirection x| X=0/1/2
0: downward detection enabled.
1: forward detection enabled.
2: both forward and downward detection enabled.
Before use, you must use the mon command to
enable the detection function. Downward detection is
enabled by default.
When either forward-looking or downward-looking
detection is enabled alone, the detection frequency
is 20Hz. If both enabled, detection will be performed
alternatively, with a frequency of 10Hz in each
direction
ap ssid pass| Switch Tello to Station mode and connect to the AP.
ssid: the Wi-Fi account to connect to
pass: the Wi-Fi password| OK, the drone will
reboot in 3s
wifisetchannel xxx| Set the -WiFi channel of the open-source controller.
xxx indicates the channel to be set. Note: To clear
the channel settings, you need to clear the Wi-Fi
information. Then, set a channel that complies with local policies and
regulations.
(Only applies to the open-source controller)| ok / error
port info vedio| Set the ports for pushing status information and video
streams. Here, info is the port for pushing status information, and video is
the port for pushing video information. The range of ports is 1025 to 65535.
setfps fps| Set the video stream frame rate. The fps parameter
specifies the frame rate, whose value can be “high”,
*middle, or “low”, indicating 30fps, 15fps, and 5fps,
respectively.
Read Commands
Command | Description | Possible Response |
---|---|---|
speed? | Get the current set speed (cm/s). | x |
x = (10-100)
battery?| Get the percentage (%) indicating the current battery
level.| x
x = (10-100)
time?| Get the motor running time (s).| x
wifi?| Get the Wi-Fi SNR.| SNR
sdk?| Get the Tello SDK version number.| xx(>=20)
sn?| Get the Tello SN.| Production SN
hardware?| Get whether TT is connected to an open-source controller. If yes,
it returns RMTT; if not, it returns TELLO.| TELLO/RMTT
wifiversion?| Query the -WiFi version of the open-source controller.
(Only applies to the open-source controller)| wifivx.x.x.x
ap?| Get the name and password of the current router
to be connected. (Only applies to the open-source
controller)| Name and password of the router to be
connected
ssid?| Get the current SSID of the drone. (Only applies to the
open-source controller)| In STA mode:
factory default SSID;
in AP mode: user-defined SSID and
password
multi wifi ssid pass| Set the SSID and password of the open-source controller.
This feature supports connection to multiple devices as a router.| ok / error
Open-source Controller- >Tello Commands
To program the open-source controller ESP32, sending “[TELLO] (space)”+
UDP->Tello command through a serial port can achieve the same effect as
UDP->Tello command description.
Note that all commands that the open-source controller ESP32 receives from
TELLO contain the “ETT (space)” prefix and “\r\n” (line break) suffix.
For example: Instruct the drone to take off via open-source controller ESP32.
ESP32->Tello: “[TELLO] takeoff” Tello->ESP32: “ETT ok\r\n”
UDP- >Open-source controller ESP32
*Only factory firmware is supported. To reset the factory firmware, see the User Manual.
Command
| Description|
Possible Response
---|---|---
EXT led r g b| Light up the top LED in the specified color. The r, g, and b
variables indicate the red, green, and blue channels, respectively.
r: 0-255
g: 0-255
b: 0-255| led ok/error
EXT led br t r g b| The top LED displays the pulse effect according to the max
pulse brightness (r, g, b) and pulse frequency t.
The cycle from dimmest to brightest to dimmest again is counted as one pulse.
r, g, b: 0~255
t: 0.1-2.5Hz
EXT led bl t a1 b1 c1
a2 b2 c2
| The top LED flashes alternately between color 1 (r1, g1, b1) and color (r2,
g2, b2) according to the flash frequency t.
a1 b1 c1 a2 b2 c2: 0~255
t: 0.1-10Hz| mled ok/error
EXT mled g xxxxx| Light up the dot-matrix display with the specified pattern.
xxxx: (*Note 3)
EXT mled l/r/u/d r/b/ p
t xxxx
| The dot-matrix display indicates the direction of movement as a string.
l/r/u/d indicates left/right/up/down movement.
r/b/p indicates the display color the string.
t: 0.1-2.5Hz, indicating the frame rate of the image.
xxxx indicates the string to be displayed, which cannot exceed 70 characters.
EXT mled l/r/u/d g t
xxxx
| The dot-matrix display indicates the direction of movement as an image.
l/r/u/d indicates left/right/up/down movement.
r/b/p indicates the display color the string.
t: 0.1-2.5Hz, indicating the frame rate of the image.
xxxx: (Note 3)
EXT mled s r/b/p xxxx| Display static ASCII character or a preset pattern.
r/b/p indicates the display color of the string. xxxxx can only be “heart” or
an ASCII character.
EXT mled sg xxxx| Set the dot-matrix display boot animation. The pattern set
will be displayed after every boot.
xxxx: (Note 3)
EXT mled sc| Clear the set boot animation.
EXT mled sl n| Set the dot-matrix display brightness.
n: 0~255
EXT tof?| Read the tof value.| tof xxxx
The unit of xxx is mm. It returns 8192 if the detection range is exceeded.
EXT version?| Read the firmware version of the open-source controller ESP32.|
esp32vx.x.x.x
Note 1:
The Motor-On mode is a new low-speed rotation state of TT propellers. Entering
Motor-On mode indicates that the TT is ready for takeoff. At this time, the TT
heat dissipation feature can be used to avoid shutdown caused by excessive
temperatures. You can execute the “motoron” command to enable Motor-On mode
only when the drone is in static standby status. After the drone takes off, it
automatically exits Motor-On mode.
Note 2:
m1-m8: the mission pad ID on the corresponding mission pad.
m-1: the first mission pad identified by Tello’s internal algorithm
m-2: the mission pad nearest to Tello
Note 3:
xxxx indicates a string consisting only of ‘r’, ‘b’, ‘p’, and ‘0’. ‘r’, ‘b’,
‘p’, and ‘0’ indicate red, blue, purple, and off, respectively. The max string
length is 64.
For example: rrrbb0ppp indicates that lights 0 to 3 are red, lights 4 to 5 are
blue, light 6 is off, and lights 7 to 9 are purple. If the length is less than
64, the unspecified LEDs will be off.
Tello State
Data type: String
Example“mid:%d;x:%d;y:%d;z:%d;mpry:%d,%d,%d;pitch:%d;roll:%d;yaw:%d;vgx:%d;vgy%d;v
gz:% d;templ:%d;temph:%d;tof:%d;h:%d;bat:%d;baro:%f;\r\n”
Description
-
mid: the detected mission pad ID.
If the mission pad detection function is not enabled, -2 is returned.
If the detection function is enabled but no mission pad is detected, -1 is returned. -
x: the x-axis coordinate of the drone relative to the detected mission pad, in centimeters
If the mission pad detection function is not enabled, -200 is returned.
If the detection function is enabled but no mission pad is detected, -100 is returned. -
y: the y-axis coordinate of the drone relative to the detected mission pad, in centimeters
If the mission pad detection function is not enabled, -200 is returned.
If the detection function is enabled but no mission pad is detected, -100 is returned. -
z: the z-axis coordinate of the drone relative to the detected mission pad, in centimeters
If the mission pad detection function is not enabled, -200 is returned.
If the detection function is enabled but no mission pad is detected, -100 is returned. -
mpry: Pitch, yaw and roll angles (in degrees) of the drone in the mission pad. If no mission pad is detected, 0 is returned.
-
pitch: Pitch angle (in degrees)
-
roll: Roll angle (in degrees)
-
yaw: Yaw (in degrees)
-
vgx: X-axis speed (dm/s)
-
vgy: Y-axis speed (dm/s)
-
vgz: Z-axis speed (dm/s)
-
templ: The minimum temperature of the main board (°C)
-
temph: The maximum temperature of the main board (°C)
-
tof: ToF distance (cm)
-
h: Height relative to take-off point (cm)
-
bat: Percentage of current remaining battery capacity
-
baro: Height detected by barometer (m)
-
time: Motor running time (s)
-
agx: X -axis acceleration (cm/s2)
-
agy: Y -axis acceleration (cm/s2)
-
agz: X -axis acceleration (cm/s2)
Mid Command Restrictions
Commands involving mid need to be used together with mission pads, and the go,
curve, and jump commands can be used only when downward camera recognition is
enabled. These commands include:
mon moff
mdirection x
go x y z speed mid
curve x1 y1 z1 x2 y2 z2 speed mid
jump x y z speed yaw mid1 mid2
Mission pad instructions for use can be downloaded from the official website.
This content is subject to change.
Download the latest version from
www.dji.com/robomaster-tt/downloads
Copyright © 2021 Ryze Tech. All Rights Reserved.
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>