這一陣子小型空拍機 Tello 很火紅,除了相對低廉的價格適合用作為練習或入門外,另外一個亮點就是可以利用程式進行控制。Tello 目前提供 Scratch、Python 以及 DroneBlocks 等方式進行程式控制。在這篇文章中,我將分享如何利用 Scratch 來控制 Tello。

除了 Tello 之外,我們還需要一台具備 WiFi 功能的電腦,如此才能順利連結 Tello 並進行控制。步驟如下:

安裝 Scratch

  1. 下載並安裝 Adobe Air。
  2. 下載並安裝 Scratch 離線版編輯器。

以上連結皆以 Windows 版為主,其他作業系統的檔案連結可以在 Scratch 官方網站中找到。

安裝 Node.js

  1. 前往這裡下載 Node.js 檔案並進行安裝,請記得選擇 8.x 系列 (如下方圖片中的 8.11.1 LTS) 。
下載 Node.js LTS 版本

下載 Node.js LTS 版本

下載 Tello Scratch 支援程式

  1. 下載 Tello 對於 Scratch 的支援程式壓縮檔。
  2. 解壓縮剛剛所下載的支援程式壓縮檔。
  3. 解開後目錄下包含三個檔案,其中 Tello.s2e 與 TelloChs.s2e 為給 Scratch 用的擴充檔案,分別是英文與簡體介面的積木。如果想要使用繁體介面,可以下載這個檔案並複製到這個解壓縮後的目錄下。或是自行加上 TelloCht.s2e 這個檔案,內容如下:

啟動 Tello HTTP Server

  1. 開啟命令列工具。Windows 作業系統下的開啟方式為點選左下角的開始後輸入 cmd 後按下 Enter 鍵即可。

    命令提示字元

    命令提示字元

  2. 切換至 Tello 對於 Scratch 支援程式解壓縮後的目錄。如果解壓縮過後的目錄為 C:\Scratch 則輸入
  3. 輸入

    看到下列訊息表示 Tello HTTP Server 已經正常啟動

    此視窗不可關閉,否則將無法對 Tello 進行控制。

連結 Tello

  1. 開啟 Tello。
  2. 將電腦的 WiFi 連線連結至 Tello。你看到的 WiFi 名稱應與畫面上有所不同,因此只要找尋 TELLO 開頭的 WiFi 名稱即可。

    連結 Tello Wifi

    連結 Tello Wifi

  3. 開啟 Scratch 編輯器。
  4. 按下 Shift 鍵的同時點選功能表單”檔案”,此時會出現隱藏選項 “匯入實驗性 HTTP 擴充功能”。

    Scratch 匯入實驗性 HTTP 擴充功能選單

    Scratch 匯入實驗性 HTTP 擴充功能選單

  5. 按下 “匯入實驗性 HTTP 擴充功能” 後出現檔案選擇的畫面,此時可選擇 Tello.s2e、TelloChs.s2e 或 TelloCht.s2e 任一檔案。三個檔案只是積木的顯示語言不同,功能則都一樣。我們在此選擇 TelloCht.s2e。

    匯入 Scratch 擴充檔案

    匯入 Scratch 擴充檔案

  6. 選取檔案後,就可以在 “更多積木” 裡看到 Tello 的控制積木。這時候我們就可以開始利用 Scratch 來控制 Tello 了。

    scratch Tello 積木

    scratch Tello 積木

  7. 為了確認 Scratch 已經正確連結至 Tello,我們先把 “起飛” 積木拖曳到程式區,然後在剛拖曳出來的 “起飛” 積木上連點兩下滑鼠,應該就可以看到 Tello 順利起飛。我們可以利用同樣的方式把 “降落” 積木拉到程式區然後命令 Tello 降落。
  8. 我們如果回到 Tello HTTP Server 的視窗,可以發現如下圖中多了兩行字,分別是 takeoff 與 land,也就是起飛與降落的英文指令。
    Tello HTTP server 結果畫面

    Tello HTTP server 結果畫面

    其實我們可以任意使用不同的方式對這個 HTTP Server 下達指令,甚至直接使用 telnet 指令也是可以達到控制 Tello 的目的。不過本篇文章主要在於 Scratch 的控制方式,至於其他控制方式就留待之後再介紹了。

  9. 接下來就是大家發揮創意的時候了。像下圖就是一個簡單的範例程式,利用鍵盤的上下左右控制 Tello 的上升、下降、左右轉,而 WSAD 則用來控制 Tello 的前進、後退、左右飄移。此範例程式可以在這裡下載

    Scratch Tello 範例程式

    Scratch Tello 範例程式

透過幾個簡單的步驟就可以讓 Scratch 輕鬆地控制 Tello ,然而因為沒有辦法看到畫面,所以失去了空拍機的意義。此外,也沒有辦法獲得像是高度、電池電力、或是是否正在飛行中等狀態資訊,因此無法透過 Scratch 對 Tello 進行 “更聰明” 的控制。不過 Tello 才剛上市不久,或許未來我們可以看到 Tello 與 Scratch 能夠有更緊密的結合也說不定,屆時就能支援更多更好玩的創意了。

Facebook 留言
Print Friendly, PDF & Email
Summary
Tello 與 Scratch 的第一次接觸
Article Name
Tello 與 Scratch 的第一次接觸
Description
這一陣子小型空拍機 Tello 很火紅,除了低廉的價格外,另外一個亮點就是可以利用程式進行控制。Tello 目前提供 Scratch、Python 以及 DroneBlocks 等方式進行程式控制。在這篇文章中,我將分享如何利用 Scratch 來控制 Tello。
Author
Publisher Name
Everlearn Studio
Publisher Logo