0 - 视频教程

点击查看完整视频


1 - 前言

RoboMaster TT 是大疆首款拥抱开源的教育无人机 ,为使该款无人机能够更加符合开源精神和青少年科技创新教育核心,让国内中小学师生有更极致的教学体验,大疆与国际领先的开源硬件企业DFRobot展开官方合作,将旗下Mind+图形化编程软件与RoboMaster TT教育无人机深度结合,并作为该款无人机官方指定图形化编程软件平台。

此外,基于Mind+强大的硬件扩展功能库DFRobot旗下的开源硬件也作为该款无人机官方推荐第三方外接硬件产品,使得RoboMaster TT无人机更加如虎添翼。

2 - RoboMaster TT介绍

RoboMaster TT由两部分组成:

  • 下面一部分为Tello EDU无人机,可以执行飞行命令。

  • 上面一部分为扩展模块,为一块可编程基于ESP32的主控板和一个5.8G WiFi模组。

两者通过microUSB线连接时激活扩展模块上的WIFI模组并可以进行通信。

3 - Mind+介绍

Mind+可以使用电脑WiFi直接实时控制Tello EDU,也支持对扩展模块上的ESP32模块进行编程控制Tello EDU。

因此,RoboMaster TT 在Mind+上总有4种玩法:

  1. 实时模式 —— 单机模式
  2. 实时模式 —— 组队模式
  3. 上传模式 —— ArduinoC编程
  4. 上传模式 —— MicroPython编程

>3.1 - 实时模式与上传模式的区别

在Mind+中,程序运行于电脑上,编程完立即可运行的部分为实时模式编程,对立的,程序运行于第三方硬件上,编程完需要将程序上传到第三方硬件上运行则为上传模式编程

因此对于RoboMaster TT来说,实时模式即为通过电脑WIFI直接连接RoboMaster TT进行实时的编程控制,断开连接后飞机就不会执行设定的程序,上传模式即为使用USB线对扩展模块上的ESP32进行编程,实现断开电脑连接后飞机依然可以执行设定的程序。

----------

4 - 准备工作

在开始使用前,将飞机调整到最新默认状态能更好的实现本文的效果。

>4.1 - 更新Tello EDU固件

请根据Tello EDU使用说明书,使用大疆官方的Tello EDU手机APP将固件更新到最新版本。

注意:更新EDU固件时不要连接扩展模块,即WiFi名应该为Tello-xxxx。

>4.2 - 安装扩展模块驱动

扩展模块使用Mind+编程是通过USB串口,因此在首次使用Mind+连接扩展模块时需要安装驱动。

  1. 使用USB线连接扩展模块到电脑USB口。

  2. 打开Mind+,在菜单连接设备下点击一键安装驱动,弹出驱动安装框,点击下一步或OK直到完成

  3. 如果安装 出现问题,可以点击链接查看详细步骤:https://mindplus.dfrobot.com.cn/zhunbei

>4.3 - 恢复扩展模块固件

由于扩展模块可编程,如果扩展模块中存在程序则会导致实时模式的控制无法生效,因此在使用实时模式前需要将扩展模块恢复默认固件。

  • 使用USB线连接扩展模块和电脑。
  • 切换Mind+为上传模式,在左下角扩展中选择RoboMaster TT(ESP32)然后返回
  • 点击连接设备选择扩展模块对应的COM口,然后点击恢复设备初始设置,等待进度条走完,扩展模块点阵屏显示TT即可。

----------

5 - 实时模式玩法

本章节简要介绍RoboMaster TT在Mind+实时模式下的基本玩法。

注:兼容Tello EDU除扩展模块部分功能例如点阵控制。

>5.1 - 单机模式

准备工作

  • 带无线网卡功能的电脑。

  • Tello EDU或RoboMaster TT。

  • RoboMaster TT需要恢复扩展模块固件

  • RoboMaster TT切换为AP模式,以使电脑可以连接Tello EDU发出的WIFI。

开始控制

  1. 打开Mind+,切换到实时模式,在扩展中切换到功能模块标签,选择加载RoboMaster TT(单机)返回主界面

  1. 连接以RMTT或Tello开头的WiFi,等待连接成功。

    注意:

    • RMTT开头的WiFi表示Tello EDU加上了扩展模块,Tello开头的WiFi表示Tello EDU没有加上扩展模块发出的WiFi,均可以连接。
    • 如果列表中没有Tello或RMTT的WiFi,则可以手动在电脑的WiFi列表中连接飞机发出的WiFi。
    • 如果电脑WiFi列表中也没有Tello或RMTT的WiFi,则可能飞机WiFi没有切换到AP模式或WiFi名称被修改,此时可以检查扩展模块开关然后长按Tello EDU开机键重置WiFi名。
    • 如果出现连接成功后几秒钟自动掉线则说明电脑防火墙拦截了Mind+的联网功能,请关闭防火墙。
    • 其他问题见本文最后的常见问题清单。

  1. 连接成功之后显示绿色对勾,飞机指示灯紫色(RMTT)或绿色(Tello EDU)闪烁,表示正常连接,即可进行编程和控制。

  1. 首先可以打开电池电量和飞机温度实时显示。如果电量不足时飞机的翻转指令不会被执行,如果飞机温度过高会自动关机。

  1. 直接点击积木,或将积木拖出来即可执行。起桨模式可以让飞机螺旋桨旋转而不飞起来,可用户给飞机在地面时降温。起飞前要退出起桨模式。

  1. 编程测试。将飞机放置于空旷上方无遮挡物的地方。

    注意:每一条动作程序都会等待动作执行完毕后再进入下一条命令,即阻塞型指令。

积木说明

>5.2 - 组队模式

将多台飞机和电脑都连入同一个路由器中时,电脑端可以通过给不同的飞机发送指令实现多机控制。

准备工作

  • 单机模式的所有要求

  • 无线路由器

调整飞机

首先记录飞机的SN码或WiFi名,可以从Tello EDU电池仓、手机APP、产品包装盒、单机模式获取。此处我们先使用Mind+获取飞机SN码。

  1. 先设置飞机到单机模式,在单机模式中使用Tello EDU SN码功能即可获取SN码,获取SN码之后记录下来。

接下来让飞机连接到路由器WiFi中:
**注意:**组队模式需要比较好的网络,因此请使用一个专用路由器让飞机和电脑接入5.8G WiFi信号中,电脑网络中禁用其他网卡。

  1. 接下来设置飞机要连接的路由器WiFi,使用如下积木,填入路由器热点WiFi名字和密码,然后点击运行。

  1. 拨动RMTT扩展模块上的开关到STA模式。等待飞机连接到WiFi,连接成功后飞机会自动进入起桨模式。

    通过路由器后台也可以看到飞机是否连入了WiFi。

依次通过以上步骤记录多台飞机的SN然后让飞机连入WiFi。

开始控制

加载RoboMaster TT(组队)扩展,注意两个扩展的积木不要混用。

为方便多机控制,我们将不同飞机进行编号,使用如下积木,将两个飞机的SN码输入,并编号为1和2,然后在当前电脑所在的网络中扫描飞机。

将已经切换为STA模式的飞机开机,等待飞机联网自动起桨,点击运行如下程序搜索飞机,当飞机从黄灯闪烁变为紫灯闪烁即被搜到了。

注意:

  • 电脑此时需要与飞机连入同一个路由器WiFi下,否则无法搜索到。
  • 如果无法搜到,可以查看本文最后的常见问题清单。

查看飞机状态。

组队飞行测试。

积木说明

----------

6 - 上传模式玩法

本章节介绍上传模式对RMTT的扩展模块进行编程控制的方法。

RoboMaster TT的扩展模块主控为ESP32,在Mind+中支持两种语言编程,其中ArduinoC模式功能更多,扩展功能也更多适合初学者使用,MicroPython模式功能相对较少,适合想要学习Python语法的用户。

>6.1 - ArduinoC代码

准备工作

  • 电脑
  • microUSB线
  • RMTT扩展模块

开始控制

  1. 切换到上传模式,在扩展中选择RoboMaster TT(ESP32),使用USB线连接扩展模块。

  1. 编写一个闪灯的程序,连接设备中选择COM口,点击上传到设备,等待上传完成即可看到效果。

  1. 飞行控制,编写一个程序,上传完毕之后断开usb线,然后将扩展模块连接Tello EDU飞机后开机。

  2. 等待飞机亮起绿灯,此时按一下扩展模块上的按钮(飞机保护机制,必须使用这个积木按下按钮才能起飞),飞机即亮红灯起飞,然后亮蓝灯旋转然后亮绿灯降落。

手动编辑代码

Mind+支持直接输入代码进行编译上传,因此对于不支持的扩展传感器,可以直接编辑代码进行控制。

注意点击上传到设备时如果下方为自动生成则上传的为图形化对应的代码,两者并存不冲突。

如下为通过手动编辑功能读取外接的URM10(SR04)超声波模块的值。

用户库功能

Mind+开放扩展库,因此用户可以通过此功能导入外部的arudino库,然后使用手动编辑功能进行代码编写控制,或制作对应的图形化积木使用图形化代码控制。

详情请参考Mind+官方文档中的自定义用户库文档教程。

积木说明

>6.2 - MicroPython代码

准备工作

  • 电脑
  • microUSB线
  • RMTT扩展模块

开始控制

  1. 切换到上传模式,在扩展中选择RoboMaster TT(ESP32),使用USB线连接扩展模块。

  1. 切换语言到MicroPython,切换完成之后,代码变成了MicroPython语法的代码,此时连接设备选择端口会自动烧录MicroPython固件。

  1. 编写一个切换灯光颜色的程序,点击运行即可上传程序查看效果。由于MicroPython模式省略了编译过程,因此上传程序变得很快。

积木说明

>6.3 - 硬件案例:红外遥控飞机

Mind+中支持了大量开源硬件,因此可以将各种开源硬件连接到RMTT上从而实现各种效果。
本案例使用一个红外接收模块连接到RMTT扩展板,然后通过普通的红外遥控器控制RMTT。

准备工作

  • 电脑
  • microUSB线
  • RMTT扩展模块+io扩展板
  • 红外接收模块
  • 红外遥控器

硬件连接

  • 红外接收模块通过io扩展板接到IO26(程序中设定的)上(提前焊接好排针,【视频演示】,需要【烙铁】、【2.54mm排针】)。

软件编程

  • 打开Mind+(1.6.5 RC2.0及以上版本),切换到上传模式,主控板选择RMTT,然后在通信模块中选择加载红外接收模块,返回。

  • 进行编程,首先写一个简单的程序,从串口获取红外编码:

  • 上传完成后,根据程序,打开串口监视器,使用红外遥控器对着接收模块发送数据:

    • 可以发现,按下不同的按键会收到不同的编码,这就是按键的红外编码。
    • 对于这个遥控器,FD开头的为正确编码,其他为错误编码(被干扰);对于其他遥控器,多次按下同一个按键,相同的编码即为此按键的编码。
    • 新遥控器电池仓有个塑料片需要拔掉,可以使用手机前后摄像机对着遥控器灯查看是否有红外发射出来。
  • 通过编码遥控飞机,编写如下程序,控制RMTT扩展模块的灯颜色,按下2亮蓝灯,按5亮绿灯。

    • 使用这个方法,使用其他遥控器也可以先获取编码,然后判断编码,执行动作。

视频演示:点击查看 (注:视频拍摄时还没有单独的模块,因此本文程序使用更方便)

>6.4 - 硬件案例:超声波避障

点击查看完整视频 (注:视频拍摄时软件中还没有单独的编程扩展模块,使用用户库或手动编辑代码替代,此处仅展示一些效果,程序部分可以重写)

>6.5 - 硬件案例:二哈识图

点击查看完整视频 (注:视频拍摄时软件中还没有单独的编程扩展模块,使用用户库或手动编辑代码替代,此处仅展示一些效果,程序部分可以重写)

>6.6 - 硬件案例:手势识别

点击查看完整视频 (注:代码可参考传感器的示例程序编写)

进阶扩展

  • 通过本案例,我们学会了使用红外遥控器遥控RMTT的灯,修改程序则可以实现遥控飞机的动作。
  • 其他开源硬件,也可以采用同样的步骤,了解传感器模块的使用方法,编程控制。
  • 如果Mind+中没有支持此模块,那么你依然可以使用Mind+支持的 扩展用户库 实现更多模块的兼容。

----------

7 - 成套课程

点击查看: ROBOMASTER TT 无人机编程教学开发大赛

①《ROBOMASTER TT 无人机编程教学开发大赛 一等奖课程》

作者:庄建东
含教案、PPT、项目文件

②《大疆TT教育无人机 从入门到精通》 —— 大疆教育官方出品

分为无人机飞行、无人机编程、无人机编队、无人机竞赛4章节近100个项目,帮助你学习操控TT无人机从入门到精通。

各大线上商店均可以搜索购买

----------

8 - 常见问题FAQ

问题 Tello非RMTT版本可以用Mind+控制吗?
普通版不可以使用,EDU版可以使用实时模式单机+组队控制,RMTT版可以使用全部功能包括上传模式。
问题 实时模式无法搜索到WIFI或Tello EDU,或连接成功后马上断开连接。
首先确保电脑与飞机处于同一个网络下,并且飞机各固件都是最新版本。
解决办法1 关闭网卡并重启电脑。无法搜索到设备请禁用掉所有网卡,仅保留需要使用的无线网络后重启电脑后再进行搜索。推荐使用Windows10系统。
解决方法2 关闭防火墙。防火墙对网络连接有影响,在控制面板中关闭windows防火墙
问题 提示8889端口访问失败怎么办?
解决办法 首先确保软件是官网最新的版本。如果是,则尝试点击组队模式中的断开连接积木或重启软件,减少多次扫描的操作。另外注意单机和组队的积木不可以同时使用。如果依然无法解决,可以加入Mind+ QQ交流群进行反馈
问题 组队模式动作延迟很大是为什么?
解决办法 组队模式请使用专用的路由器,确保将所有飞机及电脑接入路由器5.8G WiFi下而不是2.4G WiFi(路由器如有信道设置功能可以将5G信道设置为149)。
问题 只能搜到Tello开头的WiFi,而搜不到RMTT开头的WiFi是为什么?
解决办法 首先请确认扩展模块要先连接Tello EDU才能开机,并且扩展模块上的开关拨到下方(手机符号标志侧)。做好这个设置之后,因为扩展模块的WiFi默认是5GHz的,因此需要手机和电脑支持5GHz,如果手机或电脑不支持则需要修改扩展模块的信道。
修改信道的方法:找一台能够连接上RMTT的手机,打开Tello EDU,在外部模组里面设置通讯信道为(1-13,这一段是2.4G频段),运行程序后2.4G频段的手机就可以使用了。
问题 如何固定传感器模块到RMTT上?
解决办法 可以3D打印一个结构件用来固定:点击下载
问题 传感器如何连接TT扩展板?
解决办法 焊接好排针之后就可以连接了,【视频演示】,需要【烙铁】、【2.54mm排针】)
问题 舵机如何连接TT扩展板?
解决办法 将舵机的3pin杜邦头取下,换成1pin的杜邦头
问题 RMTT扩展板的I2C引脚是什么?
解决办法
问题 如何升级扩展模块中wifi的固件?
解决办法 点击查看