3章Armadillo のセットアップ を完了している場合は Armadillo を起動すると、自動的に Node-RED コンテナが起動します。
Node-RED への接続には 「ネットワークに接続する」 で取得した IP アドレスを使用します。
パソコンの Web ブラウザから、http://<ipアドレス>:1880/
にアクセスしてください。
Node-RED には大きく3つの領域があります。
使用可能なコアノード、カスタムノードの一覧を表示します。
Node-RED では一つのアプリケーションの流れをフローという単位で表します。
ワークスペース上にノードを繋げてフローを作成します。
パレットから必要なノードをワークスペースにドラッグ、ドロップで配置します。
選択したノードの情報や、デバッグメッセージを表示します。
4.2. Node-RED コンテナのログを表示する
パソコンの Web ブラウザから、http://<ipアドレス>:1880/node-red.log
にアクセスすると Node-RED コンテナのログが表示されます。
このログファイルは /var/app/rollback/volumes/node-red/log
に保存されています。ログのサイズが 5MB を超えると新しいログファイルに移行します。
古いログファイルを表示したい場合は、http://<ipアドレス>:1880/node-red.log.1
にアクセスしてください。
4.3. Node-RED で利用可能なノードの一覧
3章Armadillo のセットアップ でインストールした Node-RED コンテナには Node-RED のコアノードの他にインストールされているカスタムノードがあります。
インストール済のカスタムノードは以下になります。
Dashboard を表示するノードです。
Node-RED を終了するためのノードです。
GPIO 入力、出力を行うノードです。
-
falling edge, rising edge, hysteresis ノード
GPIO 入力の立ち上がりエッジ、立ち下がりエッジ、もしくは両方の検出を行うノードです。
RS485 を用いたModbus 通信用のノードです。以下のノードが使用可能です。ただし、modbus-flex-server ノードは使用不可となっています。
modbus-response, modbus-read, modbus-getter, modbus-flex-getter, modbus-write, modbus-flex-write,
modbus-server, modbus-queue-info, modbus-flex-connector, modbus-io-config, modbus-response-filter, modbus-flex-sequencer ノード
Node-RED では一つのアプリケーションの流れをフローという単位で表します。
各ノードを使用したフローの作成方法について紹介します。
ここでは、LED を1秒間隔で点滅するフローを作成します。すべて Node-RED のコアノードを使用します。
Armadillo-IoT ゲートウェイ A6E の LED は以下がありますが、今回対象にするのはアプリケーション LED です。
アプリケーション LED の場所については 「インターフェースレイアウト」 をご確認ください。
アプリケーション LED は /sys/class/leds/app/brightness
ファイルへ値を書き込むことによって、LEDの点灯/消灯を行うことができます。
0 を書き込むと消灯、0 以外の値 (1~255) を書き込むと点灯します。
表4.1 LED 信号配列
部品番号 | 名称(色) | 説明 |
---|
SYS | システムLED(緑) | 電源(VCC_3.3V)の入力状態を表示、i.MX6ULLのUART2_CTS_Bピン(GPIO1_IO22)に接続
(Low: 消灯、High: 点灯) |
APP | アプリケーションLED(緑) | アプリケーションの状態を表示、i.MX6ULLのUART2_RTS_Bピン(GPIO1_IO23)に接続
(Low: 消灯、High: 点灯) |
WWAN | ワイヤレスWAN LED(緑) | LTE通信の状態を表示、i.MX6ULLのUART1_RX_DATAピン(GPIO1_IO17)に接続
(Low: 消灯、High: 点灯) |
-
パレットから [inject] ノードをワークスペースにドラッグ、ドロップします。
[inject] ノードのプロパティを編集します。[inject] は2秒間隔で実行します。
名前: LED Blink
繰り返し: 指定した時間間隔
時間間隔:2秒
-
[trigger] ノードをドラッグ、ドロップします。
[trigger] ノードのプロパティを編集します。
[trigger] は 1 を送信して1秒待機後、0 を送信します。これにより点滅動作を実現します。
送信データ:1
送信後の処理:指定した時間待機
1秒
再送信データ:0
-
[LED Blink] ノードの右側にある端子をクリックし、[trigger] ノードの左側の端子を選択して放します。
-
[write file] ノードをドラッグ、ドロップします。
[write file] ノードのプロパティを編集します。
/sys/class/leds/app/brightness
ファイルへ [trigger] からの送信データを書き込みます。
ファイル名: /sys/class/leds/app/brightness
動作: ファイルを上書き
文字コード: デフォルト
名前: APP LED
-
[trigger] ノードの右側にある端子をクリックし、[APP LED] ノードの左側の端子を選択して放します。
-
[debug] ノードをドラッグ、ドロップします。
[APP LED] ノードの右側にある端子をクリックし、[debug] ノードの左側の端子を選択して放します。
-
画面右上の [デプロイ] を押します。アプリケーション LED が1秒毎に点滅を繰り返す動きをすれば成功です。
ここでは、 Armadillo-IoT ゲートウェイ A6E の CPU の測定温度を1秒間隔で取得するフローを作成します。全て Node-RED のコアノードを使用します。
/sys/class/thermal/thermal_zone0/temp
ファイルの値を読み出すことによって測定温度を取得することができます。
温度はミリ°C の単位で表示されるため、°C 単位への変換も行います。
-
パレットから [inject] ノードをワークスペースにドラッグ、ドロップします。
[inject] ノードのプロパティを編集します。[inject] は1秒間隔で実行します。
繰り返し: 指定した時間間隔
時間間隔: 1秒
-
[read file] ノードをドラッグ、ドロップします。
[read file] ノードのプロパティを編集します。
/sys/class/thermal/thermal_zone0/temp
ファイルの値を読み出します。
ファイル名: /sys/class/thermal/thermal_zone0/temp
出力形式: 文字列
文字コード: デフォルト
名前: CPU temp
-
[Get CPU temp] ノードの右側にある端子をクリックし、[CPU temp] ノードの左側の端子を選択して放します。
-
[function] ノードをドラッグ、ドロップします。
[function] ノードのプロパティを編集します。
CPU の測定温度がミリ°C の単位のため、°C の単位へ変換します。
msg.payload
で渡された値を 1000 で割り、msg.payload
に戻します。
名前: CPU temp calc
コード:
msg.payload = msg.payload / 1000;
return msg;
-
[CPU temp] ノードの右側にある端子をクリックし、[CPU temp calc] ノードの左側の端子を選択して放します。
-
[debug] ノードをドラッグ、ドロップします。
[CPU temp calc] ノードの右側にある端子をクリックし、[debug] ノードの左側の端子を選択して放します。
-
画面右上の [デプロイ] を押します。デバッグメッセージに1秒毎に CPU の測定温度が表示されます。
ここでは、 接点入力の入力レベルを1秒間隔で取得するフローを作成します。
Node-RED のコアノードのほかに GPIO in ノードを使用します。
Armadillo-IoT ゲートウェイ A6E の CON6 にある接点入力を使用します。入力レベル 0 は LOW レベル、1 は HIGH レベルを表わします。
接点入力の場所については 「インターフェースレイアウト」 をご確認ください。
表4.2 CON6 信号配列(接点入力関連)
ピン番号 | ピン名 | I/O | 説明 |
---|
3 | COM | In | 接点入力プラスコモン |
4 | DI1 | In | 接点入力1 |
5 | DI2 | In | 接点入力2 |
DI ピンは GPIO として制御可能であり、対応する GPIO 番号を次に示します。
表4.3 接点入力に対応する CON6 ピン番号
ピン番号 | ピン名 | GPIOチップ | GPIO番号 |
---|
4 | DI1 | gpiochip5 | 0 |
5 | DI2 | gpiochip5 | 1 |
| |
---|
接点入力に何も接続していない(開放状態)場合、取得できる入力レベルは 1 (HIGH レベル)となります。 |
接続に関する注意事項は以下です。
表4.4 CON6 接続可能な電線
規格 | UL | IEC |
電線範囲 | 26~18 AWG | 0.12~0.9mm2 |
被覆剥き長さ | 5~6mm |
使用可能フェルール端子 | 型番 : MFL25-5BE
メーカー:ミスミ |
推奨ねじ締めトルク | 0.28Nm |
| |
---|
電線の先端に予備半田しないでください。正しい接続ができなくなります。 |
| |
---|
端子台に電線を接続する際、端子台に過度な力を加えないでください。
端子台が破損する恐れがあります。 |
Armadillo-IoT ゲートウェイ A6E の接点入力インターフェースはフォトカプラで絶縁されています。
そのため、フォトカプラを駆動させるために5V以上の電圧を印加する必要があります。
外部電源を用いてフォトカプラを駆動させる場合の接続方法について以下に示します。
例として DI1 ピンからの入力レベルを取得するフローを作成します。
-
パレットから [inject] ノードをワークスペースにドラッグ、ドロップします。
[inject] ノードのプロパティを編集します。[inject] は2秒間隔で実行します。
名前: Get DI1
繰り返し: 指定した時間間隔
時間間隔:1秒
-
[GPIO in] ノードをドラッグ、ドロップします。
[GPIO in] ノードのプロパティを編集します。
Device:gpiochip5
Type:Digital pin
Pin: 0
Name:DI1
-
[Get DI1] ノードの右側にある端子をクリックし、[DI1] ノードの左側の端子を選択して放します。
-
[debug] ノードをドラッグ、ドロップします。
[DI1] ノードの右側にある端子をクリックし、[debug] ノードの左側の端子を選択して放します。
-
画面右上の [デプロイ] を押します。デバッグメッセージに 1秒毎に DI1 ピンの入力レベルが表示されます。
何も接続してない場合であれば常に 1 が表示されます。
ここでは、 接点出力の出力レベルを1秒毎に HIGH レベルと LOW レベルを切り替えるフローを作成します。
Node-RED のコアノードのほかに GPIO out ノードを使用します。
Armadillo-IoT ゲートウェイ A6E の CON6 にある接点出力を使用します。
出力レベル 0 は LOW レベル、1 は HIGH レベルを表わします。
接点出力の場所については 「インターフェースレイアウト」 をご確認ください。
表4.5 CON6 信号配列(接点出力関連)
ピン番号 | ピン名 | I/O | 説明 |
---|
6 | DO1A | - | 接点出力1A |
7 | DO1B | - | 接点出力1B |
8 | DO2A | - | 接点出力2A |
9 | DO2B | - | 接点出力2B |
DO ピンは GPIO として制御可能であり、対応する GPIO 番号を次に示します。
表4.6 接点出力に対応する CON6 ピン番号
ピン番号 | ピン名 | GPIOチップ | GPIO番号 |
---|
6 | DO1A | gpiochip5 | 2 |
7 | DO1B | gpiochip5 | 2 |
8 | DO2A | gpiochip5 | 3 |
9 | DO2B | gpiochip5 | 3 |
接続に関する注意事項は以下です。
表4.7 CON6 接続可能な電線
規格 | UL | IEC |
電線範囲 | 26~18 AWG | 0.12~0.9mm2 |
被覆剥き長さ | 5~6mm |
使用可能フェルール端子 | 型番 : MFL25-5BE
メーカー:ミスミ |
推奨ねじ締めトルク | 0.28Nm |
| |
---|
電線の先端に予備半田しないでください。正しい接続ができなくなります。 |
| |
---|
端子台に電線を接続する際、端子台に過度な力を加えないでください。
端子台が破損する恐れがあります。 |
Armadillo-IoT ゲートウェイ A6E の接点出力インターフェースはフォトカプラで絶縁されています。
そのため、フォトカプラを駆動させるために5V以上の電圧を印加する必要があります。
外部電源を用いてフォトカプラを駆動させる場合の接続方法について以下に示します。
例として DO1 ピンの出力レベルを制御するフローを作成します。
-
パレットから [inject] ノードをワークスペースにドラッグ、ドロップします。
[inject] ノードのプロパティを編集します。[inject] は2秒間隔で実行します。
名前: Set DO1
繰り返し: 指定した時間間隔
時間間隔: 2秒
-
[trigger] ノードをドラッグ、ドロップします。
[trigger] ノードのプロパティを編集します。
送信データ:1
送信後の処理:指定した時間待機
1秒
再送信データ:0
-
[GPIO out] ノードをドラッグ、ドロップします。
[GPIO out] ノードのプロパティを編集します。
Device:gpiochip5
Type:Digital (0/1)
Pin: 2
Name:DO1
-
[Set DO1] ノードの右側にある端子をクリックし、[DO1] ノードの左側の端子を選択して放します。
-
[debug] ノードをドラッグ、ドロップします。
[DO1] ノードの右側にある端子をクリックし、[debug] ノードの左側の端子を選択して放します。
-
画面右上の [デプロイ] を押します。1秒毎に DO1 ピンの出力レベルが HIGH レベルと LOW レベルで切り替わります。
4.4.5. 接点入力の入力レベルの立ち上がりエッジを検出する
ここでは、 接点入力の入力レベルの立ち上がりエッジを検出するフローを作成します。
Node-RED のコアノードのほかに rising edge ノードを使用します。
Armadillo-IoT ゲートウェイ A6E の CON6 にある接点入力と接点出力を使用します。
入力レベル、出力レベルの 0 は LOW レベル、1 は HIGH レベルを表わします。
接点入力、接点出力の場所については 「インターフェースレイアウト」 をご確認ください。
例として DI2 ピンの立ち上がりエッジを取得するフローを作成します。
また、立ち上がりエッジ検出のためにループバック接続を行います。
接続に関する注意事項は以下です。
表4.8 CON6 接続可能な電線
規格 | UL | IEC |
電線範囲 | 26~18 AWG | 0.12~0.9mm2 |
被覆剥き長さ | 5~6mm |
使用可能フェルール端子 | 型番 : MFL25-5BE
メーカー:ミスミ |
推奨ねじ締めトルク | 0.28Nm |
| |
---|
電線の先端に予備半田しないでください。正しい接続ができなくなります。 |
| |
---|
端子台に電線を接続する際、端子台に過度な力を加えないでください。
端子台が破損する恐れがあります。 |
CON6 にある接点入力、接点出力のピンを次に示します。
表4.9 CON6 信号配列(接点入力、出力関連)
ピン番号 | ピン名 | I/O | 説明 |
---|
1 | VIN | In | 入力電圧 |
2 | GND | In | GND |
3 | COM | In | 接点入力プラスコモン |
4 | DI1 | In | 接点入力1 |
5 | DI2 | In | 接点入力2 |
6 | DO1A | - | 接点出力1A |
7 | DO1B | - | 接点出力1B |
8 | DO2A | - | 接点出力2A |
9 | DO2B | - | 接点出力2B |
DI ピンと DO ピンは GPIO として制御可能であり、対応する GPIO 番号を次に示します。
表4.10 接点入力、出力に対応する CON6 ピン番号
ピン番号 | ピン名 | GPIOチップ | GPIO番号 |
---|
4 | DI1 | gpiochip5 | 0 |
5 | DI2 | gpiochip5 | 1 |
6 | DO1A | gpiochip5 | 2 |
7 | DO1B | gpiochip5 | 2 |
8 | DO2A | gpiochip5 | 3 |
9 | DO2B | gpiochip5 | 3 |
Armadillo-IoT ゲートウェイ A6E の接点入力、出力インターフェースはフォトカプラで絶縁されています。
そのため、フォトカプラを駆動させるために5V以上の電圧を印加する必要があります。
ループバック接続を用いて DO2 ピンの出力レベルを変更して、DI2 ピンで立ち上がりエッジを検出します。
必要なピン接続は以下です。
・VIN ピン - COM ピン
・GND ピン - DO2B ピン
・DI2 ピン - DO2A ピン
-
はじめに DI2 ピンの立ち上がりエッジを検出するフローを作成します。
パレットから [inject] ノードをワークスペースにドラッグ、ドロップします。
[inject] ノードのプロパティを編集します。
名前: Get DI2
繰り返し: 指定した時間間隔
時間間隔:0.1秒
-
[GPIO in] ノードをドラッグ、ドロップします。
[GPIO in] ノードのプロパティを編集します。
Device:gpiochip5
Type:Digital pin
Pin: 1
Name:DI2
-
[Get DI2] ノードの右側にある端子をクリックし、[DI2] ノードの左側の端子を選択して放します。
-
[rising edge] ノードをドラッグ、ドロップします。
[rising edge] ノードのプロパティを編集します。
Name: notify rising edge
Threshold: 0
-
[DI2] ノードの右側にある端子をクリックし、[notify rising edge] ノードの左側の端子を選択して放します。
-
[change] ノードをドラッグ、ドロップします。
[change] ノードのプロパティを編集します。
名前: notification
ルール: 値の置換 msg.payload
検索する文字列: 1
置換後の文字列: notify!
-
[notify rising edge] ノードの右側にある端子をクリックし、[notification] ノードの左側の端子を選択して放します。
-
[debug] ノードをドラッグ、ドロップします。
-
[notification] ノードの右側にある端子をクリックし、[debug] ノードの左側の端子を選択して放します。
-
次に DO2 ピンの出力レベルを変更するフローを追加します。[Get DI2] の下に [inject] ノードをドラッグ、ドロップします。
[inject] ノードのプロパティを編集します。
名前: Output LOW
msg.payload: 0
繰り返し: なし
-
[Output LOW] の下に [inject] ノードをドラッグ、ドロップします。
[inject] ノードのプロパティを編集します。
名前: Output HIGH
msg.payload: 1
繰り返し: なし
-
[GPIO out] ノードをドラッグ、ドロップします。
[GPIO out] ノードのプロパティを編集します。
Device:gpiochip5
Type:Digital (0/1)
Pin: 3
Name:DO2
-
[Output LOW] ノードの右側にある端子をクリックし、[DO2] ノードの左側の端子を選択して放します。
[Output HIGH] ノードの右側にある端子をクリックし、[DO2] ノードの左側の端子を選択して放します。
[DO2] ノードの左側は二つのノードが繋がっている状態になります。
-
画面右上の [デプロイ] を押します。
[Output LOW] を押した後に [Output HIGH] を押した場合に、立ち上がりエッジを検出して "notify!" がサイドバーのデバッグメッセージに表示されます。
4.4.6. RS-485 modbus RTU 読み出しを行う
ここでは、 RS-485 を使用した Modubus RTU 読み出し用フローを作成します。
Node-RED のコアノードのほかに modbus-client ノード、Modbus-Read ノード、 modbus-response ノードを使用します。
Armadillo-IoT ゲートウェイ A6E の CON6 にある RS485 を使用します。
RS-485 シリアルインターフェースのデバイスファイルは、/dev/ttymxc4
を使用します。
RS-485 の場所については 「インターフェースレイアウト」 をご確認ください。
表4.11 CON6 信号配列(RS-485関連)
ピン番号 | ピン名 |
---|
10 | DATA+ |
11 | DATA- |
12 | GND |
-
機能
-
最大データ転送レート : 5Mbps
-
半二重対応
-
RS-485 シリアルインターフェースのデバイスファイルは、/dev/ttymxc4 を使用します。
終端抵抗 120Ω の ON/OFFをスイッチ (SW3) で切り替えることができます、設定方法は以下をご確認ください。
-
-
終端抵抗 120Ω がONになります。
-
-
終端抵抗 120Ω がOFFになります。
| |
---|
終端はRS485の信号線の最遠端で行います。
Armadillo-IoT ゲートウェイ A6E が最遠端になる場合は終端抵抗をONにしてください。 |
接続に関する注意事項は以下です。
表4.12 CON6 接続可能な電線
規格 | UL | IEC |
電線範囲 | 26~18 AWG | 0.12~0.9mm2 |
被覆剥き長さ | 5~6mm |
使用可能フェルール端子 | 型番 : MFL25-5BE
メーカー:ミスミ |
推奨ねじ締めトルク | 0.28Nm |
| |
---|
電線の先端に予備半田しないでください。正しい接続ができなくなります。 |
| |
---|
端子台に電線を接続する際、端子台に過度な力を加えないでください。
端子台が破損する恐れがあります。 |
RS-485通信対応デバイスとの接続方法について以下に示します。
今回は以下のRS-485通信対応デバイスを想定した場合の設定内容となります。
実際に動作確認する場合は、使用するRS-485通信対応デバイスの設定に変更してください。
ユニットID: 1
通信プロトコル: Modbus RTU
ボーレート: 9600
読み出しアドレス: 0x00
ファンクションコード: 1
-
パレットから [Modbus-Read] ノードをワークスペースにドラッグ、ドロップします。
-
[Modbus-Read] ノードのプロパティを編集します。
先に Server を設定する必要があります。[新規に modbus-client を追加] の右隣の編集ボタンを押して [modbus-client] を作成します。
名前: RS485 slave device
Type: Serial
Serial port: /dev/ttymxc4
Serial type: RTU
Baud rate: 9600
Unit-Id: 1
[Modbus-Read] ノードのプロパティを編集します。
名前: slave device
トピック:
Unit-Id:
FC: FC 1:Read Coil Status
Address: 0
Quantity: 1
Poll Rate: 1 Second(s)
Server: RS485 slave device
-
[Modbus-Response] ノードをドラッグ、ドロップします。
[slave device] ノードの右側にある端子をクリックし、[Modbus-Response] ノードの左側の端子を選択して放します。
-
画面右上の [デプロイ] を押します。読み出しに成功すると1秒毎に読みだした値が更新され [Modbus-Response] ノードの下に表示されます。
4.4.7. CPU の測定温度のグラフをダッシュボードに表示する
「CPU の測定温度を取得する」 で取得した CPU 温度をダッシュボードにグラフとして表示するフローを作成します。
サイドバーの右端にある三角形のボタンを押し、[ダッシュボード] を選択します。
[ダッシュボード] 編集画面が表示されることを確認します。
[+タブ] ボタンを押して [Tab1] を追加します。
[Tab1] プロパティを編集します。
名前: Armadillo
アイコン: dashboard
[Armadillo] タブが追加されました。
名前: Armadillo
アイコン: dashboard
[Armadillo] 横の [+グループ] ボタンを押して [Group1] を追加します。
名前: Armadillo
アイコン: dashboard
[Group1] プロパティを編集します。
名前: Group 1
タブ: Armadillo
種類:
幅: 15
□グループ名を表示する
[chart] ノードをワークスペースにドラッグ、ドロップします。ダッシュボード編集画面の [Group1] グループに追加されたことを確認します。
[chart] ノードのプロパティを編集します。
グループ: [Armadillo] Group 1
サイズ: 自動
ラベル: CPU temp
種類: 折れ線グラフ
X軸: 直近1時間
X軸ラベル: HH:mm:ss
Y軸: 最小 20 最大 50
凡例: 非表示 補完: 直線
[CPU temp calc] ノードの右側にある端子をクリックし、[CPU temp] ノードの左側の端子を選択して放します。
画面右上の [デプロイ] を押します。ダッシュボード編集画面の [テーマ] タブの右側にある四角に矢印が重なったボタンを選択すると、ダッシュボードが表示されます。
-
ダッシュボードの CPU 温度のグラフは一秒毎に更新されます。
ここでは、外部プログラムを実行しその結果を取得するフローを作成します。
外部プログラムは [exec] ノードで実行することができます。
ここでの外部プログラムとはシステムコマンドやユーザー自身が作成したプログラムのことを指します。
例として date
コマンドを実行するフローを作成します。
-
パレットから [inject] ノードをワークスペースにドラッグ、ドロップします。
プロパティはデフォルトから変更ありません。
-
[exec] ノードをドラッグ、ドロップします。
[exec] ノードのプロパティを編集します。
コマンド: date
引数: なし
-
[indect] ノードの右側にある端子をクリックし、[exec] ノードの左側の端子を選択して放
します。
-
[debug] ノードをドラッグ、ドロップします。
[exec] ノードの右側の一番上にある端子をクリックし、[debug] ノードの左側の端子を選択して放します。
-
画面右上の [デプロイ] を押します。
-
[inject] ノードの左の四角を押すと [exec] ノードに設定した
date
コマンドが実行され標準出力の結果が
デバッグメッセージに表示されます。
[exec] ノードの右の端子は上からそれぞれ「標準出力」「標準エラー出力」「返却コード」となっており、
取得したい出力によって使い分けることができます。
ここでは、 Node-RED を任意のタイミングで終了するフローを作成します。
Node-RED のコアノードのほかに exit ノードを使用します。
| |
---|
Node-RED 終了後、Node-RED を再起動するためには Armadillo-IoT ゲートウェイ A6E の電源を再投入する必要があります。 |
-
パレットから [inject] ノードをワークスペースにドラッグ、ドロップします
[inject] ノードのプロパティを編集します。
名前: Finish Node-RED
繰り返し: なし
-
[exit] ノードをドラッグ、ドロップします。
[exit] ノードのプロパティを編集します。
Name: exit
Exit code: 0
[Finish Node-RED] ノードの右側にある端子をクリックし、[exit] ノードの左側の端子を選択して放します。
-
画面右上の [デプロイ] を押します。[Finish Node-RED] ノードの左側にあるボタンを押すと Node-RED が終了します。