FW v3 TWEEKS
This commit is contained in:
parent
3e71be821c
commit
9e6968bf6c
@ -8,6 +8,7 @@ const char* ssid = "";
|
||||
const char* pasw = "";
|
||||
const char* hwId = "";
|
||||
const char* url = "http://dev.steelants.cz/vasek/home/api.php";
|
||||
int unsuccessfulRounds = 0;
|
||||
|
||||
//Pins
|
||||
#define pinDHT 4
|
||||
@ -17,84 +18,98 @@ const char* url = "http://dev.steelants.cz/vasek/home/api.php";
|
||||
DHT DHTs(pinDHT, DHT11);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
while (!Serial) continue;
|
||||
pinMode(LIGHTPIN, INPUT);
|
||||
Serial.begin(9600);
|
||||
while (!Serial) continue;
|
||||
pinMode(LIGHTPIN, INPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
WiFi.begin(ssid, pasw);
|
||||
checkConnection();
|
||||
|
||||
//HTTP CLIENT
|
||||
HTTPClient http;
|
||||
http.begin(url);
|
||||
http.addHeader("Content-Type", "text/plain"); //Specify content-type header
|
||||
|
||||
DHTs.begin();
|
||||
|
||||
//JsonDocsDefinition
|
||||
StaticJsonDocument<265> doc;
|
||||
doc["token"] = hwId;
|
||||
|
||||
float tem = DHTs.readTemperature();
|
||||
float hum = DHTs.readHumidity();
|
||||
Serial.println("TEMP" + String(tem) + ";HUMI" + String(hum));
|
||||
if (isnan(tem) || isnan(hum)) {
|
||||
Serial.println("Unable to read DHT");
|
||||
} else {
|
||||
doc["values"]["temp"]["value"] = tem;
|
||||
doc["values"]["temp"]["unit"] = "C";
|
||||
doc["values"]["humi"]["value"] = hum;
|
||||
doc["values"]["humi"]["unit"] = "%";
|
||||
}
|
||||
|
||||
doc["values"]["light"]["value"] = analogRead(LIGHTPIN);
|
||||
doc["values"]["light"]["unit"] = "";
|
||||
|
||||
/*More Senzores to come*/
|
||||
String jsonPayload = "";
|
||||
serializeJson(doc, jsonPayload);
|
||||
Serial.print("JSON: ");
|
||||
Serial.println(jsonPayload);
|
||||
|
||||
int httpCode = http.POST(jsonPayload);
|
||||
String httpPayload = http.getString(); //Get the response payload
|
||||
Serial.println("HTTP CODE: " + String(httpCode) + ""); //Print HTTP return code
|
||||
Serial.println("HTTP BODY: " + String(httpPayload) + ""); //Print request response payload
|
||||
|
||||
DeserializationError error = deserializeJson(doc, httpPayload);
|
||||
|
||||
//configuration setup
|
||||
String hostName = doc["device"]["hostname"];
|
||||
int sleepTime = doc["device"]["sleepTime"];
|
||||
WiFi.hostname(hostName);
|
||||
|
||||
http.end(); //Close connection
|
||||
Serial.println("DISCONECTED FROM WIFI");
|
||||
WiFi.disconnect();
|
||||
|
||||
Serial.println("GOING TO SLEEP FOR " + String(sleepTime));
|
||||
if (sleepTime > 0) {
|
||||
ESP.deepSleep((sleepTime * 60) * 1000000, RF_DEFAULT);
|
||||
} else {
|
||||
delay(5000);
|
||||
}
|
||||
WiFi.begin(ssid, pasw);
|
||||
checkConnection();
|
||||
|
||||
//HTTP CLIENT
|
||||
HTTPClient http;
|
||||
http.begin(url);
|
||||
http.addHeader("Content-Type", "text/plain"); //Specify content-type header
|
||||
|
||||
DHTs.begin();
|
||||
|
||||
//JsonDocsDefinition
|
||||
StaticJsonDocument<265> doc;
|
||||
doc["token"] = hwId;
|
||||
|
||||
float tem = DHTs.readTemperature();
|
||||
float hum = DHTs.readHumidity();
|
||||
Serial.println("TEMP" + String(tem) + ";HUMI" + String(hum));
|
||||
if (isnan(tem) || isnan(hum)) {
|
||||
Serial.println("Unable to read DHT");
|
||||
} else {
|
||||
doc["values"]["temp"]["value"] = tem;
|
||||
doc["values"]["temp"]["unit"] = "C";
|
||||
doc["values"]["humi"]["value"] = hum;
|
||||
doc["values"]["humi"]["unit"] = "%";
|
||||
}
|
||||
|
||||
doc["values"]["light"]["value"] = analogRead(LIGHTPIN);
|
||||
doc["values"]["light"]["unit"] = "";
|
||||
|
||||
/*More Senzores to come*/
|
||||
String jsonPayload = "";
|
||||
serializeJson(doc, jsonPayload);
|
||||
Serial.print("JSON: ");
|
||||
Serial.println(jsonPayload);
|
||||
|
||||
int httpCode = http.POST(jsonPayload);
|
||||
String httpPayload = http.getString(); //Get the response payload
|
||||
Serial.println("HTTP CODE: " + String(httpCode) + ""); //Print HTTP return code
|
||||
Serial.println("HTTP BODY: " + String(httpPayload) + ""); //Print request response payload
|
||||
|
||||
DeserializationError error = deserializeJson(doc, httpPayload);
|
||||
|
||||
//configuration setup
|
||||
String hostName = doc["device"]["hostname"];
|
||||
int sleepTime = doc["device"]["sleepTime"];
|
||||
String state = doc["state"];
|
||||
|
||||
if (state != "succes") {
|
||||
unsuccessfulRounds++;
|
||||
Serial.println("UNSUCCESSFUL ROUND NUMBER " + unsuccessfulRounds + "FROM 5");
|
||||
} else if (state == "succes") {
|
||||
unsuccessfulRounds = 0;
|
||||
}
|
||||
|
||||
WiFi.hostname(hostName);
|
||||
|
||||
http.end(); //Close connection
|
||||
Serial.println("DISCONECTED FROM WIFI");
|
||||
WiFi.disconnect();
|
||||
|
||||
if(unsuccessfulRounds == 5) {
|
||||
Serial.println("RESTARTING ESP");
|
||||
ESP.restart()
|
||||
}
|
||||
|
||||
Serial.println("GOING TO SLEEP FOR " + String(sleepTime));
|
||||
if (sleepTime > 0) {
|
||||
ESP.deepSleep((sleepTime * 60) * 1000000, RF_DEFAULT);
|
||||
} else {
|
||||
delay(5000);
|
||||
}
|
||||
}
|
||||
|
||||
bool checkConnection() {
|
||||
int count = 0;
|
||||
Serial.print("Waiting for Wi-Fi connection");
|
||||
while ( count < 30 ) {
|
||||
if (WiFi.status() == WL_CONNECTED) {
|
||||
Serial.println();
|
||||
Serial.println("Connected!");
|
||||
return (true);
|
||||
int count = 0;
|
||||
Serial.print("Waiting for Wi-Fi connection");
|
||||
while ( count < 30 ) {
|
||||
if (WiFi.status() == WL_CONNECTED) {
|
||||
Serial.println();
|
||||
Serial.println("Connected!");
|
||||
return (true);
|
||||
}
|
||||
delay(500);
|
||||
Serial.print(".");
|
||||
count++;
|
||||
}
|
||||
delay(500);
|
||||
Serial.print(".");
|
||||
count++;
|
||||
}
|
||||
Serial.println("Timed out.");
|
||||
return false;
|
||||
Serial.println("Timed out.");
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user