第16回 Node-REDインストール

今回はNode-REDをインストールします。

目次

Node-REDインストール手順概要

今回の記事ではNode-REDをインストール手順を説明します。

また、これからNode-REDを使い続けますので、ラズベリーパイを起動するたびにNode-REDを起動するのも面倒です。そこで、Node-REDを自動的に起動するような設定も行います。

これから以下のステップでインストール&設定手順を説明します。

ステップ1

Node-REDをインストールします。インストール完了まで10〜20分程度かかります。

ステップ2

Node-REDを起動して、正常に動作しているか確認します。

ステップ3

ラズベリーパイ起動時、Node-REDが自動的に起動するように設定します。

Node-REDインストール&設定手順

それでは、早速Node-REDをインストール、設定しましょう!

ステップ1)Node-REDインストール

最初にターミナルを起動します。

デスクトップ環境の場合は「LXTerminal」を起動します。リモート接続の場合はターミナルアプリでラズベリーパイにsshで接続します。

ターミナルで、以下のコマンドをコピペして実行します。

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

コマンドを入力して少し待つと、以下の最後の行にある確認があります。

raspberrypi: ~ $ bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

This script checks the version of node.js installed is 12 or greater. It will try to
install node 14 if none is found. It can optionally install node 12, 14 or 16 LTS for you.
 
If necessary it will then remove the old core of Node-RED, before then installing the latest
version. You can also optionally specify the version required.
 
It also tries to run 'npm rebuild' to refresh any extra nodes you have installed
that may have a native binary component. While this normally works ok, you need
to check that it succeeds for your combination of installed nodes.
 
To do all this it runs commands as root - please satisfy yourself that this will
not damage your Pi, or otherwise compromise your configuration.
If in doubt please backup your SD card first.
 
See the optional parameters by re-running this command with --help
 
Are you really sure you want to do this ? [y/N] ?

このまま継続してよいかの確認です。「y」と入力してリターンキーを押します。

続いて以下の確認があります。

Would you like to install the Pi-specific nodes ? [y/N] ? 

ラズベリーパイ用の機能もインストールするかの確認です。「y」と入力してリターンキーを押します。

「ラズベリーパイ用の機能」って言われてもよくわからないですよね。

第4回のNode-RED概要の記事で説明しましたが、Node-REDではラズベリーパイのGPIO制御もできます。とはいってもこのGPIO制御はラズベリーパイに特化した機能ですので、デフォルトのNode-REDインストールセットには入っていません。そこで、ラズベリーパイ上でNode-REDをインストールするときは、追加でラズベリーパイ用の機能もインストールするか問い合わせがあります。

画面がクリアされ、インストールの状況が表示されます。ネットワーク環境によりますが、インストールは10〜20分程度かかります。

コマンドプロンプトが表示されればインストール完了です。

ステップ2)Node-RED起動

次に、Node-REDを起動します。デスクトップ環境、リモート接続での起動方法をそれぞれ説明します。

デスクトップ環境のNode-RED起動方法

Node-REDをインストールすると、ラスベリーパイメニュー自動的に登録されます。

以下のようにラズベリーパイメニューから「プログラミング」→「Node-RED」を選択するとNode-REDが起動します。

Node-REDメニュー

起動すると、LXTerminalのウィンドウが自動的に開き、Node-RED起動時のいろいろな情報が表示されます。

LXterminal Node-RED起動

LXTerminalは、このように起動時の情報が表示される以外にも、Node-REDでデバッグするときなどにも情報が表示されます。そのため、ウィンドウは閉じずにこのままで問題ありません。なお、LXTerminalのウィンドウを閉じてもNode-REDは終了することはありません。(終了させる場合は明示的にコマンドでNode-REDを停止する必要があります)

これでNode-REDの起動ができました。

リモート接続でのNode-RED起動方法

リモート接続の場合は、ターミナルからコマンドを入力してNode-REDを起動します。

Node-REDは node-red-start というコマンドで起動できます。なお、コマンド入力時には最後に「&」をつけるようにしてください。(「&」の前はスペースを入れても入れなくても大丈夫です)

以下のように入力します。

ユーザ名@raspberrypi:~ $ node-red-start &

入力後、Node-RED起動時のいろいろな情報が表示されます。これでNode-REDが起動できました。

Node-REDターミナル

ところで、「node-red-start」コマンドの最後に「&」をつけましたが、つけなくてもNode-REDは問題なく動作します。

コマンドの最後に「&」をつけると何が変わるのでしょうか。

Raspberry Pi OS(LinuxOS)では、コマンドの最後に「&」をつけると、「コマンドの処理が終了していない状態でも、すぐにコマンドプロンプトに戻ってくる」という動作になります。(「コマンドをバックグラウンドで実行する」という意味になります)

ちょっとわかりづらいですよね。そこで、「&」をつけた時とつけない時で、具体的に結果がどう変わるのか説明します。

例えば、ディレクトリの内容を表示する「ls」コマンドは、ディレクトリ内容を表示すると役割を終えてコマンドプロンプトに戻ります。

lsコマンドの実行のようす

ところが、Node-REDは動作し続ける必要がありますので、「node-red-start」と入力すると以下のようにコマンドプロンプトに戻ってきません。

コマンドに&をつけない場合

そこで、コマンドの最後に「&」をつけて「node-red-start &」と入力すると、Node-REDを起動したらすぐにコマンドプロンプトに戻ってきてくれます。

コマンドに&をつける場合

なお、コマンドの最後に「&」をつけてもコマンドプロンプトが表示されない場合は、リターンキーを押すとコマンドプロンプトが表示されます。

ステップ3)Node-RED自動起動設定

ステップ2でNode-REDを起動しましたが、ラズベリーパイの電源を切ったり再起動すると、Node-REDは停止してしまいます。

ラズベリーパイの電源を入れるたびに手動でNode-REDを起動しても構いませんが、面倒ですので自動起動するように設定しておきます。

自動起動の機能をONにする場合は、以下のコマンドを入力します。

raspberrypi: ~ $ sudo systemctl enable nodered.service

このコマンドを実行後、ラズベリーパイを起動するとNode-REDが自動的に起動します。

なお、デスクトップ環境でメニューから「Node-RED」を選択した場合、表示されているLXTerminalのウィンドウはコマンドプロンプトが表示されていませんので、コマンドを入力することができません。

このような場合は、以下の「LXTerminal」アイコンをクリックして、別のLXTerminalウィンドウを開き、そのウィンドウでコマンド入力してください。

LXterminal起動

また、自動起動機能をOFFにする場合は、以下のコマンドを入力します。

raspberrypi: ~ $ sudo systemctl disable nodered.service

Node-REDにアクセス

それではNode-REDが正常に動作しているか、ブラウザからNode-REDにアクセスして確認してみましょう。

Node-REDへのアクセス

Node-REDへのアクセス方法について、デスクトップ環境とリモート接続それぞれについて説明します。

デスクトップ環境でアクセスする場合

デスクトップ環境の場合は、以下のアイコンをクリックしてブラウザを起動します。

Chromiumアイコン

起動後、以下のURLにアクセスします。

localhost:1880

デスクトップ環境の場合、Node-RED、ブラウザともに同じラズベリーパイ上で動作しています。そのためブラウザのURLは自分を意味する「localhost」で指定します。また、Node-REDは1880番ポートになっていますので、ポート番号も指定します。

リモートからアクセスする場合

Windows、macOS、iOS、Androidなどでブラウザを起動します。

起動後、以下のURLにアクセスします。

raspberrypi.local:1880

リモート接続の場合、ブラウザのURLは接続先のラズベリーパイ「raspberrypi.local」で指定します。また、Node-REDは1880番ポートになっていますので、ポート番号も指定します。

Node-REDの接続確認

ブラウザに以下のような内容が表示されれば、Node-REDのインストール、起動は問題ありません。

Node-RED初期画面1

新機能紹介が表示されるようになっています。新機能を確認する場合は「開始 >」ボタンをクリックしていくと確認ができますが…まだよくわからないですよね。右上の閉じるボタンをクリックすると新機能案内は閉じることができます。閉じると以下のようなNode-REDの初期画面になります。

Node-RED初期画面

Node-RED停止方法

Node-REDはずっと動作していますので、使わない場合は停止しておいた方がいいですよね。

Node-REDを停止する場合は、ターミナルで以下のコマンドを入力します。

raspberrypi: ~ $ node-red-stop

なお、Node-REDを自動起動している場合は、ラズベリーパイを再起動するとNode-REDが起動しますので注意してください。

それぞれの環境では、以下のようにターミナルにアクセスしてください。

デスクトップ環境で、ラズベリーパイメニューから起動した場合

現在表示されているLXTerminalのウィンドウではコマンドプロンプトが表示されません。このような場合は、LXTerminalアイコンをクリックして、別のLXTerminalを開き、node-red-stopコマンドを入力します。

リモート接続で、ターミナルから「node-red-start」で起動した場合

現在開いているターミナルのウィンドウではコマンドプロンプトが表示されません。このような場合は、以下の手順で別のターミナルウィンドウを開き、node-red-stopコマンドを入力します。

Windowsの場合は、「コマンドプロンプト」を起動すると別のウィンドウが表示されます。

macOSの場合は、「ターミナル」アプリのメニューから「シェル」→「新規ウィンドウ」を選択すると別のウィンドウが表示されます。

リモート接続で、ターミナルから「node-red-start &」で起動した場合

コマンドプロンプトが表示されていない場合、リターンキーを押すと表示されます。node-red-stopと入力してNode-REDを停止します。

Node-RED制御コマンドまとめ

最後に、Node-REDの制御コマンドをまとめます。

制御 コマンド
起動 node-red-start
停止 node-red-stop
自動起動ON sudo systemctl enable nodered.service
自動機能OFF sudo systemctl disable nodered.service

更新履歴

日付 内容
2022.5.10 新規投稿
通知の設定
通知タイミング
guest
0 コメント
本文中にフィードバック
全てのコメントを見る
目次
閉じる