美文网首页
tello edu 官方python接口的改进

tello edu 官方python接口的改进

作者: 多啦A狗 | 来源:发表于2018-11-27 11:39 被阅读0次

大疆旗下子公司睿炽发布了一款新的教育、玩具领域的无人机tello edu,和上代产品相比,新产品增加了编队飞行和挑战卡功能,并提供了全新的SDK2.0。官方也给出了python接口的文档,GitHub地址:https://github.com/dji-sdk/Tello-Python

但是这个官方接口存在一些问题,例如使用多线程的方式接收tello的响应消息,而主线程和子线程之间并没有同步机制,导致接收到的相应信息不一定是刚刚发送的,也有可能是之前发送的某条命令。这个问题也导致执行命令文件时需要手动增加延时,以保证上一条代码执行完毕之后再执行下一条。tello在上条命令没有执行完毕的时候发送下一条命令会返回error,也就是如果延时设置不当tello就返回error。

我用python3.6重写一下这个接口,详细内容在GitHub上,GitHub地址:https://github.com/wikeex/tello-python

我这里摒弃了多线程的方式接收响应消息,每个tello实例都是阻塞的方式执行命令,发送命令之后必须等到该条命令的响应才会发送下一条命令,保证命令的线性执行,也不需要设置延时,代码如下。

from tello import Tello

file_name = sys.argv[1]

with open(file_name, 'r') as f:
    commands = f.readlines()

t1 = Tello(tello_ip='192.168.199.3')

for command in commands:
    command = command.strip()
    # 识别并忽略注释行
    if '#' in command:
        index = command.index('#')
        command = command[0:index].strip()
        if not command:
            continue

    if command:
        t1.send_command(command)

print('process completed!')

这里我没有设置tello无响应的超时处理,有需要的可以自行实现。如果需要实现编队飞行,就实例化多个tello对象,并且每个tello对象放在一个线程中。 官方文档中的日志功能也删掉了,有需要的自行实现。

相关文章

  • tello edu 官方python接口的改进

    大疆旗下子公司睿炽发布了一款新的教育、玩具领域的无人机tello edu,和上代产品相比,新产品增加了编队飞行和挑...

  • Tello edu

    基本信息 Tello睿炽科技表示,特洛Tello EDU专为教育领域的场景和需求而设计,是一款独一无二的教育编程无...

  • python gdal安装

    直接pip不行 python非官方库:https://www.lfd.uci.edu/~gohlke/python...

  • Python常用非官方库

    Python常用非官方库: https://www.lfd.uci.edu/~gohlke/pythonlibs/#

  • Python扩展包的Windows二进制文件

    Python扩展包的非官方Windows二进制文件 链接:https://www.lfd.uci.edu/~goh...

  • Spark--Quick Start

    spark具有详细的官方文档 spark具有完善的接口:Scala、Python、Java、R 启动Scala接口...

  • XTP Python Api 接口编译

    下载xtp官方提供的python接口: https://github.com/ztsec/xtp_api_pyth...

  • error优化处理

    1.重复的error检查代码改进 改进之前: 改进方案一: 改进方案二(推荐): 【引用来源】[^官方]:[^官方...

  • 应该是史上最全的python调用C接口

    这段时间需要用python调用C的接口,网上搜了很多,结合python的官方文档,整理下备用1、加载dll 2、数...

  • python调用java代码

    1.python JPype下载链接:https://www.lfd.uci.edu/~gohlke/python...

网友评论

      本文标题:tello edu 官方python接口的改进

      本文链接:https://www.haomeiwen.com/subject/lhcgqqtx.html