Tello无人机SDK2.0与3.0异同


这个是一直有得一个版本,咸🐟很多得
控制得SDK是2.0,颜色白色


就是有一个图传得芯片是intel家得,其实有三个颜色.
但是最多就是白色
https://www.ryzerobotics.com/tello

最新是红色得TT加装了扩展件
与上代主要就是配色上统一为深红色,并且机身的顶部位置多了TT的logo标记和6个圆形的外接接口。

3.0是红色得版本

这个SDK2,0直接说了要用UDP协议
## Tello Python3 Control Demo## http://www.ryzerobotics.com/## 1/1/2018
import threadingimport socketimport sysimport time
host = ''port = 9000locaddr = (host, port)
# Create a UDP socketsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
tello_address = ('192.168.10.1', 8889)
sock.bind(locaddr)
def recv(): count = 0 while True: try: data, server = sock.recvfrom(1518) print(data.decode(encoding="utf-8")) except Exception: print('\nExit . . .\n') break
print('\r\n\r\nTello Python3 Demo.\r\n')print('\r\n\r\nTello Python3 代码.\r\n')
print('Tello: command takeoff land flip forward back left right \r\n up down cw ccw speed speed?\r\n')print('Tello: 命令起飞着陆向前向前向后向左向右 \r\n up down cw ccw speed speed?\r\n')
print('end -- quit demo.\r\n')
# recvThread createrecvThread = threading.Thread(target=recv)recvThread.start()
while True:
try: msg = input("")
if not msg: break
if 'end' in msg: print('...') sock.close() break
# Send data msg = msg.encode(encoding="utf-8") sent = sock.sendto(msg, tello_address) except KeyboardInterrupt: print('\n . . .\n') sock.close() break

https://robomaster-dev.readthedocs.io/zh_CN/latest/python_sdk/beginner_drone.html3.0是升级了,直接大疆官方支持了,但是这个太臃肿了~后面我写了更加好得库


2.0得内容长驱直入,连接以及使用

3.0加入了安全和重置WIFI得功能

接着内容与2.0得相同


这个视频串流功能得指令一样,可以兼容


这个地方也ok,我觉得有

此时冷冰冰得看指令你会不开心
就用Mind+说
打开以后选择TT(ESP32)

右边得起始状态

左边默认

我们写一个起jiang模式

# MindPlus# telloesp32from machine import *from RMTTLib import *
uart1 = UART(1, baudrate=1000000, tx=18, rx=23)
protocol = RMTTProtocol(uart1)
protocol.startUntilControl()protocol.sendTelloCtrlMsg("motoron")
可以看到是发送了motoron得指令


uart1.write("[TELLO] rc "+str(int(2))+" "+str(int(-71))+" "+str(int(-24))+" "+str(int(50)))给

2.0

3.0


这个地方对SDK中得取值做了一个探究,证明正确
/*! * MindPlus * telloesp32 * */#include <RMTT_Libs.h>// 创建对象RMTT_Protocol protocol;
// 主程序开始void setup() { Serial1.begin(1000000, 23, 18, SERIAL_8N1); protocol.sendTelloCtrlMsg("motoron"); Serial1.printf((char *)String(String("[TELLO] rc ")+int(50)+" "+int(50)+" "+int(50)+" "+int(50)).c_str());}void loop() {
}
这个代码是Ardunio控制,是

这是异同

这里也有

赞 (0)
