[blog-日々のこと] Node-RED

せっかく買ったEcho Dotですが、目覚まし時計の代わりと、天気予報だけに使うのはもったいないと思っていたのですが、思わぬところでRaspberry Piをコントロールできることを知りました。 

 Node-REDを使うと簡単?に ということで、また新し勉強の始まりです。

トラ技の記事もいいのですが、やっぱりちゃんとした本を買おうと奮発 「Node-REDで極楽コンピュータ・プログラミング」というインターフェースSpecial の薄い本です。

IoTにも興味があったし、MQTTにも。 piCorePlayer 3.5から取り戻したraspi3ですが、すぐに次のことで使ってしまう。もう1台くらい欲しいと行ったところです。

さてこの本を教科書にしてNode-REDについて勉強を進めていくことにします。 

まずはどこにNode-REDをインストールするかを考えました。 Raspberry Piにインストールするのはもちろんですが、例題をこなして使い方を覚えていく必要があります。

したがってまずは使い勝手の良いというか、手に馴染んだMacを使うことにしました。

同じ環境でWinodwsで使うことも考えて、以前に少しだけ勉強したDockerを使いそのコンテナとしてNode-REDを使ってみることにします。 Dockerについては、色々と忘れてしまっていることが多いので、健忘録を兼ねてインストールから進めます。

DockerにNode-REDを構築

それではDockerを使ってNode-REDを構築することにします。

DockerのDownloadとinstall

何も大げさなことでは、ないのですが、DockerにNode-REDをインストールすることにします。

Macの場合はやはり簡単な「Docker for Mac」でしょうか。

ネットを使って検索して見ると沢山の情報が得られます。

ここでは、その中の ここを使ってみました。

ここにはMac版もWindows版もあります。 ここからDownload for Macを選ぶと「Docker Community Editon for Mac」をDownloadすることができるようです。 

Installそのものは多くの情報がネットで得られますので、そちらを参考にしてください。

installが終了し、RunするとMacの場合はTop Status bar に表示が現れます。

DockerでNode-REDを実行するには

DockerでNode-REDを実行するには、やはりネットで多くの情報が得られますが、Node_RED日本ユーザ会からの情報が役立つかと思います。同会のクイックスタートに書いてある通りにコマンドを走らせることでDockerでNode-REDを実行することができます。

なおこれらのソフトを実行させるには、Terminalのソフトが必要になり、ほとんどがCUI(Character User Interface)を使ったものになります。 結構コマンドとか覚えるのは大変ですが、いかにもパソコンを操作している気分に浸れます?

なおNode_RED日本ユーザ会の資料に「コンテナの外部にデータを保管する方法」が示してありますので、このコマンドを使った方が便利です。

 

docker run -it -p 1880:1880 -v ~/node-red-data:/data --name mynodered nodered/node-red-docker

 

コンテナ内で使用する/dataを外部の~/node-red-data にマウントするようです。したがってNote-REDを終了してもデータが消えることはありません。

~/node-red-dataの中身は

となっていました。

動いているかどうか確認をしてみます。

ブラウザを使って 

http://127.0.0.1:1880

と入力してみます。

と表示され動作していることがわかります。 表示されている内容は教科書に書かれているサンプルです。

これを実行するには

ブラウザを使って

http://127.0.0.1:1880/Template

とすると

教科書通りに実行された結果が現れます。

同様に

 

http://127.0.0.1:/function

とすると

となります。Docker上のnode-REDが正常に動作することがわかりました。

node_REDの終了

さてこれを終了させるには

コンテナを次のコマンドで終了させることができます。mynoderedはコンテナ名です。

コンテナ名は次のコマンドでも見ることができます。

 

$ docker ps 又は docker container ls

NAMESにコンテナ名が表示されています。

コンテナ mynoderedを停止します。

 

$ docker container stop mynodered

リストには何も表示されませんがimageは残っていますので

 

$ docker images  又は docker image ls

とコマンドを打つと図の様に表示されます。

node-REDの再起動

node-REDを起動するには

 

$ docker container start mynodered

 

その後

MacにDockerをインストールしてNode-REDを動かしましたが、中古で購入したThinkpad T440PにWindows10とubuntu 18.04を導入して、両方にDockerを導入しました。

 

 

コメント