今年になって、4冊の本が出版された話題?の「Node-RED」、思い切って使ってみました!

Node-REDとは、IBMが作ったプログラムを作るシステム

「『Node-RED』って何?」
という方も多いと思います。

私のブログを読んでいる方のほとんどはそうだと思いますので簡単に説明します。

「Node-RED」とは、複雑になりがちなコンピューターのプログラムを簡単に作れるようにしたシステムで、あのIBMが開発をしています。

IBMが作ったのに、無料で使えます!!
これ、大きいです!

ただ、あまりにも表示が簡単すぎて、何ができるのかいまいち分かりにくくて手を出していませんでした。

線で繋いで作るプログラム

プログラムというと、大きく分けて2種類あります。

  • 文字を打ち込んで作るタイプ:本格的
  • ブロックを繋いで作るタイプ:簡易的

Node-REDは、ブロックを繋いで作るタイプで比較的簡単に作ることができます。似たものでは、子供向けの「Scratch」が有名ですね。

比較的簡単、といっても資料が無くては動かし方すらも分かりません。

そこで、本が大切なのです。

私のような素人レベルだと、Net情報だけで使うのは難しく中途半端に終わってしまいます。

色々とやってきてわかったのは、本などの参考資料が無いと使えるようにならない、ということです。

それも、本が3冊は無いと覚えられません。
本がないと、手をつける気にもならない、ということもあります。

と言うことで、早速新しく出版された本を購入し、サクッと試してみました!

BME280で、温度・湿度・大気圧を測定!

いつものごとく、テストボードを作って、測定してみました。

テストボードには余計なものもついていますが、それらは本に載っていて練習用に利用したものです。

実際には、センサーBME280と有機ELの表示パネルだけで成り立ちます。

右には、比較用の温度計を置いています。

ここでは、0.3度程の誤差があります。
窓を開けたりしているのでセンサーの位置や開放度合いで温度差が生じてしまいます。
右の市販されている温度計の方が反応が遅いので、テストボードの方が正しいと思います。。

BME280をNode-REDで利用するプログラムはこちら!

では、今回のプログラムです!

このように組んでいます。

基本的に、左から右に流れていきます。

測定は、左から2番目にある「Bme280」のブロック(紫色)を入れればOK!
ブロックの下に、測定値がすでに表示されているのが分かりますね。

そこからは、下のようなデータが排出されます。

temperature_C: 25.45humidity: 55.09242210444913pressure_hPa: 995.0406574191309model: “BME280”

あとは、このデータを分解してどのように表示させるかを考えるだけです。

3列目から右側が表示するためのブロック群です。

一般的なプログラムを作る場合、表示を考えるのが結構手間がかかるのですよね。
手間の割にはプログラムとして面白くないし、、、

そこを簡単に行ってくれるのがNode-REDの良いところ!使い勝手の良いところ!です!!

簡単にブラウザで表示できます!

温度・湿度・大気圧をリアルタイム表示

IPアドレスとポート番号等を指定して、少し付け足すと、下の絵のように簡単に表示してくれます。

例えば、今回は、下のようにブラウザに入れてあげます。

http://192.168.1.135:1880/ui/#!/

IPアドレスは「http://192.168.1.135」で「:1880/ui/#!/」を付け足しました。

これは便利!
このように表示をするだけで、きちんと測定しているように見えますよね。

数字アレルギーの方も、これなら見てくれそうです。

グラフでも表示!

測定したデータをグラフでも表示してくれます。

湿度が、真ん中あたりから上がっているのが分かりますね。

これは、朝方にエアコンで除湿をしたため湿度が下がっていたのですが、寒くなりすぎたために除湿を止め冷房にしたためです。

冷房は、除湿よりも湿度を下げる機能が弱いのでこのような変化が見られます。

このグラフ機能、設定がいまいちわからず期待したような表示はできていません。
これからです。

サーバー機能も!

これからなのですが、サーバー機能も持っています。
サーバー機能を持っていると、データを読みに行くことができるのです。

測定データを保存するときなど、メインの1台から数台の測定機にデータを読みにいきます。
メインのマシンにデータをまとめて保存できると後々のデータ処理が楽なので必須の機能です。

これらもPythonやArduinoでやっていたのですが、もっと楽にできそうです!

リスタートも簡単に!

このNode-REDは、raspberry-piの上で動かしています。
raspberry-piとは、小さいコンピューターです。

とても安くて電子工作には良いのですが、数ヶ月に及ぶような環境測定をしていると、いつの間にか止まってしまったり測定していないことがあります。

それを防ぐには、リスタートをすることなのですが、この設定が結構手間、、、
それに、私のような素人には結構ハードルが高い!!

と思っていたら、Node-REDの機能自体に、raspberry-piをリスタートしたり、シャットダウンをする機能を簡単に載せられました。

と言うわけで、サクッと作ってみました。

上は「リスタート」
下は「シャットダウン」

上の「タイムスタンプ」と言うブロックでは、毎日1度、日時を指定してリスタートの指示を出しています。

「タイムスタンプ」の下にある薄緑色のブロックは、ブラウザに「リスタート」と「シャットダウン」のボタンを表示させています。と言うことは、遠隔でも操作できます!

お〜!

良いですね!!

まだ使い始めたばかりですが、手を加えていくのも楽しそうです!

色々な測定ができると良いな〜!

今回はBME280でしたが、空気の汚れも測定してくれるBME680も試してみたいと思っています。
BME680はすでに仕入れているので、あとはもう少しNode-REDを研究したら利用してみようと思っています。

これらが実用化されると、実際に建てさせていただいたお家にセンサーを設置して、快適に住われているかを確認できるようにもなります。

そうすると、お家づくりのアドバイスも、今とは違った内容になってきますね!