2

ArduinoでMQTTを使用して、センサー データを Javascript ページに送信しています。

これまで、int または float という単純なデータ形式のみを送信してきました。

より複雑な構造化データを送信するには、どの形式を使用できますか? 例えば:

{ "temperature": 32, "humidity": 67 }

単一の MQTT メッセージで送信したいと思います。

Json を使用することもできますが、Arduino には少し重いのではないかと思います。


アップデート

わかりました、JSON に関する一般的なコンセンサスのようですが、メモリ要件については少し心配です。

Arduino で json エンコーディング/デコーディング用の 2 つのライブラリを見つけました。

ArduinoJsonはメモリ消費量が少ないと主張していますが、サポートしていません:

4

2 に答える 2

0

トピック自体を使用してデータを構造化します。

/home/sensors/count 2
/home/sensors/sensor1/name Kitchen
/home/sensors/sensor1/temperature 21
/home/sensors/sensor1/humidity 47
/home/sensors/sensor2/name Upstairs
/home/sensors/sensor2/temperature 23
/home/sensors/sensor2/humidity 48

リソースに制約のある Arduino では、多くの単純なメッセージを公開する方が簡単です。別の方法は、あなたが考えているように、大きな JSON 文字列を作成することです。

/home/sensors = {{"name":"Kitchen", "temperature": 21, "humidity": 47 },
                 {"name":"Upstairs", "temperature": 23, "humidity": 48 }}

また、トピックスはパブリッシャーとクライアントの両方にとってより便利な設計 (API) だと思います。Arduino 側の場合、トピック アプローチがすべての場所に温度センサーと湿度センサーの両方を強制するわけではないことを考慮してください。クライアント側では、トピック アプローチにより、湿度のみを示すユース ケースが可能になります。

于 2014-08-24T01:05:36.080 に答える