この記事はobniz Advent Calendar 2020の12日目の記事です。
個人的に設備とIoT機器のゲートウェイとして無限の可能性を感じているobniz(オブナイズ)とIoTのクラウド環境としてのenebular(エネブラー)をどうやって自分のビジネスにつなげるかを考えています。
今回、クラウド上で動くenebularのNode-REDとobnizをつなげる実験を行いましたので、こちらにメモとして残します。
↓ obnizの過去記事
高齢者のゆるい見守りに!EnOcean環境センサとobnizを使った見守りシステム
obnizとEnOceanスイッチを使って故郷の親が軽くメッセージを送れるシステム|デジタルライト(Digital-light.jp)
今回やったこと
事務所にあるobnizについて、ジョグダイヤルを押す(Push)、左に回す(Left)、右に回す(Right)の状態を、クラウドにあるenebularのNode-REDに送り、事務所にあるスマートフォンでenebularのNode-RED Dashboarの画面で、obnizの操作の状況を確認するというものです。
enebularのフロー
“obniz repeat”ノードを、Node-RED Dashboardのtextノードにつなぐだけです。
でも、これだとちょっと味気ないので、obnizのディプレイにもジョグダイヤルの状態を表示するようにしましょう。
これでOKです。
obniz repeatノード
初期化処理で、画面をクリアします。
10msごとにobnizのstateを “obniz.switch.getWait()”で取得して、stateが”none”じゃなかったときは、msg.payloadにstateの状態を格納し次のフローに送るようにしました。
obniz functionノード
obniz.display.cloear()で画面をクリアした後、obniz.display.print(state)にて、先程のジョグダイヤルの状態を表示します。
Node-REDダッシュボード textノード
こちらは、msg.payloadに格納されたobnizジョグダイヤルの状態を、Node-RED Dashboardのtextノードに表示させるだけです。
結果
こちらが結果です。
実験の為、obnizとスマホは同じネットワークにつながっていますが、
obniz → enebular → スマホというように、一度、クラウドを経由しているので、obnizとスマホが別のところにあっても動作します。
なので、設備制御の中で遠隔地の状況確認や操作をするときに、このobnizとenebularの組み合わせが使える可能性があるので、引き続き、ビジネスにできる方法を探していきたいとおもいます。