7-3-3.Scratch3.0プログラム3(クラウドへデータ保存)

2019年9月1日

事前確認

工作キットの準備

工作キットを起動して下さい。配線及びスケッチ、設定は7-3-1.Scratch3.0用ESP32-DevKitC環境構築 インターネットありを参照し完了している必要があります。

IFTTT設定(Actionを変更)

IFTTTの設定に関しては、こちらで説明しています。
今回は、This(トリガー)にWebHooksを利用しThat(アクション)にGoogleSheetsを利用しますので、That(アクション)のGoogleSheetsを以下に説明します。

【注意】
IFTTTに登録されているアカウントがGoogleDriveを利用できる必要があります。Googleアカウントは15GBまでは無料で利用可能です。

(1)Thatの検索窓で「googlesheet」を入力し、「GoogleSheets」をクリックします。

(2)ChooseActionで「Add row to spreadsheet」をクリックしてください。

以上でアプレットの作成を完了「Finish」してください。

通信確認

Scratch3利用する端末とスマートリモコン/カーが通信しながら制御を行います。そのため、通信できることを確認する必要があります。以下の通り確認して下さい。
(1)Windows端末ではコマンドプロンプトを起動して下さい。また、Mac端末ではターミナルを起動して下さい。
【起動方法】
Windows端末:Windowsキー + 「r」コマンドで検索窓を表示し「cmd」と入力しリターン
Mac端末:Launchpadから一覧を表示し「ターミナル」をクリック
(2)通信確認実施
通信確認用プロトコルPingを利用して確認します。「ping 192.168.1.x」のようにスマートリモコン/カーのIPアドレスに通信確認を行います。
【通信OK時(例)Windows10端末】

到達時間が表示され、損失が0になっていることを確認して下さい。(OSにより表示される文字列は異なりますので表示される内容を確認して下さい)

【通信NG時(例)Windows10端末】

タイムアウトが発生し「宛先ホストに到達できません」と表示されていますので通信ができない状態となります。(OSにより表示される文字列は異なりますので表示される内容を確認して下さい)
通信NG時は設定したWi-FiやIPアドレスなどの情報を確認し通信OKになるようにする必要があります。

《注意点》

各コマンド完了確認

Scratch3から応答(完了)を待たずにプログラムすると正常に動作できません。例えば完了を待たずに実施するとIoT端末で処理が溢れて処理できなくなってしまいます。以下のブロックを利用時は必ずブロック処理が完了する処理をプログラムで入れて下さい。

【完了待ちが必要なブロック処理】
①LED制御ON/OFFブロック
②Update Sensorブロック
③Record Remote Control 1-5ブロック
④Send Remote Control 1-5ブロック
⑤IFTTT WebHooks MAIL/CLOUDブロック

【完了処理】
上記ブロックを利用した場合は、直後にIoT Remocon StatusがCompletedになるまで待つようにプログラムして下さい。

Scratchでプログラム

Scratchプログラム例はこちらとなります。
ダウンロードしたファイルをScratch3.0メニューの「ファイル」から「コンピュータから読み込む」で開くと以下の画面が表示されます。

【「IFTTT WebHooks」ブロックの「CLOUD」でプログラミングすると、IFTTT-WebHooksのEventNameは「iotData」で制御されます。】

《利用時の設定》
「IoT Remocon IP」で工作キットに設定したIPアドレスを入力して利用してください。

工作キットのIPアドレスは7-2-1で設定した値になります。