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