所以,TT 扩展相当于附着在 TT 无人机之上的外部大脑。它不仅拓展 了 TT 无人机本身的感知能力,还丰富了 TT 无人机的功能性。我们可以通过向 TT 扩展模块烧写自己的程序,来使 TT 无人机组合体完成仅仅依靠 TT 无人机本身难以完成的复杂飞行任务。同时相比手动遥控控制,借助程序的控制,我们可以完成更加精确的控制指令。
试飞小任务介绍了那么多,接下来我们就开始对 TT 无人机进行编程,来完成一个试飞小任务吧。
大疆官方的资料中,介绍了 TT 无人机可以通过 Tello App 和定制版 GameSir 小鸡手柄 T1D 进行遥控。既然是一款拥抱开源的教育无人机,我当然要对 TT 无人机为所欲为了,为何不自己设计一个 DIY 版的手机遥控器呢:想加什么功能就加什么功能,比如后续可以增加显示各种外接传感器的数据的功能;想怎么玩就怎么玩,比如可以通过编程,实现更加复杂的特技动作。
既然有了官方支持的遥控器,为什么还要自己再设计一个遥控器呢?原因如下:
- 如果使用 Tello App 进行遥控,就不能使用编程功能,更不用说集成第三方传感器了,那 TT 无人机跟普通的 Tello 无人机就没有区别了。
- 如果使用 GameSir 手柄进行遥控,虽然可以进行编程以及添加第三方传感器,但是目前大疆官方只提供了 Arduino 代码版的编程示例,并没有图形化版本的示例程序,不适合大部分中小学生进行学习。
那么,我将如何实现 DIY 遥控器呢?
- 为了更加方便大家上手,我将使用 Mind 图形化编程环境,通过简单的积木式拖拽,就可以完成丰富的功能;
- 试玩过程中,为了降低硬件成本,我将仅使用手机,通过 Blynk 物联网平台来实现 DIY 遥控器的设计与制作。Blynk 物联网平台是一个非常简单好用的物联网开发平台,几分钟之内就可以为你的物联网项目创建一个手机 App。
为了实现这个项目,我升级了之前设计的 Mind 版的 Blynk 用户库,以使它支持 TT 无人机的编程。学会了本项目的编程原理之后,除了可以自己设计手机 App 来控制大疆无人机之外,你也可以设计实体版的硬件遥控手柄。
Blynk 项目设置关于 Mind 软件的使用教程,由于篇幅限制,请参考 Mind 官方教程。
关于 Blynk 的入门教程,请参考我的另一本书:《物联网,So Easy!——基于 Blynk 平台的 IoT 项目实践》。
作为可能是第一款 TT 无人机的 DIY 版手机遥控器,我要把这个遥控器设计成什么样子呢?为了方便操控,以及使用体验的统一,这里我参考了 Tello App 的外观,设计了一个简化版的操控界面。
先来看一下官方的 Tello App 版遥控器:除了起飞 / 降落功能之外,Tello App 最重要的组件就是无人机飞行控制了,它采用了 2 个摇杆,来实现无人机的各种运动状态,如下图所示:
另外,我们也可以在这个 App 顶部状态栏中看到无人机的一些状态信息,比如电量、蓝牙、速度、高度等,如下图所示:
我根据 Tello App 的主界面,设计了简化版的 Blynk 遥控器界面,如下图所示:
由于 Blynk App 的限制,不支持自动横屏显示,所以当我们横屏操控时,显示的文字就变成竖直状态了,但是这丝毫不影响使用。
Mind 程序设计设计完遥控器界面之后,就开始编程了。打开 Mind 软件,切换到上传模式,同时在扩展中选择主控板为 RoboMaster TT(ESP32),如下图所示: