Node-REDの自動起動

1. Node-REDの自動起動設定

電源ONと同時にNode-REDが自動で起動するように設定します。

以下のコマンドを実行し、電源ON時のNode-REDの自動起動を許可します。

sudo systemctl enable nodered.service

これで、次回の電源ON時から自動でNode-REDが起動します。電源ON時の自動起動を止める場合は、以下のコマンドを実行してください。

sudo systemctl disable nodered.service

電源ON時にNode-REDの自動起動が許可されているかどうかを確認するコマンドは以下です。

systemctl is-enabled node-red.service

許可されていない場合には、”disable”が、許可されている場合には、”enable”が返ってきます。

2. 自動起動されるフローファイル

2-1. デフォルトのフローファイル

電源ON時に自動で起動されるフローファイルは、

    ~/.node-red/flow_$(hostname).json   通常(hostnameがraspberrypiの場合)は、~/.node-red/flow_raspberrypi.json

がデフォルトです。Node-REDのエディタを引数無しで実行すると作成されます。途中でhostnameを変えた場合などはそれに合わせて、名称の変更をしておかないと空のNode-REDのファイルを起動時に開くことになってしまい、正しく動作しないので注意が必要です。Node-REDの動作を変更する前にバックアップしておくべきファイルもこのファイルになります。

2-2. フローファイルの変更

自動で起動されるファイル名を変えたい場合は、以下の設定ファイルを修正することで変更できます。

~/.node-red/settings.js

この設定ファイルの”flowFile:”の後に、ファイル名を指定することでそのファイル名のファイルを自動起動時にフローファイルとして読み込むようにできます。通常は、以下の様にコメントアウトされています。そのため、1行目のコメントにあるように、’flows_<hostname>.json’ がデフォルトとして読み込まれています。

// The file containing the flows. If not set, it defaults to flows_<hostname>.json
//flowFile: 'flows.json',

このflowFileの頭の”//”を削除すると、自動起動時に’flows.json’ というファイルを読み込むように変更できます。また、flowsの部分を変更すれば、その名前のファイルを読み込むようになります。

// The file containing the flows. If not set, it defaults to flows_<hostname>.json
flowFile: 'flows.json',