From 7337e3c7d986f418e17a287fbf9be45e2eb3e62a Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 17:05:49 +0100 Subject: [PATCH 01/11] Static ip generator :) --- api.php | 2 ++ app/class/DeviceManager.php | 2 ++ app/class/NetworkManager.php | 18 ++++++++++++++++++ app/class/RoomManager.php | 5 +++++ app/views/Home.php | 1 + 5 files changed, 28 insertions(+) create mode 100644 app/class/NetworkManager.php diff --git a/api.php b/api.php index a65a8fd..41b0db6 100644 --- a/api.php +++ b/api.php @@ -189,6 +189,7 @@ if ($values != null || $values != "") { $jsonAnswer = [ 'device' => [ 'hostname' => $hostname, + 'ipAddress' => $device['ip_address'], ], 'state' => 'succes', ]; @@ -223,6 +224,7 @@ if ($values != null || $values != "") { 'device' => [ 'hostname' => $device['name'], 'sleepTime' => $device['sleep_time'], + 'ipAddress' => $device['ip_address'], ], 'state' => 'succes', 'value' => $subDeviceLastReordValue diff --git a/app/class/DeviceManager.php b/app/class/DeviceManager.php index 21f8e8e..6ae72ae 100644 --- a/app/class/DeviceManager.php +++ b/app/class/DeviceManager.php @@ -23,9 +23,11 @@ class DeviceManager{ } public function create ($name, $token) { + $defaultRoom = RoomManager::getDefaultRoomId(); $device = array ( 'name' => $name, 'token' => $token, + 'room_id' => $defaultRoom, ); try { Db::add ('devices', $device); diff --git a/app/class/NetworkManager.php b/app/class/NetworkManager.php new file mode 100644 index 0000000..247e0df --- /dev/null +++ b/app/class/NetworkManager.php @@ -0,0 +1,18 @@ + $deviceData['room_id'], 'token' => $deviceData['token'], 'type' => $deviceData['type'], + 'ip' => $deviceData['ip_address'], 'sleepTime' => $deviceData['sleep_time'], 'approved' => $deviceData['approved'], 'permission' => $permissionArray, From 79864c23fd8a6fc4abf37f1f7f9734c4ab584e28 Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 17:19:22 +0100 Subject: [PATCH 02/11] Firmware impruevement --- .../ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino | 4 + .../{Sonoff_S20.ino => Sonoff_S20_v1.ino} | 0 .../firmwares/Sonoff_S20/Sonoff_S20_v2.ino | 126 ++++++++++++++++++ 3 files changed, 130 insertions(+) rename _FIRMWARE/firmwares/Sonoff_S20/{Sonoff_S20.ino => Sonoff_S20_v1.ino} (100%) create mode 100644 _FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino index 5035cbe..fad1c36 100644 --- a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino +++ b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino @@ -20,6 +20,10 @@ DHT DHTs(pinDHT, DHT11); void setup() { Serial.begin(9600); while (!Serial) continue; + delay(10); + Serial.println('\n'); + Serial.println("HW: " + String(hwId)); + pinMode(LIGHTPIN, INPUT); } diff --git a/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20.ino b/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v1.ino similarity index 100% rename from _FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20.ino rename to _FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v1.ino diff --git a/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino b/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino new file mode 100644 index 0000000..1277235 --- /dev/null +++ b/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino @@ -0,0 +1,126 @@ +//Includes +#include +#include +#include + +//Variables +const char* ssid = " "; +const char* pasw = ""; +const char* hwId = ""; +const char* server = "http://dev.steelants.cz/vasek/home/api.php"; +int unsuccessfulRounds = 0; //time to wait before restart +int lastState = 0; + +//Constant +#define SONOFF 12 +#define SONOFF_LED 13 +#define SONOFF_BUT 0 + +void setup() { + Serial.begin(9600); + while (!Serial) continue; + delay(10); + Serial.println('\n'); + Serial.println("HW: " + String(hwId)); + + pinMode(SONOFF, OUTPUT); + pinMode(SONOFF_LED, OUTPUT); + pinMode(SONOFF_BUT, INPUT); + + WiFi.persistent(false); + WiFi.mode(WIFI_STA); + + WiFi.begin(ssid, pasw); + checkConnection(); + + Serial.println('\n'); + Serial.println("Connection established!"); + Serial.print("IP address:\t"); + Serial.println(WiFi.localIP()); +} + +void loop() { + StaticJsonDocument<200> jsonContent; + jsonContent["token"] = hwId; + + if (!digitalRead(SONOFF_BUT)){ + jsonContent["values"]["on/off"]["value"] = (int) !lastState; + if (!lastState == 1) { + digitalWrite(SONOFF, HIGH) + } else if (!lastState == 0){ + digitalWrite(SONOFF, LOW) + } + while(!digitalRead(SONOFF_BUT)) { + delay(100); + } + } + + String requestJson = ""; + serializeJson(jsonContent, requestJson); + Serial.println("JSON: " + requestJson); + + //HTTP CLIENT + HTTPClient http; + http.begin(server); + http.addHeader("Content-Type", "text/plain"); //Specify content-type header + + int httpCode = http.POST(requestJson); + String payload = http.getString(); //Get the response payload + http.end(); + + Serial.println("HTTP CODE: " + String(httpCode) + ""); //Print HTTP return code + Serial.println("HTTP BODY: " + String(payload) + ""); //Print request response payload + + deserializeJson(jsonContent, payload); + String hostname = jsonContent["device"]["hostname"]; + int state = jsonContent["value"]; + + + DeserializationError error = deserializeJson(doc, httpPayload); + + //configuration setup + String hostName = doc["device"]["hostname"]; + 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); + + if(unsuccessfulRounds == 5) { + Serial.println("RESTARTING ESP"); + ESP.restart() + } + + if (state != lastState){ + if (state == 1 && lastState == 0) { + Serial.println("ON"); + digitalWrite(SONOFF, HIGH); // Turn the LED on by making the voltage LOW + } else { + Serial.println("OFF"); + digitalWrite(SONOFF, LOW); // Turn the LED on by making the voltage LOW + } + } + lastState = state; +} + +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); + } + delay(500); + Serial.print("."); + count++; + } + Serial.println("Timed out."); + return false; +} From 1e7f16d3b93079a38679d9c9878763859e0b7173 Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 17:27:18 +0100 Subject: [PATCH 03/11] Firmware impruevement #2 --- .../ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino | 10 ++++++++++ _FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino | 12 +++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino index fad1c36..6f51b3c 100644 --- a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino +++ b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino @@ -1,3 +1,4 @@ +//Includes #include #include #include @@ -73,6 +74,7 @@ void loop() { //configuration setup String hostName = doc["device"]["hostname"]; int sleepTime = doc["device"]["sleepTime"]; + String ipAddress = doc["device"]["ipAddress"]; String state = doc["state"]; if (state != "succes") { @@ -82,6 +84,14 @@ void loop() { unsuccessfulRounds = 0; } + //Set static ip + IPAddress addr; + if (addr.fromString(ipAddress)) { + IPAddress ip(addr); + Serial.print("IP address:\t"); + Serial.println(WiFi.localIP()); + } + WiFi.hostname(hostName); http.end(); //Close connection diff --git a/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino b/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino index 1277235..a4602ba 100644 --- a/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino +++ b/_FIRMWARE/firmwares/Sonoff_S20/Sonoff_S20_v2.ino @@ -11,7 +11,7 @@ const char* server = "http://dev.steelants.cz/vasek/home/api.php"; int unsuccessfulRounds = 0; //time to wait before restart int lastState = 0; -//Constant +//Pins #define SONOFF 12 #define SONOFF_LED 13 #define SONOFF_BUT 0 @@ -80,8 +80,10 @@ void loop() { //configuration setup String hostName = doc["device"]["hostname"]; + String ipAddress = doc["device"]["ipAddress"]; String state = doc["state"]; + if (state != "succes") { unsuccessfulRounds++; Serial.println("UNSUCCESSFUL ROUND NUMBER " + unsuccessfulRounds + "FROM 5"); @@ -89,6 +91,14 @@ void loop() { unsuccessfulRounds = 0; } + //Set static ip + IPAddress addr; + if (addr.fromString(ipAddress)) { + IPAddress ip(addr); + Serial.print("IP address:\t"); + Serial.println(WiFi.localIP()); + } + WiFi.hostname(hostName); if(unsuccessfulRounds == 5) { From 878186c2a2108c736f3f30853eee407b96481cd9 Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 17:29:20 +0100 Subject: [PATCH 04/11] FW Clean Up --- .../{ESP_OS_NODE_STABLE => }/ESP_OS_NODE_STABLE.ino | Bin .../{ESP_OS_NODE_V2.ino => }/ESP_OS_NODE_V2.ino.ino | 0 .../ESP_OS_NODE_V3.ino => }/ESP_OS_NODE_V3.ino.ino | 0 .../Sonoff_Basic_v1.ino} | 0 .../{Sonoff_Basic.ino => Sonoff_Basic_v2.ino} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename _FIRMWARE/firmwares/NodeMCU Sensor/{ESP_OS_NODE_STABLE => }/ESP_OS_NODE_STABLE.ino (100%) rename _FIRMWARE/firmwares/NodeMCU Sensor/{ESP_OS_NODE_V2.ino => }/ESP_OS_NODE_V2.ino.ino (100%) rename _FIRMWARE/firmwares/NodeMCU Sensor/{ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino => }/ESP_OS_NODE_V3.ino.ino (100%) rename _FIRMWARE/firmwares/{Sonoff Original/ESP_END_POINT.ino => Sonoff_Basic/Sonoff_Basic_v1.ino} (100%) rename _FIRMWARE/firmwares/Sonoff_Basic/{Sonoff_Basic.ino => Sonoff_Basic_v2.ino} (100%) diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_STABLE/ESP_OS_NODE_STABLE.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_STABLE.ino similarity index 100% rename from _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_STABLE/ESP_OS_NODE_STABLE.ino rename to _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_STABLE.ino diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino/ESP_OS_NODE_V2.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino.ino similarity index 100% rename from _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino/ESP_OS_NODE_V2.ino.ino rename to _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino.ino diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino.ino similarity index 100% rename from _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino rename to _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino.ino diff --git a/_FIRMWARE/firmwares/Sonoff Original/ESP_END_POINT.ino b/_FIRMWARE/firmwares/Sonoff_Basic/Sonoff_Basic_v1.ino similarity index 100% rename from _FIRMWARE/firmwares/Sonoff Original/ESP_END_POINT.ino rename to _FIRMWARE/firmwares/Sonoff_Basic/Sonoff_Basic_v1.ino diff --git a/_FIRMWARE/firmwares/Sonoff_Basic/Sonoff_Basic.ino b/_FIRMWARE/firmwares/Sonoff_Basic/Sonoff_Basic_v2.ino similarity index 100% rename from _FIRMWARE/firmwares/Sonoff_Basic/Sonoff_Basic.ino rename to _FIRMWARE/firmwares/Sonoff_Basic/Sonoff_Basic_v2.ino From 8975eb785bc44b8446505298dd8ac9c887dc04d7 Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 18:18:46 +0100 Subject: [PATCH 05/11] FW tweeks --- .../ESP_OS_NODE_V3.ino.ino | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) rename _FIRMWARE/firmwares/NodeMCU Sensor/{ => ESP_OS_NODE_V3.ino}/ESP_OS_NODE_V3.ino.ino (83%) diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino similarity index 83% rename from _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino.ino rename to _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino index 6f51b3c..02e6968 100644 --- a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino.ino +++ b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino @@ -5,9 +5,9 @@ #include //Variables -const char* ssid = ""; -const char* pasw = ""; -const char* hwId = ""; +const char* ssid = "SteelAntsNET"; +const char* pasw = "tgr786hgtp3CZ"; +const char* hwId = "JOK3R"; const char* url = "http://dev.steelants.cz/vasek/home/api.php"; int unsuccessfulRounds = 0; @@ -31,6 +31,10 @@ void setup() { void loop() { WiFi.begin(ssid, pasw); checkConnection(); + Serial.print("IP address:\t"); + Serial.println(WiFi.localIP()); + Serial.print("MAC address:\t"); + Serial.println(WiFi.macAddress()); //HTTP CLIENT HTTPClient http; @@ -79,15 +83,18 @@ void loop() { if (state != "succes") { unsuccessfulRounds++; - Serial.println("UNSUCCESSFUL ROUND NUMBER " + unsuccessfulRounds + "FROM 5"); + Serial.println("UNSUCCESSFUL ROUND NUMBER " + String(unsuccessfulRounds) + "FROM 5"); } else if (state == "succes") { unsuccessfulRounds = 0; } //Set static ip - IPAddress addr; - if (addr.fromString(ipAddress)) { - IPAddress ip(addr); + IPAddress staticIpAddress; +IPAddress subnetIpAddress(192,168,0,1); +IPAddress gatewayIpAddress(255, 255, 255, 0); + + if (staticIpAddress.fromString(ipAddress)) { + WiFi.config(staticIpAddress, subnetIpAddress, gatewayIpAddress); Serial.print("IP address:\t"); Serial.println(WiFi.localIP()); } @@ -100,7 +107,7 @@ void loop() { if(unsuccessfulRounds == 5) { Serial.println("RESTARTING ESP"); - ESP.restart() + ESP.restart(); } Serial.println("GOING TO SLEEP FOR " + String(sleepTime)); From aef242cecadabb6da0af1e04b38bea539988333e Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 19:10:29 +0100 Subject: [PATCH 06/11] Clean Up --- .../NodeMCU Sensor/{ESP_OS_NODE_V2.ino.ino => ESP_OS_NODE_V2.ino} | 0 .../NodeMCU Sensor/{ESP_OS_NODE_V3.ino.ino => ESP_OS_NODE_V3.ino} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename _FIRMWARE/firmwares/NodeMCU Sensor/{ESP_OS_NODE_V2.ino.ino => ESP_OS_NODE_V2.ino} (100%) rename _FIRMWARE/firmwares/NodeMCU Sensor/{ESP_OS_NODE_V3.ino.ino => ESP_OS_NODE_V3.ino} (100%) diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino similarity index 100% rename from _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino.ino rename to _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V2.ino diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino similarity index 100% rename from _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino.ino rename to _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino From 3b72bf85fd3328b67d9ca00efd6ab261f1bd13fc Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 19:11:43 +0100 Subject: [PATCH 07/11] Merge Local Fixes NTB2 --- ...OS_NODE_V3.ino~HEAD => ESP_OS_NODE_V3.ino} | 0 .../ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino | 136 ------------------ 2 files changed, 136 deletions(-) rename _FIRMWARE/firmwares/NodeMCU Sensor/{ESP_OS_NODE_V3.ino~HEAD => ESP_OS_NODE_V3.ino} (100%) delete mode 100644 _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino~HEAD b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino similarity index 100% rename from _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino~HEAD rename to _FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino deleted file mode 100644 index 02e6968..0000000 --- a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino +++ /dev/null @@ -1,136 +0,0 @@ -//Includes -#include -#include -#include -#include - -//Variables -const char* ssid = "SteelAntsNET"; -const char* pasw = "tgr786hgtp3CZ"; -const char* hwId = "JOK3R"; -const char* url = "http://dev.steelants.cz/vasek/home/api.php"; -int unsuccessfulRounds = 0; - -//Pins -#define pinDHT 4 -#define LIGHTPIN A0 - -//Inicializations -DHT DHTs(pinDHT, DHT11); - -void setup() { - Serial.begin(9600); - while (!Serial) continue; - delay(10); - Serial.println('\n'); - Serial.println("HW: " + String(hwId)); - - pinMode(LIGHTPIN, INPUT); -} - -void loop() { - WiFi.begin(ssid, pasw); - checkConnection(); - Serial.print("IP address:\t"); - Serial.println(WiFi.localIP()); - Serial.print("MAC address:\t"); - Serial.println(WiFi.macAddress()); - - //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 ipAddress = doc["device"]["ipAddress"]; - String state = doc["state"]; - - if (state != "succes") { - unsuccessfulRounds++; - Serial.println("UNSUCCESSFUL ROUND NUMBER " + String(unsuccessfulRounds) + "FROM 5"); - } else if (state == "succes") { - unsuccessfulRounds = 0; - } - - //Set static ip - IPAddress staticIpAddress; -IPAddress subnetIpAddress(192,168,0,1); -IPAddress gatewayIpAddress(255, 255, 255, 0); - - if (staticIpAddress.fromString(ipAddress)) { - WiFi.config(staticIpAddress, subnetIpAddress, gatewayIpAddress); - Serial.print("IP address:\t"); - Serial.println(WiFi.localIP()); - } - - 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); - } - delay(500); - Serial.print("."); - count++; - } - Serial.println("Timed out."); - return false; -} From d67bac14e9b4cd8a60a50b3d65b6f09d40bc944e Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 19:12:25 +0100 Subject: [PATCH 08/11] Fixes --- .../ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino index 02e6968..4febd4c 100644 --- a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino +++ b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino @@ -5,9 +5,9 @@ #include //Variables -const char* ssid = "SteelAntsNET"; -const char* pasw = "tgr786hgtp3CZ"; -const char* hwId = "JOK3R"; +const char* ssid = ""; +const char* pasw = ""; +const char* hwId = ""; const char* url = "http://dev.steelants.cz/vasek/home/api.php"; int unsuccessfulRounds = 0; @@ -90,8 +90,8 @@ void loop() { //Set static ip IPAddress staticIpAddress; -IPAddress subnetIpAddress(192,168,0,1); -IPAddress gatewayIpAddress(255, 255, 255, 0); + IPAddress subnetIpAddress(192,168,0,1); + IPAddress gatewayIpAddress(255, 255, 255, 0); if (staticIpAddress.fromString(ipAddress)) { WiFi.config(staticIpAddress, subnetIpAddress, gatewayIpAddress); From 2b1ae58d55e0bb0f3fe5e9c1771673335b00cdab Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 19:15:13 +0100 Subject: [PATCH 09/11] Some tweeks --- .../firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino index d788e11..d98669c 100644 --- a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino +++ b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino @@ -24,7 +24,10 @@ void setup() { delay(10); Serial.println('\n'); Serial.println("HW: " + String(hwId)); - + Serial.print("IP address:\t"); + Serial.println(WiFi.localIP()); + Serial.print("MAC address:\t"); + Serial.println(WiFi.macAdress()); pinMode(LIGHTPIN, INPUT); } @@ -85,19 +88,13 @@ void loop() { } //Set static ip -<<<<<<< HEAD:_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino - IPAddress addr; - if (addr.fromString(ipAddress)) { - IPAddress ip(addr); -======= IPAddress staticIpAddress; IPAddress subnetIpAddress(192,168,0,1); IPAddress gatewayIpAddress(255, 255, 255, 0); if (staticIpAddress.fromString(ipAddress)) { WiFi.config(staticIpAddress, subnetIpAddress, gatewayIpAddress); ->>>>>>> d67bac14e9b4cd8a60a50b3d65b6f09d40bc944e:_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino/ESP_OS_NODE_V3.ino.ino - Serial.print("IP address:\t"); + Serial.print("STATIC IP address:\t"); Serial.println(WiFi.localIP()); } From 0045d00abc871b888b49b4e66d653cd107e4ef5e Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 19:48:41 +0100 Subject: [PATCH 10/11] Comments, Comments Everywhere --- .../NodeMCU Sensor/ESP_OS_NODE_V3.ino | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino index d98669c..c7fd49d 100644 --- a/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino +++ b/_FIRMWARE/firmwares/NodeMCU Sensor/ESP_OS_NODE_V3.ino @@ -23,6 +23,7 @@ void setup() { while (!Serial) continue; delay(10); Serial.println('\n'); + //Show start up Configuration Serial.println("HW: " + String(hwId)); Serial.print("IP address:\t"); Serial.println(WiFi.localIP()); @@ -32,12 +33,13 @@ void setup() { } void loop() { + //Start Conection to wifi WiFi.begin(ssid, pasw); checkConnection(); //HTTP CLIENT HTTPClient http; - http.begin(url); + http.begin(url); //Begun HTTP Request http.addHeader("Content-Type", "text/plain"); //Specify content-type header DHTs.begin(); @@ -46,6 +48,7 @@ void loop() { StaticJsonDocument<265> doc; doc["token"] = hwId; + //Read and Handle DHT values float tem = DHTs.readTemperature(); float hum = DHTs.readHumidity(); Serial.println("TEMP" + String(tem) + ";HUMI" + String(hum)); @@ -58,6 +61,7 @@ void loop() { doc["values"]["humi"]["unit"] = "%"; } + //Handle Photo Rezistor Values doc["values"]["light"]["value"] = analogRead(LIGHTPIN); doc["values"]["light"]["unit"] = ""; @@ -67,12 +71,12 @@ void loop() { Serial.print("JSON: "); Serial.println(jsonPayload); - int httpCode = http.POST(jsonPayload); + int httpCode = http.POST(jsonPayload); //Get Http response code 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); + DeserializationError error = deserializeJson(doc, httpPayload); //Get deserialization Error if exists //configuration setup String hostName = doc["device"]["hostname"]; @@ -98,25 +102,26 @@ void loop() { Serial.println(WiFi.localIP()); } - WiFi.hostname(hostName); + WiFi.hostname(hostName); //Set HostName http.end(); //Close connection + WiFi.disconnect(); //Disconect from WIFI Serial.println("DISCONECTED FROM WIFI"); - WiFi.disconnect(); - if(unsuccessfulRounds == 5) { + if(unsuccessfulRounds == 5) { //after 5 unsucessful request restart ESP Serial.println("RESTARTING ESP"); ESP.restart() } - Serial.println("GOING TO SLEEP FOR " + String(sleepTime)); - if (sleepTime > 0) { + if (sleepTime > 0) { //if deep sleepTime > 0 use deep sleep + Serial.println("GOING TO SLEEP FOR " + String(sleepTime)); ESP.deepSleep((sleepTime * 60) * 1000000, RF_DEFAULT); } else { delay(5000); } } +//checking if connection is working bool checkConnection() { int count = 0; Serial.print("Waiting for Wi-Fi connection"); From e0ee40cb0d950fb657a5cc93f24789c343aee8c3 Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Wed, 27 Nov 2019 19:48:59 +0100 Subject: [PATCH 11/11] Device network setting part 1 --- app/templates/part/deviceEdit.phtml | 49 ++++++++++++++++------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/app/templates/part/deviceEdit.phtml b/app/templates/part/deviceEdit.phtml index 205569e..c71cc8b 100644 --- a/app/templates/part/deviceEdit.phtml +++ b/app/templates/part/deviceEdit.phtml @@ -22,11 +22,11 @@
echo('l_permission'); ?>
- +
- echo('l_owner'); ?>
- +
/>echo('l_read'); ?> />echo('l_use'); ?> />echo('l_edit'); ?> - +
@@ -62,15 +62,22 @@
Token:
- +

echo('t_networkSetting'); ?>

Type:
-
IP:
- + +
+
+
Subnet:
+ +
+
+
Gateway:
+
@@ -114,19 +121,19 @@
-
-
-
&#x
+
+
+
&#x
+
+
+
+
-
-
+
+
+ +
-
-
-
- -
-
@@ -143,10 +150,10 @@
- - - - + + + +