4. Node-RED連携

4.1. 注意事項

4.1.1. Node-REDエディタをオンにしているとメモリリーク傾向

Node-REDエディタをオンにしているとメモリリーク傾向があります。本番環境で動作させる際にはNode-REDエディタをオフにすることを推奨します。ICE Core出荷時の設定ではNode-REDエディタはオフとなっています。

Node-REDエディタをオンにした状態では、1時間あたり40KB程度の増加傾向が見られます。開発環境で長時間稼働させる場合にはご注意ください。

4.1.2. Node-REDフロー内でのログ出力

functionノードやアプリケーションの中でログ出力を行う場合は次のようにnode.log()などを利用してください。

node.log(JSON.stringify(msg));

次のようにconsole.log()によりログ出力を行うと、ICE Coreの標準出力に出力され、既定値では /var/log/ice/ice-edge-core.log に出力され、 このログファイルはローテーションされない設定になっているためログを出力し続けるとディスク容量を圧迫する原因となります。

console.log(msg);

4.1.3. ice app functionで指定するエッジアプリケーション

複数のice app functionから一つのエッジアプリケーションに対して通信を行うことはできません。同じデータ加工処理を行う場合でも、ice app functionそれぞれに名称の異なるエッジアプリケーションを作成して割り当ててください。

4.1.4. ice onvif ノードでカメラに負荷をかけると不正な応答が返却される

動作検証済み機器であるSONY SNC-XM632は高負荷時にHTTPとして不正な応答を返す不具合を確認しています。

この不具合が発生した場合、node-red.logに以下のようなログが出力されます。

[2018-03-01T12:34:56.789] [ERROR] NODE-RED - [ice-onvif-pipe:XXXXXXXX.YYYYYY] Error: Parse Error [node:XXXXXXXX.YYYYYY]

また、Node-REDフローエディタのデバッグペインに以下のようなエラーが出力されます。

Error: Parse Error [node:XXXXXXXX.YYYYYY]

このエラーが発生する場合にはカメラに対するメッセージ送信頻度を下げるようにしてください。

4.1.5. ice onvif discovery が発見と消失を繰り返す

ice onvif discoveryノードによるカメラのdiscoveryは、IPカメラが応答できる頻度よりも高い頻度で実行すると、 カメラの発見と消失をくり返します。

このような現象が確認された場合にはDiscovery Timeoutの値を大きくするかIntervalの値を大きくしてください。

4.2. 制限事項

なし