本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于M5stack的无人机Dji Tello控制系统

发布时间:2022-08-02
分享到:

基于M5stack的无人机Dji Tello控制系统

发布时间:2022-08-02
分享到:

该项目通过手腕上的 M5stack 和 Uiflow 块控制 Dji Tello 无人机!

介绍

Dji Tello 是一款很棒的无人机,我目前正在通过他的 SDK 学习,可以使用 Python 和 Open CV 进行人脸检测(并且,在我检测是否佩戴口罩的目标中,我认为在这个时代非常重要)。

读取 SDK,Tello 充当 Soft AP WI-FI,(他的 ip 是 192.168.10.1),M5 Core 将使用 ip 192.168.10.2,(他只接受这个 IP 的命令,在端口 8889 上)

所有命令都必须在 UDP 中发送,有一些有趣的功能可以检索一些信息,如电池电量、气压、高度、距离等,但它需要执行一个网络服务器来监听端口 8890 上的答案(已经在我的 ToDoList 中)

使用 Python 很容易检索很多基于这个 SDK 的项目,但是很少使用 micropython 和 ESP32,我在https://github.com/plugowski/micropython-tello上只找到了一个很好的例子,所以在将 micropython 库移植到 M5Stack 设备之后,是时候进入下一个级别了:

为 M5Stack UIFLOW 创建块

以使简单的程序序列作为 STEM 项目进入课堂的任务,或者只是做一个有趣的使用。

与其他项目一样,第一步是将工作库(使用 Tello 命令)添加到 M5 Gray 结构(我使用的是 UiFlow 固件 v 1.6.3),在一些失败之后,我成功使用了 Thonny Ide 的技巧,只是从我的 UIFLOW 存储库复制到你的本地驱动器“ tello.py ”,并将其传输到 Uiflow 结构的根级别的 M5 Core 上。

请按照以下步骤开始:

1)打开UIFLOW(我更喜欢桌面IDE )

2) 选择 M5 Gray 并将您的设备连接到您的电脑(可能在 COM11 上)

3)选择自定义(测试版)并选择打开自定义块

4)加载文件Tello5.m5b(之前从我的代表下载)它提供声明和特定块作为初始化无人机和基本动作(起飞,翻转,旋转顺时针旋转逆时针等)

5)单击右侧的汉堡菜单并选择“打开文件,加载TelloTest5.m5f(在我的代表上找到)

6) 更改您的无人机对应的SSID

7) 从 UIFLOW IDE 中选择 Manager 并上传 tello_iron.jpg。

8) 点击 Python 选项卡,我们可以读取与块对应的代码行。

9)现在点亮无人机(周围留出足够的空间!),选择在UIFLOW IDE上播放以测试或更改动作,一旦您满意,从汉堡菜单中选择下载将程序作为APP传输到设备(您可以回忆它从您设备上的 APP 菜单中选择名称 TelloTest5.py。

根据 SDK 记住一些指令:

Tello命令向上、向下、向右、向左飞行,距离 x cm 范围为 20 到 500

Tello command Rotate CW Rotate CCW with degree range: 1 to 360 (no 1 to 3600 as said on the SDK)

最后

重要的建议:永远不要忘记在每次飞行任务结束时都放置 drone.land()命令,以确保无人机正确着陆。否则您必须等待电池放电,或者没有接收命令的超时(可能设置为 15 秒)。

本文中所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:gperrella,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论