Bonjour,
Voilà je veux envoyer des données en json depuis mon capteur DHT22 et mon ESP8266.
J’ai donc ce code :
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>
#include <Constellation.h>
#include "DHT.h"
#define DHTPIN 2 // what digital pin we're connected to
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
StaticJsonBuffer<512> jsonBuffer;
WiFiClient wifiClient;
Constellation constellation(wifiClient, "ip_adress", 8088, "ESP8266", "DHT", "key");
char str_humi[6];
char str_temp[6];
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
WiFi.begin("Freebox", "Freemdp");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("WiFi connected. IP: ");
Serial.println(WiFi.localIP());
constellation.writeInfo("ESP8266 on Constellation !!");
JsonObject& settings = constellation.getSettings();
int interval = String(settings["Interval"].asString()).toInt();
}
void loop() {
// Wait a few seconds between measurements.
delay(10000);
float h = dht.readHumidity();
float t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
dtostrf(t, 4, 2, str_temp);
dtostrf(h, 4, 2, str_humi);
JsonObject& stateObjectTemp = jsonBuffer.createObject();
stateObjectTemp["Temperature"] = str_temp;
stateObjectTemp["Humidity"] = str_humi;
Serial.print("Humidity: ");
Serial.print(str_humi);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(str_temp);
Serial.print(" *C ");
constellation.writeInfo(str_temp);
constellation.pushStateObject("Salon", &stateObjectTemp, "TempSensor");
}
Au début tous fonctionne parfaitement, dans les logs arduino ou constellation la température apparait bien.
Dans les states objects j’ai bien : {“Temperature”:“22.80”,“Humidity”:“41.60”}
Par contre au bout d’un certain moment, dans les states objects j’ai plus de valeur : {}
Pourtant dans les logs j’ai toujours la température. J’ai essayé de modifier mon code mais tant que je reste en json, ça bug au bout d’un temps.
Quelqu’un à une idée ?
Merci