Tello无人机SDK2.0与3.0异同

这个是一直有得一个版本,咸🐟很多得

控制得SDK是2.0,颜色白色

就是有一个图传得芯片是intel家得,其实有三个颜色.

但是最多就是白色

https://www.ryzerobotics.com/tello

最新是红色得TT加装了扩展件

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

3.0是红色得版本

这个SDK2,0直接说了要用UDP协议

Python网络编程

## 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.html

3.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)

相关推荐