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 threading
import socket
import sys
import time
host = ''
port = 9000
locaddr = (host, port)
# Create a UDP socket
sock = 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 create
recvThread = 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
# telloesp32
from 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)