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

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

目次

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

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

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

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

以下のステップ1は64-bit版のRaspberry Pi OS向けの説明になります。32-bit版の場合は手順が異なりますので、記事の後半の「ステップ1) Node-REDインストール(32-bit版)」をご参照ください(クリックするとページ内ジャンプします)。

ステップ1

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

ステップ2

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

ステップ3

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

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

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

ステップ1)Node-REDインストール(64-bit版)

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

デスクトップ環境の場合は「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

これでNode-REDのインストールは一通り終わりです。

以下は32-bit版Raspberry Pi OSのインストール手順の説明です。


ステップ1) Node-REDインストール&設定手順(32-bit版)

Raspberry Pi OS 32-bit版の場合、Node-REDをマウスクリックでインストールできます。

なお2022年9月時点では、Node-REDを起動するとエラーが発生します。このエラー対処の手順も併せて説明します。

ラズベリーパイOSを起動後、左上のラズベリーパイメニューをクリックして「設定」→「Recommended Software」を選択します。

32bit版Node-REDインストール1

「Recommended Software」では各種ソフトウエアのインストール、アンインストールができます。

左側のジャンルを選択するところで「Programming」を選択すると、右側に「Node-RED」が見つかると思います。Node-RED欄の右端にチェックボックスがありますのでチェックをつけて「Apply」ボタンをクリックします。

32bit版Node-REDインストール2

インストールまでしばらく時間がかかります。インストールが完了すると以下のような画面になりますので、OKボタンをクリックします。

32bit版Node-REDインストール3

これでインストール完了です。次のステップでNode-REDを起動してみましょう。

ステップ2)Node-RED起動(32-bit版)

Node-REDはメニューから起動できます。

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

Node-RED起動1

選択すると、以下のようにターミナルが起動して、Node-REDの起動メッセージが表示されます。

Node-RED起動2

ターミナルのメッセージで、上のようにオレンジ色の文字で「Failed…」というメッセージが表示されている場合、起動に失敗しています。

このようなメッセージではなく「フローを開始しました」というメッセージが表示されいれば起動できています。その場合は、「ステップ3)Node-RED自動起動設定」に戻って作業を続けます(クリックするとページ内ジャンプします)。

起動が失敗するのは、設定ファイルの問題です。

設定ファイルには、現在のユーザアカウントの情報が書かれています。32-bit版のインストーラ場合、その設定ファイルのユーザアカウント名が「pi」になってしまっています。

おそらく現在のアカウント名は「pi」ではなく、ご自身で決めた何らかの文字列になっていると思います。

そこで、これからNode-REDの設定ファィルのアカウント名を「pi」からご自身のアカウント名に変更します。

それでは、ターミナルを起動してください。起動後、以下のようなコマンドを入力して、設定ファイルをエディタで開きます。

sudo nano /lib/systemd/system/nodered.service

Node-RED起動3

コマンドを入力すると、設定ファイルが開きます。このエディタは普通のエディタのように矢印キーでカーソルが移動できます。

上から10行目ぐらいに、以下のような記述があります。

User=pi
Group=pi
WorkingDirectory=pi

Node-RED起動4

これら3行に書かれている「pi」の部分を、ご自身のユーザアカウント名に変更してください。

変更できたら、「Ctrl + X」キーを押します。

以下のように「変更されたバッファを保存しますか?」と聞かれますので、「Y」キーを押します。(「変更されたバッファ」とは「変更されたファイル」という意味です)

Node-RED起動5

最後に保存ファイル名の確認がありますので、以下の表示のままリターンきーを押します。

Node-RED起動6

これで設定ファイルの変更は完了です。

このあと、一度ラズベリーパイを再起動してください。

再起動後、左上のラズベリーパイアイコンから「プログラミング」→「Node-RED」を選択して、ターミナルにエラーが表示されないか確認します。

インストールと起動確認ができたら、「ステップ3)Node-RED自動起動設定」に戻って作業を続けます(クリックするとページ内ジャンプします)。

更新履歴

日付 内容
2022.5.10 新規投稿
2022.9.1 32ビット版Raspberry Pi OSのNode-REDインストール、エラー回避方法追記
通知の設定
通知タイミング
guest
4 コメント
新しい準
古い順 一番投票が多い
本文中にフィードバック
全てのコメントを見る
ゆかだんぼう
ゆかだんぼう
1 月 前

いつもこのサイトで勉強させて頂いています。

質問です
ステップ1 node-redのインストールについてなのですが
node-redインストール中にエラーが出てインストールができません。
以下にその時のターミナルの画面をコピペしたものを載せます。

/*********************************ここからターミナル画面*************************************/
Running Node-RED install for user nagashima at /home/nagashima on raspbian

This can take 20-30 minutes on the slower Pi versions – please wait.

 Stop Node-RED            ✔
 Remove old version of Node-RED   ✔
 Remove old version of Node.js    ✔  
 Install Node.js 16 LTS       ✘  Bad install: Node.js missing Npm missing – Exit
 Clean npm cache           
 Install Node-RED core        
 Move global nodes to local      
 Npm rebuild existing nodes      
 Install extra Pi nodes        
 Add shortcut commands        
 Update systemd script        
                    

Any errors will be logged to  /var/log/nodered-install.log

nagashima@raspberrypi:~ $ 
/**************************************************************************************************/

使用機器:Raspberry Pi 2 Model B
使用OS : Raspberry Pi OS (32bit)

ご教授いただければ幸いです。

ゆかだんぼう
ゆかだんぼう
返信  管理者
1 月 前

動きました!
引き続き当サイトで勉強させていただきます
32bit版の追記とご丁寧な回答ありがとうございます。

目次