Node-REDパレットに追加
「URD電流センサー」ノードは産業IoTのプロジェクト連携により、
Node-RED上で利用できる他のノードとあわせて、
「@ia-cloud/node-red-contrib-ia-cloud-fds」に含まれます。
右上のメニューから「パレットの管理」を選択します。
ノードを追加のタブから、入力欄に「@ia-cloud」を入れて検索します。
この時インターネットに接続されている必要があります。
候補に「@ia-cloud/node-red-contrib-ia-cloud-fds」のパレットと、
「@ia-cloud/node-red-contrib-ia-cloud-dashboard」 のパレットが表示されますので、
この2つを「追加」ボタンで追加します。
現在のノードで追加されたパレットを確認します。
フロー編集で使用するノードの配置
画面左のパレットエリアをスクロールして、「iaCloud devices」の中から
「URD電流センサー」を探し、表示させます。
ノードをドラッグして、フロー編集エリアに配置します。
同じように「共通」パレットの「Debug」ノードも配置します。
見やすいように「URD電流センサー」と「debug」ノードを並べます。
「URD電流センサー」ノード右側の小さい□をドラッグするとノード接続線が現れます。
接続線をドラッグしたまま「Debug」ノードの左側の小さい□に重ね、
2つのノードを線でつなぎます。
※「URD電流センサー」の確認に、共通ノードの「debug」を使います。
ワイヤレス電流センサのノード設定
ここでは次の内容で、ワイヤレス電流センサの使用・設置を想定した
「URD電流センサー」ノード設定を行う紹介をしています。
・工場Aの1Fに照明が3系統あり、系統ごとの電流をモニタするため、無線部CWD-3-1を1個と、
CTT-10-WLS50を3個とを1セットで用意して3ch分を接続したワイヤレス電流センサを使用。
・「Module ID:」にEnOcean IDである8桁の英数字「04013CF7」
が記載されている無線部 CWD-3-1を使用。
フローに配置した「URD電流センサー」ノードをダブルクリックして、
「プロパティ」画面を開きます。
センサー種別をクリックし、ドロップダウンリストの中から、使用する無線部「CWD-3-1(3ch)」を選択します。
名前、オブジェクトキー、オブジェクトの説明を入力します。
名前の入力は、フロー上でのノード表示に反映されます。
空白の場合デフォルトのノード名で表示されます。説明も空白で構いません。
オブジェクトキーについては、出力先でセンサを特定するために使用される固有の情報となり、
他と重複しない文字列での設定が必須の項目です。
ここでは無線部のモジュールID (EnOcean ID)を設定していますが、
重複しない設定であればよく、任意の名称で構いません。
引き続き「センサー詳細設定」右の鉛筆アイコンをクリックします。
センサIDにModule ID (EnOcean ID)を入力します。
このID情報は、EnOcean無線通信で利用されます。
必ず、無線部CWD-3-1のModule ID:(8桁の英数字、EnOcean ID)を入力してください。
センサのEnOcean ID とこのノードでのセンサIDが一致しない場合、
本ノードではデータが受信されません。
データ項目1~3に各Chの電流センサ(CT部)を設定します。
電流センサ(CT部)の変更や、使用しない(非接続)設定も
プルダウンリストから選択することができます。
右上の「追加」で設定を保存し、ノードのプロパティに戻ります。
引き続き、「通信オブジェクト」でUSB400Jの設定を行います。
「通信オブジェクト」の鉛筆アイコンをクリックします
シリアルポート」の鉛筆アイコンをクリックします。
シリアルポートには、接続されたデバイスの中からUSB400Jを選択します。
虫眼鏡を押すと、現在接続されているデバイスを検索できます。
Raspberry Piでは通常、末尾に数字のついた /dev/ttyUSB* に割り当てられます。
例えば、USB400Jの他に特別なUSBデバイスがなければ、
見つかるのは1つのポートだけになります。
右上の「追加」で設定を保存し、1つ前のプロパティに戻ります。
設定が反映されると、リストに登録されます。
※通信ノードの名称は空白を含め自由ですが、
システム全体で複数のEnOcean受信ノードを利用する場合などは、
USB受信機ごとに名称を付けたほうがよいケースもあります。
「URD電流センサー」ノードの必要な設定が済みましたら、
編集プロパティの右上の「完了」をクリックします。
※これまでの設定で必須項目に不足・未設定内容があると、
後で行うデプロイ (フローの反映・実行)時に警告が出ます。
このメッセージが出る場合には、ノードを正常に動作させることができません。
デバックノードの設定
URD電流センサー」ノードへの設定が正しく行われたことをチェックするための、
デバッグノードの設定です。
フロー編集で配置した「デバッグ」ノード (表示”msg.payload”)をダブルクリックして
プロパティを開きます。
対象の▼msg をクリックして、「オブジェクト全体」を選択します。
デバッグウインドウの☑は付けたままで「完了」をクリックします。
編集結果を反映するため「デプロイ」をクリックします。
動作を確認する~デバッグの開始
デバッグノードの情報表示をするため、サイドバーの虫のアイコンをクリックして、
デバッグ表示に切り替えます。
サイドバーのタブが「デバッグ」にかわります。
ワイヤレス電流センサの無線部Ch1~Ch3にCT部 (CTT-10-CLS-WLS50)を接続し、
各電線に取り付けて計測を開始します。
電流データを正常受信すると、ステータスが「データ受信済」になり、
その出力メッセージはデバッグで確認できます。
出力メッセージ展開・確認
▼をクリックすることで中身を展開できます。
※ia-cloudフォーマットのデータが格納されています
request:”store”
(規定のメッセージ)
objectKey:
設定したオブジェクトキー、
(今回の例:04013CF7)
timeStamp:
EnOceanデータの受信時刻、(Raspberry Piの時刻)
objectDescription:
ノードで設定した説明
objectContent:
各Chの電流が格納されている
contentType:
(ia-cloud形式のデータ)
contentData:(※)
dataName:チャンネルの名称
dataValue:電流値 (測定値)
unit:単位 (A)
※電流センサの項目1~項目3のうち、測定対象に設定したチャンネルのデータが
この contentDataに格納されて出力されます。
デバッグで表示されない場合のチェックポイント
ここまでの内容で、デバッグにメッセージが出力・表示されない場合の
チェックポイントは、 主に以下のケースがあげられます。
ハードウェア周辺で考えられるチェックポイント
・Raspberry Piの電源容量が足りない
本体、周辺機器を含めた容量の電源(ACアダプタ)が必要です。
電源不足を示す稲妻マーク (警告)が表示されていないこと。
・EnOcean受信器USB400Jが接続されていない
デプロイ済みで再起動した時にNode-REDコンソール画面のログ表示で
通信ポートの内容に警告・エラーがないこと。
・ワイヤレス電流センサからのデータを受信していない
距離が遠い、遮蔽物で電波が届いていない、測定対象に電流が流れていないなど、
計測・通信自体が行われていない場合です。
Raspberry Piのソフトウェア環境のチェックポイント
・必要なソフトウェアがたりない
Raspberry Pi OS (Raspbian Jessie以降)のrecommendedで
導入される環境になっていないことが考えられます。
Node-REDに合わせて導入されているNode.jsが必須です。
ブラウザは推奨のChrome以外でも動作しますが保証されません。
・通信の制限設定、機能の無効化が行われている
Raspberry Pi本体機能の有効・無効化の設定変更を行ったり、
config(設定)ファイルの書き換えを行った場合。
ノードのステータス表示のチェックポイント
青い〇:デプロイ未実施(設定未反映)、動作していません
赤い△:ノード設定が未完了、または不足しています。
警告例1: 未使用設定されたChに、センサが接続されている(出力されません)
警告例2:設定済みのCh2に、センサが接続されていない(9999.99Aとして出力)
設定通りに接続、受信の動作が行われています。