enebularは"Hello World!"しかやったことが無かったので、次はLEDチカチカさせてみたかった。
とりあえず、LED ON! をやってみます。
Node-REDにobnizのノード、あるよと聞いたのでeneblerでやってみました。
@kmaepu さんの「Node-RED(enebular)のobnizノードを使ってみる」を参考にさせていただきました。
@wicket さんの「国産APIで使える国産マイコンボードobniz」を参考にさせていただきました。
1. やってみたいこと
株式会社ウフルさんのIoT開発・運用サービスeneblarを使ったobnizでのLED制御。
具体的には、足の長いほうがアノード(+)、短いほうがカソード(-)なので、PinNo=0に5Vを供給し、PinNo=1は0Vとしたい。
2. obnizのAPIについてリサーチ
obnizのAPIに関するサイトを見てみると、「世界のどこかにあるobnizにobniz idだけでWebSocket接続できます。全てのコマンドはjsonでやり取りされます。」とあります。これはすごい、面白そうです。
3. obnizノードのインストール
右側サイドバーのadmingタグを選択して
node-red-congrib-obnizを入力して、「install」を実行します。
installが完了すると、左側サイドのノードパレットの「その他」にobnizノードが追加されます。
4. 使用する3つのノードの配置
中央のワークスペースに3つのノードを配置します。
- injectノード
- debugノード
- obnizノード
-
配置するとこのようになります。
injectノードの出力とdebugノードの入力、injectノードの出力とobnizノードの入力をそれぞれ線でつなぎます。
5. injectノードの設定
ワークスペース上に配置されたinjectノードをダブルクリックするとinjectノードの編集ダイアログが表示されます。
ペイロードを"日時"から"{}json"に変更します。
ペイロード設定の"..."をクリックするとJSONエディタが表示されます。
JSONエディタでペイロードを入力します。
obnizに対して、
ディスプレイをいったんクリアして、"OK obniz,LED on!"を表示させる
PinNo=0に5Vの電源を供給し、PinNo=1は0Vの状態にする
ための情報です。
{
"display": {
"clear": true,
"text": "OK obniz,LED on!"
},
"io0": true,
"io1": false
}
6. debugノードの設定
ワークスペース上に配置されたdebugノードをダブルクリックするとdebugノードの編集ダイアログが表示されます。
デバッグウィンドウにinjectノードからのペイロードをそのまま出力する、ということでよさそうなので、これはこのままにしておきます。
7. obnizノードの設定
ワークスペース上に配置されたobnizノードをダブルクリックするとobnizノードの編集ダイアログが表示されます。
ここで、対象obnizのobnizidを入力します。
8. 動作確認
injectノードの左端にある□を押すとobnizの画面に"Hello obniz,LED on!"と表示れ、LEDが点灯します。
同時にeleblularのデバッグコンソールにJSONの内容が表示されます。
成功です!!
9. まとめ
・obnizの「世界のどこかにあるobnizにobniz idだけでWebSocket接続できます。全てのコマンドはjsonでやり取りされます。」ということが検証できました。
・enebularの(ほぼ)ノンコーディングでIoTが実現できるということが検証できました。