動作確認

0. はじめに

Node-REDの設定Node-RED ダッシュボードの表示 にて温度と湿度のグラフが表示されていれば正常に動作しているものと判断できますが、表示されない場合は各部毎に動作を確認し支障箇所を見つけ修正する必要があります。
ここでは、各部毎の動作確認について説明します。

  1. MQTTブローカーの動作確認
  2. 送信側の動作確認
  3. 受信側の動作確認

1. MQTTブローカーの動作確認

MQTTブローカーを稼働させているOpenBlocksへログインし、MQTTブローカー(mosquitto)が稼働しているかpsコマンドで確認します。

root@obsiot:~# ps -xa | grep mosquitto | grep -v grep
374653 ? Ss 3:17 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

プロセスが存在しない場合は、ブローカーの準備を見直して下さい。

2. 送信側の動作確認

2-1. プロセスの確認

ダッシュボードタブのプロセス状況 (IoTデータ) ペインにてPD RepeaterPD Handler BLEのプロセスを確認します。

dashboard

  1. PD Repeater稼働中であることを確認します。
  2. PD Handler BLE稼働中であることを確認します。

停止中である場合は、送受信設定に誤りが無いか確認します。

起動しないよくある原因として次の事項が挙げられます。

  • PD Repeater
    • 送信先ホストの設定が誤っている。
  • PD Handler BLE
    • Luaプロトコル ファイルの指定が誤っている。

2-2. ログの確認

IoTデータ⇒ログタブにて、PD Handler BLEPD Repeaterのログ出力を確認します。
上の黒いタブ列にIoTデータタブが表示されていない場合は、サービスタブにあるIoTデータのリンクをクリックして下さい。

log

2-2-2. PD Handler BLE のログ

PD Handler BLEのログ出力を確認します。 ログ選択プルダウンメニューにてpd-handler-ble-c-garr.logを選択します。

check_log1

正常に動作している場合、デバイスからデータを受け次の様なメッセージがログに出力されます。

Oct 20 11:26:07 obsiot pd-handler-ble-c-gatt[1645736]: [INFO] {"datatype":"01","pressure":1023.503,"sequence":162,"eco2":603,"temperature":26.83,"etvoc":30,"light":6,"time":"2022-10-20T11:26:06.141+09:00","humidity":43.49,"memo":"2JCIE-BL01","deviceId":"c15a862f7994","rssi":-96,"noise":50.91}

2-2-1. PD Repeater のログ

PD Repeaterのログ出力を確認します。
ログ選択プルダウンメニューにてpd-repeater.logを選択します。

check_log2

正常に動作している場合、次の様にMQTTブローカーへ送信したデータ数をログに出力します。

Nov 8 11:26:06 obsiot pd_repeater[1645732]: send to mqtt(0), 0 data
Nov 8 11:27:07 obsiot pd_repeater[1645732]: send to mqtt(0), 1 data

MQTTブローカーへの接続に失敗している場合は、次の様なメッセージがログに出力されます。

Oct 20 01:13:06 obsiot pd_repeater[1645642]: mqtt_main(): failed to connect to tcp://192.168.1.64:8883 for ff7e1601-2c75-4b06-bcc9-24c28a766e8f: -1

接続に失敗する原因としては、送受信設定に誤りがある場合の他に ネットワークの設定に問題がる場合もあります。

なお、ログ出力メッセージについての詳細は多義に渡るため公開されておりません。
ご不明な点がございましたらサポートに必要となるログ情報を取得 の上サポート窓口にお問い合わせ下さい。

3. 受信側の動作確認

3-1. プロセスの確認

ダッシュボードタブのプロセス状況 (IoTデータ) ペインにてPD RepeaterNode-REDのプロセスを確認します。

dashboard

  1. PD Repeater稼働中であることを確認します。
  2. Node-RED稼働中であることを確認します。

PD Repeaterが停止中である場合は、送受信設定に誤りが無いか確認します。
Node-REDが**停止中である場合は、Node-REDの設定に誤りが無いか確認します。

起動しないよくある原因として次の事項が挙げられます。

  • PD Repeater
    • 送信先ホストの設定が誤っている。
  • Node-RED
    • ipc-in ノードの設定が誤っている。

3-2. ログの確認

3-2-1. PD Repeater のログ

*IoTデータ⇒ログタブにて、PD Repeaterのログ出力を確認します。
上の黒いタブ列に
IoTデータタブが表示されていない場合は、サービスタブにあるIoTデータ**のリンクをクリックして下さい。

log

PD Repeaterのログ出力を確認します。
ログ選択プルダウンメニューにてpd-repeater.logを選択します。

check_log3

正常に動作している場合、次の様なメッセージがログに出力されます。

Nov 8 09:44:12 obsiot pd_repeater[1385243]: send to mqtt(0), 0 data
Nov 8 09:44:43 obsiot pd_repeater[1385243]: mqtt_msgarrvd(): client_id=client_id:738dbb28-6427-41ec-a344-c854e9b69d44 topicName=/tx/device1 topicLen=0 payloadlen=229
Nov 8 09:45:12 obsiot pd_repeater[1385243]: send to mqtt(0), 0 data

ここで、mqtt_msgarrvd():から始まるメッセージはMQTTブローカーからメッセージを受け取った事を示すものです。
また、MQTTブローカーへ送るメッセージが無いためsend to mqtt(0)は常に0 dataとなります。

MQTTブローカーへの接続に失敗している場合は、次の様なメッセージがログに出力されます。

Nov 8 01:13:06 obsiot pd_repeater[1645642]: mqtt_main(): failed to connect to tcp://192.168.1.64:1883 for ff7e1601-2c75-4b06-bcc9-24c28a766e8f: -1

接続に失敗する原因としては、送受信設定に誤りがある場合の他に ネットワークの設定に問題がる場合もあります。

なお、ログ出力メッセージについての詳細は多義に渡るため公開されておりません。
ご不明な点がございましたらサポートに必要となるログ情報を取得 の上サポート窓口にお問い合わせ下さい。

3-2-2. Node-RED のログ

Node-REDのログファイル /var/webui/node-red-logs/nodered.log を確認します。

root@obsiot:~# cat /var/webui/node-red-logs/nodered.log
Nov 8 09:30:31 obsiot node-red[1383981]: 8 Nov 09:30:31 - [info]
Nov 8 09:30:31 obsiot node-red[1383981]: Welcome to Node-RED
Nov 8 09:30:31 obsiot node-red[1383981]: ===================
Nov 8 09:30:31 obsiot node-red[1383981]: 8 Nov 09:30:31 - [info] Node-RED version: v3.0.2
Nov 8 09:30:31 obsiot node-red[1383981]: 8 Nov 09:30:31 - [info] Node.js version: v18.11.0
Nov 8 09:30:31 obsiot node-red[1383981]: 8 Nov 09:30:31 - [info] Linux 5.4.47 arm64 LE
Nov 8 09:30:33 obsiot node-red[1383981]: 8 Nov 09:30:33 - [info] Loading palette nodes
Nov 8 09:30:37 obsiot node-red[1383981]: 8 Nov 09:30:37 - [info] Dashboard up and running
Nov 8 09:30:38 obsiot node-red[1383981]: 8 Nov 09:30:38 - [info] Worldmap version 2.29.0
Nov 8 09:30:38 obsiot node-red[1383981]: 8 Nov 09:30:38 - [info] Dashboard version 3.2.0 started at /ui
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [info] Settings file : /var/webui/config/setting.js
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [info] Context store : 'default' [module=memory]
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [info] User directory : /var/webui/app/nodered/workdir
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [warn] Flows file name not set. Generating name using hostname.
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [info] Flows file : /var/webui/app/nodered/workdir/flows_obsiot.example.org.json
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [warn]
Nov 8 09:30:39 obsiot node-red[1383981]: ---------------------------------------------------------------------
Nov 8 09:30:39 obsiot node-red[1383981]: Your flow credentials file is encrypted using a system-generated key.
Nov 8 09:30:39 obsiot node-red[1383981]: If the system-generated key is lost for any reason, your credentials
Nov 8 09:30:39 obsiot node-red[1383981]: file will not be recoverable, you will have to delete it and re-enter
Nov 8 09:30:39 obsiot node-red[1383981]: your credentials.
Nov 8 09:30:39 obsiot node-red[1383981]: You should set your own key using the 'credentialSecret' option in
Nov 8 09:30:39 obsiot node-red[1383981]: your settings file. Node-RED will then re-encrypt your credentials
Nov 8 09:30:39 obsiot node-red[1383981]: file using your chosen key the next time you deploy a change.
Nov 8 09:30:39 obsiot node-red[1383981]: ---------------------------------------------------------------------
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [warn] Encrypted credentials not found
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [info] Server now running at http://127.0.0.1:1880/
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [info] Starting flows
Nov 8 09:30:39 obsiot node-red[1383981]: 8 Nov 09:30:39 - [info] Started flows

正常に動作している場合、以上の様なメッセージがログに出力されます。