LoginSignup
4
0

はじめに

こんにちは、京セラコミュニケーションシステム 福留(@kccs_kazuo_fukudome)です。

最近、IoT デバイスの制御で Node-RED を利用した処理フローを記述する事が多くなってきているようです。弊社の大山(@kccs_susumu-oyama)も Node-RED を利用した開発をしています。Node-RED を利用した開発記事もあるので、気になる人は見てください。

私も、つい先日から利用し始める事になりました。ですが、いざ Node-RED をインストールしようとした時に、良い感じにまとまった記事が見つからなかったです。そのため、今回は備忘録もかねて、Google Compute Engine (Ubuntu 20.04)に インストールした手順を紹介します。

本記事は 2023 年 9 月ごろに作成しております。
Google Cloud の機能を利用した場合は、利用料が発生します。

VM インスタンスの作成

Google Compute Engine で Ubuntu 20.4 の VM インスタンスを作成します。

VM インスタンス作成でブートディスクの OS、バージョンを Ubuntu 20.4 へ変更します。後の設定は、デフォルト設定でインスタンスを作成します。

image1.png

基本モジュールのアップデート

インスタンスを作成し、起動したら、Ubuntu の基本モジュールのアップデートを行います。

sudo apt-get update
sudo apt-get upgrade -y

Node.js のインストール

続いて、Node-RED のベース言語となる Node.js をインストールします。
ただ、2023 年 9 月時点で Node.js をインストールすると、 Node.js v10.19.0
がインストールされます。
Node-RED の 公式 HPで Node-RED を動かすには、 Node.js v16.x が推奨となっているため、次の操作で、Node.js のインストールバージョンを v10 から v16 に変更する必要があります。

Nodesource GPG キーをダウンロードしてインポートします。

sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

続いて、deb リポジトリの作成します。今回は Node.js v16.X を導入するので、"NODE_MAJOR" を "16" としていますが、別のバージョンをインストールしたい場合は、ここの数値を変更してください。

NODE_MAJOR=16
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

以上の設定を行ったら、apt をアップデートし、続いて Node.js をインストールします。

sudo apt-get update
sudo apt-get install nodejs -y

インストールできたら、"node -v" と実行すると、Node.js のバージョンが確認できます。表示されるバージョンが、次のように、v16.X.X となっていれば問題ありません。

image2.png

Node-RED のインストール

続いて、Node-RED をインストールします。

sudo npm install -g -unsafe-perm node-red node-red-admin

Ubuntu、Google Compute Engine のファイアーウォール設定

最後に、Ubuntu のファイアーウォールの設定で、Node-RED のサービスポート 1880 番の通信を許可します。

sudo ufw allow 1880

また、Google Compute Engine のファイアーフォールの設定も必要となります。Google Compute Engine のファイアーウォール設定については、VPC ファイアウォール ルールを使用する 等の HP を参考に設定してください。

Node-RED の起動

次のコマンドで、Node-RED を起動します。

node-red &

問題なければ、ブラウザから Node-RED にアクセスできると思います。
image3.png

【補足】Node-RED のサービスポート変更

ネットワークの環境によっては、Node-RED のサービスポート番号 1880 の通信が許可されていない場合があるかもしれません。その場合は、Node-RED の設定ファイルにサービスポート番号が記述されている箇所がありますので、そちらを変更してみてください。

~/.node-red/settings.js
    /** the tcp port that the Node-RED web server is listening on */
    uiPort: process.env.PORT || 1880,

最後に

Node-RED を利用し始めて解ったのですが、プログラミングと違って簡単に処理が作成できると思いました。一方で、処理を早く動かすために、ノードの 1 つ 1 つが、非同期処理で実装されているようです。そのため、思わぬ動きをされたりして、現在も四苦八苦しています。そもそも、私自身、Node.js などの非同期のデザインパターンに慣れていない事も原因の 1 つかもしれませんが。。。
ただ、ノードを組み合わせる事によって、簡単に処理(プログラミング)ができるのは、大きなメリットだと思っています。冒頭にも書いたように、今後は Node-RED を利用した開発も増えるのでは?と感じています。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0