Ryze Tech社のトイドローン「Tello」をScratch(スクラッチ)プログラミングで自動飛行させる方法をお探しの方向け。
人気トイドローンTelloは、ビジュアルプログラミングツール「Scratch(スクラッチ)」を使って、自動飛行をさせることができます。
この記事では、TelloをScratchプログラミングで自動飛行させる全手順を解説します。
本記事の手順どおりに進めればTelloの自動飛行ができますので、興味をお持ちの方はぜひチャレンジしてみてください。
好きなところから読めます
TelloをScratchプログラミングで自動飛行させよう
TelloをScratchプログラミングで自動飛行させる方法を解説する前に、簡単にScratchを紹介します。
Scratchとは
Scratchは子どもやプログラミング初心者のために作られた「ビジュアルプログラミング」ツールの一つで、MITメディアラボによって開発されました。
ビジュアルプログラミングとは視覚的な表現で“キャラクターを動かす”等といったことができる言語です。
Scratchウェブサイト:https://scratch.mit.edu/
直感的に操作できる
Scratchでは難しいコードを書く必要がなく、簡単に使いこなせるようになっています。
命令の書かれたブロックを組み合わせるだけで、ゲームやアニメーション、インタラクティブな物語作品ができあがりますので、簡単にプログラミングの仕組みを学ぶ事ができます。
Scratchでプログラミングすれば子供から大人までドローンの自動飛行を楽しめる
Scratchは可愛い絵柄や直感的な操作、日本語対応されたスクリプト、ドラッグ&ドロップなどの簡単なマウス操作でプログラミングできますので、大人はもちろん、子供でもプログラミングによる自動飛行を楽しめます。
大人の趣味として楽しめることはもちろん、子供のプログラミング教材としても使える Tello はおすすめです。
TelloをScratchプログラミングで動かす全体的な流れ
それでは、TelloをScratchでプログラミング飛行させる流れを解説します。
開発元に英語版のマニュアルが配布されています
Telloを開発したRyze Tech社のウェブサイトにScratchでプログラミング飛行をさせる手順を確認できます。
「Scratch READEME」をクリックすると、手順が記載されたPDFファイルをダウンロードできます。
- Visit https://scratch.mit.edu/download and follow the instructions to install the Scratch 2.0 Offline Editor.
- Download and install node.js from https://nodejs.org/en/.
- Download Tello.js and Tello.s2e from https://dl-cdn.ryzerobotics.com/downloads/tello/20180222/Scratch.zip, open the terminal, go to the file directory where you saved the previous files,and type “node Tello.js”
- Open Scratch 2.0, hold the “Shift” key, click the “File” menu, click “Import Experimental HTTP Extension,” and select “Tello.s2e” file in the file directory.
- The Tello interface will be shown in Scratch under “More Blocks.”
引用元:Ryze Tech社ウェブサイト
https://dl-cdn.ryzerobotics.com/downloads/tello/0222/Tello+Scratch+Readme.pdf
マニュアルの内容を翻訳すると、下記のとおりです。
- Scratchのウェブサイトで「Scratchオフラインエディタ」をダウンロードしてインストールして下さい。
- https://nodejs.org/ja/へアクセスし、「node.js」をダウンロードしてインストール。
- 「Tello.js」と「Tello.s2e」をダウンロードします。
- Scratchのソフトを立ち上げたら、Shift”キーを押しながら 「ファイルメニューをクリック」し、一番下に表示される「実験的なHTTP拡張を読み込み(import experimental HTTP extension)」を選択し、 “Tello.s2e”ファイルを開きます。
- Telloインターフェースはスクラッチの「その他(More Blocks)」に表示されます。
パソコンに詳しい方であれば、この手順書を見れば設定できると思いますが、そうでない方がこの手順書を見て設定するのはかなり難しいと感じます。
そこで、パソコンに詳しくない方でもScratchで動かすことができるよう、本記事では下記2つの設定方法を解説します。
- TelloとScratchを接続する手順(Telloとパソコンを通信できるよう設定)
- ScratchでTelloの自動飛行プログラミングを作成する
TelloとScratchを接続する手順(Windows版)
それでは、TelloとScratchを接続する手順(Windows版)を解説します。
- 手順①:Scratchをパソコンにインストールする
- 手順②:node.jsをダウンロードしてインストール
- 手順③:Tello.jsとTello.s2eをダウンロードする
- 手順④:ScratchにTelloのデータを取り込む
- 手順⑤:Telloインターフェースが「その他」に表示される
上記のとおりです。
手順①:Scratch2.0をパソコンにインストールする
Scratchのソフトを使用するには、Scratch2.0をパソコンにインストールする必要があります。
まずはScratch2.0を配布している公式サイトにアクセスします。
以下のリンクをクリックすると、Scratch2.0のダウンロードページに移動します。

Scratchの配布ページに移動したら、Scratchオフラインエディタをダウンロードします。
ダウンロード終了後、ファイルを実行してパソコンにScratchをインストールします。
このポップアップが表示された場合、Scratchオフラインエディタの左にある「Adobe AIR」をダウンロードしてインストールして下さい。
インストールが完了するとScratchが立ち上がります。
スクラッチチームに情報を自動送信するかどうか画面中央に表示されますが、これはどちらをクリックしてもOKです。
いずれかをクリックするとソフトが使えるようになります。
なお、インストール後は英語表記の状態ですが、言語セレクタで日本語に変換できます。
「日本語」に変換されましたね。
以上でScratchのインストール作業は完了です。
手順②:node.jsをダウンロードしてインストール
次に、node.jsをパソコンにインストールする必要があるため、node.jsのサイトにアクセスしてソフトをダウンロードします。
左側にある「推奨版」をクリックしてダウンロードします。
node.jsのインストール手順については割愛します(ひたすら「Next」をクリックするだけで、特に操作するような事がないため)。
手順③:Tello.jsとTello.s2eをダウンロードする
「Tello.js」と「Tello.s2e」というファイルをRyze Tech社のサイトからダウンロードします。
ファイルはzip形式で圧縮してあるので、ファイルを解凍します。
フォルダの中には、「Tello.js」「Tello.s2e」「TelloChs.s2e」というファイルが入っています。
ちなみに、「TelloChs.s2e」は中国語のファイルなので使う事がありません。削除しても問題無いです。
次に、コマンドプロンプトを立ち上げます。
デスクトップの左下にあるWindowsマークの横に、「ここに入力して検索」という検索ボックスがありますので、ここに「cmd」と入力します。
「コマンド プロンプト デスクトップアプリ」と表示されますので、クリックすると、コマンドプロンプトが立ち上がります。
コマンドプロンプトを立ち上げたらコマンドを入力
コマンドプロンプトを立ち上げたら、コマンドを入力して「Tello.js」を動かすのですが、
コマンドプロンプトの操作をしたことが無い方はうまくいかないと思いますので、手順に沿ってやってみて下さい。
1.スクラッチのフォルダのパスを入力します。
コマンドを入力して、スクラッチのフォルダにアクセスします。
「cd C:¥Users¥ユーザー名¥Desktop¥Scratch¥Scratch」と入力し、「Enterキー」を押します(こちらのカッコ内はコピペしないで下さい。環境依存文字が含まれているのでコピペしても「指定されたパスが見つかりません」と出てきてしまいます)。
コピペする場合は下記をコピペして下さい
いったんメモ帳にコピーして、ユーザー名を変更すると良いかと思います。
- ※1:デスクトップ上でファイルを解凍してあることを想定しています。
- ※2:ユーザー名の部分はご自身のパソコンのユーザー名に変更して下さい(画像でいうところのモザイク部分)
- ※3:もし「指定されたパスが見つかりません」と表示されたら、上記の「¥Scratch」をひとつ削除して試してみて下さい(「¥Scratch¥Scratch」という部分を「¥Scratch」だけにする)。筆者もこれで何回かつまづきました。
次に、「node Tello.js」と入力し、「Enterキー」を押します。
この画面が表示されれば成功です。これでTelloと通信できます。
セキュリティの警告が出てきた場合
「node Tello.js」を実行した後、使用しているパソコンによってはセキュリティの警告が表示される場合があります。
もし、警告が表示された場合、「アクセスを許可する」を選択してください。
エラーが出て接続できない場合
上図のようにシンプルな表示にならず、下記のように「Error(エラー)」と表示された方は、Tello.jsファイルを修正する必要があります。
Error [ERR_STREAM_WRITE_AFTER_END]: write after end
具体的な修正方法はshoito66(@shoito66)さんというシステムエンジニアの方がQiitaで修正方法を公開してますので、エラーが出てしまった方は下記記事を参考に修正してください。
参考リンク:プログラミング初心者向け!トイドローン「Tello」をScratchで飛ばす
手順④:ScratchにTelloのデータを取り込む
Scratchオフラインエディタに戻り、ダウンロードしたTelloのデータを取り込みます。
「Shiftキー」を押しながら「ファイル」をクリックすると「実験的なHTTP拡張を読み込み」という項目がメニューに表示されますので、ここをクリックします。
「Tello.s2e」を選択し、「開く」をクリックします。
手順⑤:Telloインターフェースが「その他」に表示される
スクリプトの「その他」を選択すると、Telloのコマンドが表示されます。
これでScratchの中にTelloのデータを取り込む事ができます。
これで、Scratchを使ったTelloのプログラミング飛行の準備は完了です。
ScratchでTelloの自動飛行プログラミングを作成する
Telloとパソコンを接続し、Scratchでプログラミングする準備が整ったら、実際にTelloのプログラミングをしてみましょう。
Scratchで使用するスクリプトを解説しながら、簡単な動作をプログラミングし、最後にプログラムの実行までを解説します。
- Scratchで使用するスクリプト
- Telloの動作をScratchでプログラミングする
- プログラムの実行(パソコンとTelloを接続する)
上記のとおりです。
Scratchで使用するスクリプト
Scratchのスクリプトは、「動き」、「見た目」、「音」、「ペン」、「データ」、「イベント」、「制御」、「調べる」、「演算」、「その他(Tello control)」とありますが、Telloを動かすスクリプトは以下の3つです。
- イベント
- 制御
- その他(Tello control)
イベント
イベントは、プログラミングを動かすきっかけの様なものを設定できます。
Telloのプログラミングでは「スペース(変更可)キーが押されたとき」ぐらいしか使わないかもしれません。
制御
制御は、イベントの後のTelloの動きの間の制御を設定できます。
例えば、離陸した後に「10秒待つ」とか、1m直進して、180度旋回を「2回繰り返す」等といった制御をする際に使用します。
Tello control(その他)
Telloの飛行に関するアクションを設定できます。
具体的なアクション内容は下記のとおりです。
- take off → 離陸
- land → 着陸
- fly up with distance → 上昇(数字は移動距離)
- fly down with distance → 下降(数字は移動距離)
- fly left with distance → 左移動(数字は移動距離)
- fly right with distance → 右移動(数字は移動距離)
- fly forward with distance → 前進(数字は移動距離)
- fly back with distance → 後進(数字は移動距離)
- rotate CW with angle → 右回転(数字は角度)
- rotate CCW with angle → 左回転(数字は角度)
- flip with duration → 8方向フリップ(F,B,R,Lでフリップする方向を指定できます)
- set speed → スピード変更?(数字は速度?)
※移動距離はcm単位です。
Telloの動作をScratchでプログラミングする
それでは、Scratchでドローンの動作をプログラミングしていきます。
非常に簡素ではありますが、試しに、下記動作をプログラミングしてみました。
- ①スペースキーを押したらプログラム実行
- ②10秒後に離陸
- ③5秒間待ったら、20cm直進
- ④直進後、3秒待って180度旋回
- ⑤20cm直進
- ⑥5秒待って着陸
スクリプトを選択し、画面右のスペースにスクリプトをドラッグして積み重ねるだけです。
プログラムの実行(パソコンとTelloを接続する)
Scratchでプログラミングできましたら、いよいよプログラムの実行です。
Telloの電源を入れ、パソコンとTelloをWi-Fi接続します。
パソコンとTelloが接続できたら準備完了です。
後はスペースキーを押すだけで、ドローンをプログラミングで動かす事ができます。
プログラミングを実行すると、コマンドプロンプトでは下記のようにScratchで設定した内容が表示されます。
上記が表示されればプログラミングは実行され、Telloは自動飛行を行います。
以上で全手順は完了です。
まとめ
以上、ビジュアルプログラミング「Scratch」を使い、Telloのプログラミング飛行を設定する方法を解説しました。
Scratchを使えば難しいプログラミング言語を覚えなくてもドローンの動作をプログラミングで動かせます。
Telloは大人が空撮やプログラミングを趣味として楽しむのはもちろん、お子さんのプログラミング教育にも使えると思います。
自分で考えたプログラムでドローンを自動飛行で動かすのは、お子さんも興味を持つと思いますので、ぜひScratchを使ったプログラミングにチャレンジしてみて下さい。
ちなみに、以下の記事でプログラミングに特化したTelloのアカデミックバージョンを紹介しています。興味のある方はどうぞ。

また、スマートフォンアプリのプログラミングソフトで、もっと気軽にプログラミングにチャレンジしたいという方は、以下の記事をどうぞ。

以下は筆者がTelloを購入した時の解説記事です。Telloを購入しようか考えている方は、ぜひ参考にしてみて下さい。

最後に、以下の記事でTello用の関連グッズを紹介しています。興味がありましたらぜひどうぞ。
