FruitPunch IchigoDyhook ガイド (共有編)

目次
１. 内容 ........................................................................................................................................................... 2
２. 準備物（2 人あたり 1 機の Tello を共有し 4 人が参加する場合）.............................................................. 3
３. Tello と FruitPunch の接続 ........................................................................................................................ 4３-１. 機材のセットアップ ............................................................................................................................. 4３-２. SSID の確認 .......................................................................................................................................... 4３-３. 接続のプログラムを作る ...................................................................................................................... 4３-４. 自動実行で接続 & LED で接続の確認 .................................................................................................. 4３-５. 接続に失敗したときは？ ...................................................................................................................... 5
４. プログラミング ......................................................................................................................................... 6４-１. レーサースタイルの例 .......................................................................................................................... 6
５. Tello を飛ばす ............................................................................................................................................ 7５-１. IchigoJam BASIC の自動実行機能を使用する ........................................................................................ 7５-２. 気をつけること .................................................................................................................................... 8-------- 1 --------

１. 内容本ガイドでは、1 組の Tello と FruitPunch のペアを複数人で共有する方法について解説します。講義の参加者よりも Tello の数が少ないというようなケースでも、参加者それぞれのプログラムで Tello を飛ばせるようになります。
IchigoDyhook + IchigoDake でそれぞれがプログラミング

Tello と接続された FruitPunch + DakeJacket を用意しておきます。
IchigoDake を FruitPunch + DakeJacket に挿入してプログラムを実行します。

IchigoDake のプログラムで Tello が動きます。

-------- 2 --------

２. 準備物（2 人あたり 1 機の Tello を共有し 4 人が参加する場合）⚫

Tello or Tello EDU×2⚫

FruitPunch×2⚫

DakeJacket×2⚫

モバイルバッテリー×2⚫

microUSB ケーブル×2⚫

IchigoDake（BASIC 版）

×4⚫

IchigoDyhook×4-------- 3 --------

３. Tello と FruitPunch の接続
初めに、Tello と FruitPunch を接続(ペアリング)します。
IchigoDyhook で Tello と FruitPunch を接続するには、IchigoDake に SAVE したプログラムを、自動実行する必要があります。
詳細は「キーボードやモニターを繋がずに FruitPunch と Tello をペアリングする方法」をご覧ください。

３-１. 機材のセットアップ
モバイルバッテリーを microUSB ケーブルで FruitPunch + DakeJacket に接続します。

３-２. SSID の確認
Tello のアクセスポイント名(SSID)を確認します。
SSID は Tello のバッテリーをさしこむ場所に記載されているのでメモします。

３-３. 接続のプログラムを作る
以下のプログラムで FruitPunch を Tello の Wi-Fi アクセスポイントに接続します。
NEW10 ?""
20 ?"FPSAVE0APCTELLO-XXYYZZ"※TELLO-XXYYZZ の部分には SSID の確認でメモした対象の Tello の SSID を差し込みます。
※行番号は先頭行が「?""」で、その次の行が「FP APC」であれば何番でもかまいません。

３-４. 自動実行で接続 & LED で接続の確認
SAVE コマンドを使って 0 番に保存しておいたプログラムは、モニターやキーボードの操作なしに実行する-------- 4 --------

ことが可能です。これを自動実行といいます。下記の手順で自動実行ができます。
１. Tello の電源が入っていることを確認する
２. FruitPunch と DakeJacket それぞれの電源が入っていることを確認する
３. プログラムを保存した IchigoDake を、IchigoDyhook から引き抜く
４. IchigoDake の白いボタンを押したまま、FruitPunch + DakeJacket に差し込む

５. 白いボタンを離す
プログラムが実行されると、FruitPunch が Tello の Wi-Fi アクセスポイントに接続されます。
FruitPunch と Wi-Fi アクセスポイントとの接続状態は、以下で確認することができます。
接続成功したとき：FruitPunch の緑の LED が点滅後に点灯
接続失敗したとき：FruitPunch の緑の LED が点滅後に消灯使用する Tello と FruitPunch すべてで 3-1 から 3-4 の作業を行います。

３-５. 接続に失敗したときは？
接続に失敗したときは、以下を確認の上、再度、3-1 から 3-4 の作業を繰り返してください。
⚫

Tello の電源が入っているか⚫

SSID に間違いがないか⚫

Tello のバッテリーは充分か⚫

スマホ等の他の端末がすでに Tello と通信していないか⚫

編隊飛行などで Tello がステーションモードになったままになっていないか⚫

プログラムやプログラムの書き方が間違ってないか(プログラムの打ち間違い「"」忘れ、大文字・小文字・スペース間違い など)-------- 5 --------

４. プログラミング
ここではコマンダースタイルを例に取ります。
下記のプログラムを入力します。

10 ?””
110 ?”FP120 ?”FP
800 ?”FPQF 50”QB 50”
QRUN”

このプログラムは IchigoDake のメモリ上に保存されているため、下記のコマンドを入力することで再度表示することができます。（F4 キーでも可）LIST
ただし、メモリ上のプログラムは DakeJacket の電源を切ると消えてしまいます。下記のコマンドを使用することで電源を切っても消えない場所に保存できます。（F3 キーでも可）SAVE0
つづけて一度 DakeJacket の電源を切ってから入れ、下記のコマンドを入力します。（F2 キーでも可）LOAD0
つづけて下記のコマンドを入力すると、先ほど保存したプログラムが再度表示されるでしょう。
（F4 キーでも可）LIST４-１. レーサースタイルの例
レーサースタイルの場合、下記のようなプログラムになるでしょう。

10 ?””
110 ?”FP120 ?”FP
130 ?”FP140 ?”FP150 ?”FP
160 ?”FPINIT”
TO”:WAIT500
F”:WAIT60
TR”:WAIT60
N”:WAIT30
LD”-------- 6 --------

５. Tello を飛ばす
IchigoDake を Tello と接続された FruitPunch + DakeJacket に挿入して、IchigoDake に保存しておいたプログラムを実行すれば、Tello を飛ばすことができます。

５-１. IchigoJam BASIC の自動実行機能を使用する
IchigoJam BASIC の自動実行機能を利用すると、SAVE0 で保存しておいたプログラムをキーボードの操作なしで実行できます。
IchigoDake を IchigoDyhook から引き抜きます。IchigoDake の表面のボタンを押しながら FruitPunch +DakeJacket に挿入し、ボタンを離します。すると、SAVE0 で保存されていたプログラムが実行されます（このとき、FruitPunch と DakeJacket の電源はあらかじめ入れておいてください）。
※Tello が飛ばない場合は、Tello を再起動して、Tello のカメラ右上の LED が黄色点滅になってから 10 秒ほど後に再度お試しください。

自動実行機能を利用するときは、プログラムの先頭の行（行番号が最小のもの）に下記のようにコマンドを追加してください。追加しないと、プログラムの最初のコマンドが無視されることがあります。

10?””-------- 7 --------

５-２. 気をつけること
コマンダースタイルでは、FruitPunch に送ったコマンドは FP QRUN を送ることで実行されます。
コマンドは FruitPunch の電源を切るか FP QRUN が送られるまでは、FruitPunch 内に残ります。
そのため、FP QRUN を忘れたり BASIC の構文エラーなどが原因でプログラムが中断されたりすると、次のプログラムを実行したときに中断された FruitPunch のコマンドの一部が実行されてしまうことがあります。
例えば、A 君、B 君の 2 人が 1 つの Tello を共有する際に、下記のようなプログラムを A 君、B 君の順番で実行したとします。
（A 君のプログラム）

10 ?””
110 ?”FP QF 50”
120 ?FP QB 50 ・・・「”」ダブルクォーテーションが抜けている
800 ?”FP QRUN”（B 君のプログラム）

10 ?””
110 ?”FP800 ?”FP

QU 50”QRUN”

A 君のプログラムを実行すると、FruitPunch に 110 行目の?”FP QF 50 ”が送られますが、120 行目はダブルクォーテーションが抜けているため構文エラーがおきてプログラムが中断されます。
つづけて、B 君のプログラムを実行します。A 君の送った?”FP QF 50”が FruitPunch の中に残ったままなので、B 君がプログラムを実行した結果、FruitPunch 内に以下のコマンドがあることになります。
FP QF 50
FP QU 50
これが B 君のプログラムの中にある FP QRUN で実行されることになってしまいます。
これに対処するには、プログラムの先頭に下記のようなコマンドを入れます。

1020?””?”FPQCLR”

FP QCLR コマンドで FruitPunch 内に残ったままのコマンドが全て消えるため、前の利用者が送ったコマンドが実行されることはありません。
例10 ?””
20 ?”FP QCLR”
110 ?”FP QU 50”
800 ?”FP QRUN”-------- 8 --------

改訂履歴
2020.05

初版発行

2022.01

Tello が飛ばない場合の対処法を追加-------- 9 --------