该项目通过手腕上的 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 秒)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)