該項(xiàng)目通過手腕上的 M5stack 和 Uiflow 塊控制 Dji Tello 無人機(jī)!
介紹
Dji Tello 是一款很棒的無人機(jī),我目前正在通過他的 SDK 學(xué)習(xí),可以使用 Python 和 Open CV 進(jìn)行人臉檢測(并且,在我檢測是否佩戴口罩的目標(biāo)中,我認(rèn)為在這個(gè)時(shí)代非常重要)。
讀取 SDK,Tello 充當(dāng) Soft AP WI-FI,(他的 ip 是 192.168.10.1),M5 Core 將使用 ip 192.168.10.2,(他只接受這個(gè) IP 的命令,在端口 8889 上)
所有命令都必須在 UDP 中發(fā)送,有一些有趣的功能可以檢索一些信息,如電池電量、氣壓、高度、距離等,但它需要執(zhí)行一個(gè)網(wǎng)絡(luò)服務(wù)器來監(jiān)聽端口 8890 上的答案(已經(jīng)在我的 ToDoList 中)
使用 Python 很容易檢索很多基于這個(gè) SDK 的項(xiàng)目,但是很少使用 micropython 和 ESP32,我在https://github.com/plugowski/micropython-tello上只找到了一個(gè)很好的例子,所以在將 micropython 庫移植到 M5Stack 設(shè)備之后,是時(shí)候進(jìn)入下一個(gè)級別了:
為 M5Stack UIFLOW 創(chuàng)建塊
以使簡單的程序序列作為 STEM 項(xiàng)目進(jìn)入課堂的任務(wù),或者只是做一個(gè)有趣的使用。
與其他項(xiàng)目一樣,第一步是將工作庫(使用 Tello 命令)添加到 M5 Gray 結(jié)構(gòu)(我使用的是 UiFlow 固件 v 1.6.3),在一些失敗之后,我成功使用了 Thonny Ide 的技巧,只是從我的 UIFLOW 存儲(chǔ)庫復(fù)制到你的本地驅(qū)動(dòng)器“ tello.py ”,并將其傳輸?shù)?Uiflow 結(jié)構(gòu)的根級別的 M5 Core 上。
請按照以下步驟開始:
1)打開UIFLOW(我更喜歡桌面IDE )
2) 選擇 M5 Gray 并將您的設(shè)備連接到您的電腦(可能在 COM11 上)
3)選擇自定義(測試版)并選擇打開自定義塊

4)加載文件Tello5.m5b(之前從我的代表下載)它提供聲明和特定塊作為初始化無人機(jī)和基本動(dòng)作(起飛,翻轉(zhuǎn),旋轉(zhuǎn)順時(shí)針旋轉(zhuǎn)逆時(shí)針等)

5)單擊右側(cè)的漢堡菜單并選擇“打開文件,加載TelloTest5.m5f(在我的代表上找到)

6) 更改您的無人機(jī)對應(yīng)的SSID

7) 從 UIFLOW IDE 中選擇 Manager 并上傳 tello_iron.jpg。

8) 點(diǎn)擊 Python 選項(xiàng)卡,我們可以讀取與塊對應(yīng)的代碼行。

9)現(xiàn)在點(diǎn)亮無人機(jī)(周圍留出足夠的空間!),選擇在UIFLOW IDE上播放以測試或更改動(dòng)作,一旦您滿意,從漢堡菜單中選擇下載將程序作為APP傳輸?shù)皆O(shè)備(您可以回憶它從您設(shè)備上的 APP 菜單中選擇名稱 TelloTest5.py。
根據(jù) 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)
最后
重要的建議:永遠(yuǎn)不要忘記在每次飛行任務(wù)結(jié)束時(shí)都放置 drone.land()命令,以確保無人機(jī)正確著陸。否則您必須等待電池放電,或者沒有接收命令的超時(shí)(可能設(shè)置為 15 秒)。
電子發(fā)燒友App







評論