はじめに
やることなす事はとても簡単です。
Arduino IoT CloudフローをNode-REDにインストールしてAPIキーを設定するだけの話です。
今回の3ステップ
- Arduino IoT CloudでAPIキーを取得する。
- node-red-contrib-arduino-iot-cloudをインストールする。
- 使用するノードにAPIキーを設定する。
事前にやるべきこと
- Arduino IoT CloudでThingsが設定されていて、Dashboard等の機能で動作確認ができていること。
- Node-REDが使える環境を持っていること。ちなみに筆者はenebularを用いている。
- ESP32やArduino MKR Wifi などのWifiに繋げられるArduinoボードを持っている。Lチカとセンサデータの取得がゆるく確認できれば良いぐらいであれば、Arduino MKR Wifi 1010をおすすめしています。
Arduino IoT CloudでAPIキーを取得
APIキーはArduino IoT Cloudログイン後ページのIntegrationsタブ→CREATE API KEYから作成する。
作成後、IDとシークレットキーが表示されるため控えておく。PDFで取得することも可能。
(このタイミング以降はシークレットキーを表示する術がないため、万が一失念した場合は再発行する。)
node-red-contrib-arduino-iot-cloudをインストール
フローの説明はこちら
https://flows.nodered.org/node/@arduino/node-red-contrib-arduino-iot-cloud/in/x6nLBn2zSj93
自身の環境のnode-redでnpm installしていただければOKです。
ちなみにenebularであれば設定の「ノードを追加」からインストールすることが可能です。
適切にフローがインストールできれば、パレットにこのようなノードが追加されるはず。
使用するノードにAPIキーを設定する。
新しく加わったArduino IoT Cloudノードをエディタ画面上に配置したあとに、パレットを設定開いてConnectionの設定をする。鉛筆マークをクリックするとClient IDとSecret Keyを設定する場所があるので、最初のステップで取得したIDとキーを設定する。
入力されたキーとIDが正しければ、下記のように作成したThingsやPropertyを勝手に取得してくれる。超ステキ。
Arduino IoT Cloudノードそれぞれの説明
こちらを参照する。
https://qiita.com/Inoue_Minoru/private/27152074f0321389dca4
うまく行かない場合の確認事項
以下、過去の自分に贈る言葉です。
- Thingsで作成したコードはデバイスに書き込まれていますか?
- WiFiには接続されていますか? ONLINEになっていますか?
- ダッシュボードとつなげてあるべき姿でデバイスは動作していますか?
- node-red-contrib-arduino-iot-cloudはインストールされていますか? パレットに新しいノードは追加されていますか?
- ノードにClient IDとSecret Keyを入れた後にThingやPropertyはサジェストされていますか?
- ノードで指定したPropertyとDashboardで確認した際のPropertyは一致していますか?
- そもそもデバイスの配線は大丈夫ですか? 確認している間にジャンパや部品は抜けていませんか? 電源は入っていますか?
まとめ
- 連携自体は超簡単。Node-REDになれている人ならLチカぐらいは数分で確認できそう。
- とりあえずネット越しにデバイス動かしたい!という人なら是非。
おまけ
Rumicarと呼ばれる自律動作ラジコンを連携してみた話です。