BME280温度データをESP8266でAWS IoT に送信
今度は本物の温度データをAWS IoTにアップしました
。
構成は、ESP8266(RTOS) + AWS-IoT-SDK + BME280 です。
温度の測定間隔を 5分 にしました。
AWS DynamoDB に格納された温度データを
Exportして、データ部分がJSON形式なので、
C#(JSON.NET) を使って、csvファイルに変換し、
エクセルでグラフ化しました
。
赤丸が温度データ、青丸が測定データの間隔を示しています。
約3日分のデータです。測定データの間隔は、
300秒から302秒の間にすべてあり、途中でのデータ損がないことが分かります。
ちなみに、300、301、302と秒単位なのは、グラフ用のcsvファイルへ変換する時に
時間を秒単位にしてしまったためです
。
温度データがところどころ連続ではなく、飛んでいる点がいくつか見られます。
データを見てみると・・・数か所見てみると、なんとなく不具合が見えてきます。
本当は、小数点第一位が"0"なのでは?と・・・
実際のソースコードを確認すると、やっぱり間違ってました
。
これは、測定データをJSON形式に変換している部分で、
修正前:修正後:浮動小数点使っていれば問題ないですが、浮動小数点を使わない主義のため、
文字列変換時に間違ってました。
シリアルへの表示はチャント出来ていたのですけどね
。
修正後の測定データです。
さっきまでの1日分ですが、飛んでいるデータは無くなりました
。
今日は遅くまで寝ていたので、10時頃まで温度上昇。
起きて、窓を開けたため、お昼ころまで温度低下、
その後は外気温上昇のため(?)、温度上昇中ってな感じです
。
次は、これをブラウザから見れるようにしたいですね
。
参考までに、ソースコードを置きました。 ⇒ ここ。
*既知の問題*
① たま~に、TLS接続中にリセットがかかります
。
② 新しい、ESP8266_SDK_1.4.0ではうまく動作しません
。
数十分後にリセットがかかります。
。構成は、ESP8266(RTOS) + AWS-IoT-SDK + BME280 です。
温度の測定間隔を 5分 にしました。
AWS DynamoDB に格納された温度データを
Exportして、データ部分がJSON形式なので、
C#(JSON.NET) を使って、csvファイルに変換し、
エクセルでグラフ化しました
。赤丸が温度データ、青丸が測定データの間隔を示しています。
約3日分のデータです。測定データの間隔は、
300秒から302秒の間にすべてあり、途中でのデータ損がないことが分かります。
ちなみに、300、301、302と秒単位なのは、グラフ用のcsvファイルへ変換する時に
時間を秒単位にしてしまったためです
。温度データがところどころ連続ではなく、飛んでいる点がいくつか見られます。
データを見てみると・・・数か所見てみると、なんとなく不具合が見えてきます。
本当は、小数点第一位が"0"なのでは?と・・・

実際のソースコードを確認すると、やっぱり間違ってました
。これは、測定データをJSON形式に変換している部分で、
修正前:
1: pubParams.MessageParams.PayloadLen = irom_snprintf(
2: payload, sizeof(payload),
3: "{\"sensor\":{\"Temp\":%d.%u,\"Humi\":%u.%u,\"Pres\":%u.%u}}",
4: temp_int, temp_frac, humi_int, humi_frac, pres_int, pres_frac);
1: pubParams.MessageParams.PayloadLen = irom_snprintf(
2: payload, sizeof(payload),
3: "{\"sensor\":{\"Temp\":%d.%02u,\"Humi\":%u.%02u,\"Pres\":%u.%03u}}",
4: temp_int, temp_frac, humi_int, humi_frac, pres_int, pres_frac);
文字列変換時に間違ってました。
シリアルへの表示はチャント出来ていたのですけどね
。修正後の測定データです。
さっきまでの1日分ですが、飛んでいるデータは無くなりました
。今日は遅くまで寝ていたので、10時頃まで温度上昇。
起きて、窓を開けたため、お昼ころまで温度低下、
その後は外気温上昇のため(?)、温度上昇中ってな感じです
。次は、これをブラウザから見れるようにしたいですね
。参考までに、ソースコードを置きました。 ⇒ ここ。
*既知の問題*
① たま~に、TLS接続中にリセットがかかります
。② 新しい、ESP8266_SDK_1.4.0ではうまく動作しません
。数十分後にリセットがかかります。



この記事へのコメント