Node-REDのTempleteノードにBase64エンコードデータのpayloadを挿入するとデータが壊れる


ローコード開発ツールのNode-RED。IoTデバイス側もクラウド側の処理も構築することができるので時々使っています。

今回はじめて、Templateノード内にてBase64エンコードされたデータが入っているpayloadを使ったところ、データが壊れてしまいました。

調べたところ、下記ページにあるように{{{payload}}}と3つの波括弧で囲めば良いようです。

デフォルトではMustache記法は特定の文字をHTMLエスケープ文字コードに置換します。 これを防ぐためには、3つの波括弧を利用することができます。: {{{payload}}}.

https://nodered.jp/docs/user-guide/nodes#template

数時間悩んでしまいました。

今回のデバイスは、Wi-Fi HaLowの実験用のデバイスを構築しています。植物工場の気温・湿度・土壌水分量をセンサーで取得し、植物の状態をカメラで撮影した画像をWi-Fi HaLow経由でクラウドサーバーへデータを保存します。

写真画像がなければSigfoxやLoRaでもよいのですが、画像があるため今回はWi-Fi HaLowを使っています。