Node-REDのトラブルシューティング
2017-11-07
CTセンサーで測定したデータをグラフ表示させるプログラムを
Node-Redでつくってみましたが、動きませんでした。
原因はどこにあるのか、1つずつ確認していきたいと思います。
手順1.lazurite Rxの受信確認
まずは、CTセンサーで測定したデータを正しく受信出来ているかを確認します。
1.画面左側のdebugノードを配置し、lazaurite Rxと繋ぎデプロイをクリックします。
2.画面右側のデバックタブに値が出力されているか確認して下さい。
- 出力 ○ 受信できています → 手順2.へ進んで下さい。
- 出力 ☓ 受信できていません → 【受信できていない時】を確認して再度試して下さい。
【受信できていない時】
送信側プログラムの無線設定と、受信側Node-redのlazurite Rxノードの設定を確認して再度、試して下さい。
手順2.node-configの設定確認
lazurite Rxの受信が正しく出来ていたら、次にnode-configの設定を確認します。
node-configは特定の無線信号とセンサーを紐付けしてくれるノードです。
1.画面左側のdebugノードを配置しdashboardと繋ぎます。
2.debugノード(msg)を開いて、対象を『msgオブジェクト全体』を選択して完了、デプロイします。
3-1.画面右側のデバックタブに値が出力されているか確認して下さい。
- 出力 ○ 設定OKです → それでも動かない時は、補足を確認して下さい。
- 出力 ☓ 設定NGです → 【node-configの設定NGの場合】 を確認し、再度試して下さい。
その中の『src adrr』が送信機のアドレスです。
node-config設定画面のアドレスと一致しています。
表示の仕方が、10進数と16進数ですが、10進数の値をnode-config設定画面に入力しても大丈夫です。
【node-configの設定NGの場合】
node-configの設定で入力したアドレスか、選択したセンサーが間違っていると思われます。送信機のアドレスを再度確認して下さい。
debugノードの役割
debugノードの役割はノードの出力側に繋いで、そのノード内で処理されたメッセージを表示させます。
表示対象が①msg(データのみ)、②msgオブジェクト全体(管理用データ含む)の2つから選択できます。
①msgを選択した場合
配置すると【msg.payload】に名前が変わります。
受信したデータをそのまま表示するので何種類かデータを受信していると、送信元の特定が難しいです。
②msgオブジェクト全体を選択した場合
配置すると【msg】に名前が変わります。
管理用のデータ(送信機のアドレスや時間)が表示されるので、送信機を特定したい時などはこちらを選択します。
まとめ
ノードが増えても、1つずつ設定を確認していけばどこかで間違いが見つかります。
繋いで表示するだけで間違いを見つけてくれるのがdebugノードです!
補足:ノードについて
左側が入力、右側が出力です。
三角のマークはエラーがあることを示しています。
ノードを配置しただけで設定せずにデプロイするとエラーになり、以下のメッセージが表示されます。その場合、ノードの設定を開いて、更新・完了ボタンなどをクリックして、設定を完了させて下さい。