From 8d1a43ceb80f9b320a1522123073344135ab1eba Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Thu, 17 Sep 2020 19:02:49 +0200 Subject: [PATCH 01/17] Use DHT library from arduino repo (DHT_sensor_library) in order to use the DHT_sensor_library the setup of the Truhen is moved into the setup routine. --- Steuerung_Truhen.ino | 153 +++++++++++++++++++++---------------------- 1 file changed, 75 insertions(+), 78 deletions(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 3153a83..03b917b 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -5,7 +5,9 @@ #include //Setup LCD #include -LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //0x3F = Adresse des Displays + +#include "Truhe.h" +#include "Settings.h" static unsigned long last_lcd_time = 0; static unsigned long last_mess_time = 0; @@ -19,67 +21,31 @@ class Truhe { int _cur_temp = 0; int _updlcd = 0; String _name = ""; + uint8_t _dhtpin; public: - Truhe(String name, int relay, int dhtpin, int dhttype) { - _name = name; + Truhe(String name, int relay, uint8_t dhtpin): _dht(dhtpin, DHT22) { + _name = name; _relay = relay; - _dht.setup(dhtpin); - pinMode(_relay, OUTPUT); + _dhtpin = dhtpin; }; + void setup() { + Serial.println("Setup " + _name); + Serial.println(_dhtpin); + pinMode(_relay, OUTPUT); + digitalWrite(_relay, HIGH); + pinMode(_dhtpin, INPUT); + _dht.begin(); + delay(2000); + } + void mess() { - //Serial.println(String(_name) + " mess()"); + Serial.println(String(_name) + " mess()"); //Serial.print("Minimum Sampling Period: "); - //Serial.println(_dht.getMinimumSamplingPeriod()); //delay(_dht.getMinimumSamplingPeriod()); - _cur_temp = _dht.getTemperature(); - //Serial.println(String(_name) + "\t\t" + String(_cur_temp) + " grad gelesen"); + _cur_temp = _dht.readTemperature(); + Serial.println(String(_name) + "\t\t" + String((int)_cur_temp) + " grad gelesen"); }; - - void log(File logfile) { - //Serial.println(String(_name) + " log()"); - String logdata = String(0) + "\t\t" + String(_cur_temp) + "\t" + String(_stat); - logfile.println(logdata); - logfile.println(); - } - - void updateLCD(int row) { - //Serial.println(String(_name) + " updateLCD("+String(row)+")"); - //LCD-Anzeige - lcd.setCursor(0, row); //...(Zeichen,Zeile); - lcd.print(_name + " " + String(_updlcd)); - - lcd.setCursor(8, row); - lcd.print(" "); - //Serial.println(sizeof(String(_cur_temp))/2); - lcd.setCursor(11 - sizeof(String(_cur_temp))/2, row); - lcd.setCursor(8, row); - lcd.print(String(_cur_temp)); - lcd.setCursor(11, row); - lcd.print("\337"); - lcd.setCursor(13, row); - if (_stat == -1) { - lcd.print("-"); - } - else if (_stat == 1) { - lcd.print("I"); - } - else if (_stat == 0) { - lcd.print("O"); - } - if(_updlcd == 0){ - lcd.setCursor(15, row); - lcd.print(String("|")); - //Serial.println(String(_name) + " updateLCD("+String(row)+") ."); - _updlcd = 1; - }else{ - lcd.setCursor(15, row); - lcd.print(String("-")); - //Serial.println(String(_name) + " updateLCD("+String(row)+") "); - _updlcd = 0; - } - } - void schalt(int oT, int uT) { Serial.print(String(_name) + " schalt() stat: " + String(_stat)); if (_cur_temp >= oT && _stat != 1) { @@ -93,28 +59,21 @@ class Truhe { Serial.println("schalt " + _name + " zu " + String(_stat)); } } - - void printName(){ - //Serial.println(_name); - } + int getUpdLcd(){ return _updlcd;}; + void setUpdLcd(int updlcd){ _updlcd = updlcd;}; + int getRelay(){ return _relay;}; + int getDhtPin(){return _dhtpin;}; + int getStat(){return _stat;}; + float getCurTemp(){return _cur_temp;}; + String getName(){return _name;}; }; -//* **EINSTELLUNGEN** *// -#define DHTTYPE DHT22 -#define SETUPTIMEOUT 500 -// So, the minimum sampling period is the minimum time -// interval that we need to wait between two consecutive -// measurements from the sensor. In the case of the DHT22, -// this value is of 2 seconds [1]. -static const unsigned long MESS_REFRESH_INTERVAL = 10000; // ms getMinimumSamplingPeriod == 2 sec -static const unsigned long SCHALT_REFRESH_INTERVAL = 60000; // ms -static const unsigned long LCD_REFRESH_INTERVAL = 500; // ms -const int uT = 1; //Abschalt-Temperatur in °C -const int oT = 6; //Einschalt-Temperatur in °C + + Truhe truhen[] = { - Truhe("Truhe 1", 2, 8, 0), - Truhe("Truhe 2", 3, 9, 0), + Truhe("Truhe 1", 2, 8), + Truhe("Truhe 2", 3, 9), }; @@ -161,8 +120,12 @@ void setup() { logfile.println("t(min)\tTruhe\tT(°C)\tStatus"); logfile.close(); lcd.clear(); + for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { + truhen[i].setup(); + } - wdt_enable(WDTO_5S); // Watchdog auf 1 s stellen + wdt_enable(WDTO_4S); // Watchdog auf 1 s stellen + delay(3000); Serial.println("Setup fi"); } @@ -171,14 +134,16 @@ void loop() { { //MESSINTERVALL last_mess_time = millis(); + File logfile = SD.open("logTruhe.txt", FILE_WRITE); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { - truhen[i].printName(); truhen[i].mess(); - File logfile = SD.open("logTruhe.txt", FILE_WRITE); - truhen[i].log(logfile); - logfile.close(); + //Serial.println(String(_name) + " log()"); + String logdata = String(0) + "\t\t" + String(truhen[i].getCurTemp()) + "\t" + String(truhen[i].getStat()); + logfile.println(logdata); } + logfile.println(); + logfile.close(); } //Serial.println("Schaltintervall: "+ String(millis() - last_schalt_time) + " " + String(SCHALT_REFRESH_INTERVAL)); if(millis() - last_schalt_time >= SCHALT_REFRESH_INTERVAL || last_schalt_time == 0) @@ -195,7 +160,39 @@ void loop() { //LCD Update INTERVALL last_lcd_time = millis(); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { - truhen[i].updateLCD(i); + //LCD-Anzeige + lcd.setCursor(0, i); //...(Zeichen,Zeile); + lcd.print(truhen[i].getName() + " " + String(truhen[i].getUpdLcd())); + + lcd.setCursor(8, i); + lcd.print(" "); + //Serial.println(sizeof(String(truhen[i].getCurTemp()))/2); + lcd.setCursor(11 - sizeof(String(truhen[i].getCurTemp()))/2, i); + lcd.setCursor(8, i); + lcd.print(String(truhen[i].getCurTemp())); + lcd.setCursor(11, i); + lcd.print("\337"); + lcd.setCursor(13, i); + if (truhen[i].getStat() == -1) { + lcd.print("-"); + } + else if (truhen[i].getStat() == 1) { + lcd.print("I"); + } + else if (truhen[i].getStat() == 0) { + lcd.print("O"); + } + if(truhen[i].getUpdLcd() == 0){ + lcd.setCursor(15, i); + lcd.print(String("|")); + //Serial.println(String(truhen[i]._name) + " updateLCD("+String(i)+") ."); + truhen[i].setUpdLcd(1); + }else{ + lcd.setCursor(15, i); + lcd.print(String("-")); + //Serial.println(String(truhen[i]._name) + " updateLCD("+String(i)+") "); + truhen[i].setUpdLcd(0); + } } } wdt_reset(); -- 2.47.2 From 456542514a351a6f13cf2eac3b7bc0f3663729db Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 11:28:01 +0200 Subject: [PATCH 02/17] Use DHT library from arduino repo (DHT_sensor_library) in order to use the DHT_sensor_library the setup of the Truhen is moved into the setup routine. The log, updateLCD and printName funtions are removed, logic is handled in the loop with help of new getter and setter methods. --- Steuerung_Truhen.ino | 155 +++++++++++++++++++++---------------------- 1 file changed, 76 insertions(+), 79 deletions(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 3153a83..dbefd03 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -5,7 +5,9 @@ #include //Setup LCD #include -LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //0x3F = Adresse des Displays + +#include "Truhe.h" +#include "Settings.h" static unsigned long last_lcd_time = 0; static unsigned long last_mess_time = 0; @@ -19,67 +21,31 @@ class Truhe { int _cur_temp = 0; int _updlcd = 0; String _name = ""; + uint8_t _dhtpin; public: - Truhe(String name, int relay, int dhtpin, int dhttype) { - _name = name; + Truhe(String name, int relay, uint8_t dhtpin): _dht(dhtpin, DHT22) { + _name = name; _relay = relay; - _dht.setup(dhtpin); - pinMode(_relay, OUTPUT); + _dhtpin = dhtpin; }; + void setup() { + Serial.println("Setup " + _name); + Serial.println(_dhtpin); + pinMode(_relay, OUTPUT); + digitalWrite(_relay, HIGH); + pinMode(_dhtpin, INPUT); + _dht.begin(); + delay(2000); + } + void mess() { - //Serial.println(String(_name) + " mess()"); + Serial.println(String(_name) + " mess()"); //Serial.print("Minimum Sampling Period: "); - //Serial.println(_dht.getMinimumSamplingPeriod()); //delay(_dht.getMinimumSamplingPeriod()); - _cur_temp = _dht.getTemperature(); - //Serial.println(String(_name) + "\t\t" + String(_cur_temp) + " grad gelesen"); + _cur_temp = _dht.readTemperature(); + Serial.println(String(_name) + "\t\t" + String((int)_cur_temp) + " grad gelesen"); }; - - void log(File logfile) { - //Serial.println(String(_name) + " log()"); - String logdata = String(0) + "\t\t" + String(_cur_temp) + "\t" + String(_stat); - logfile.println(logdata); - logfile.println(); - } - - void updateLCD(int row) { - //Serial.println(String(_name) + " updateLCD("+String(row)+")"); - //LCD-Anzeige - lcd.setCursor(0, row); //...(Zeichen,Zeile); - lcd.print(_name + " " + String(_updlcd)); - - lcd.setCursor(8, row); - lcd.print(" "); - //Serial.println(sizeof(String(_cur_temp))/2); - lcd.setCursor(11 - sizeof(String(_cur_temp))/2, row); - lcd.setCursor(8, row); - lcd.print(String(_cur_temp)); - lcd.setCursor(11, row); - lcd.print("\337"); - lcd.setCursor(13, row); - if (_stat == -1) { - lcd.print("-"); - } - else if (_stat == 1) { - lcd.print("I"); - } - else if (_stat == 0) { - lcd.print("O"); - } - if(_updlcd == 0){ - lcd.setCursor(15, row); - lcd.print(String("|")); - //Serial.println(String(_name) + " updateLCD("+String(row)+") ."); - _updlcd = 1; - }else{ - lcd.setCursor(15, row); - lcd.print(String("-")); - //Serial.println(String(_name) + " updateLCD("+String(row)+") "); - _updlcd = 0; - } - } - void schalt(int oT, int uT) { Serial.print(String(_name) + " schalt() stat: " + String(_stat)); if (_cur_temp >= oT && _stat != 1) { @@ -93,28 +59,21 @@ class Truhe { Serial.println("schalt " + _name + " zu " + String(_stat)); } } - - void printName(){ - //Serial.println(_name); - } + int getUpdLcd(){ return _updlcd;}; + void setUpdLcd(int updlcd){ _updlcd = updlcd;}; + int getRelay(){ return _relay;}; + int getDhtPin(){return _dhtpin;}; + int getStat(){return _stat;}; + float getCurTemp(){return _cur_temp;}; + String getName(){return _name;}; }; -//* **EINSTELLUNGEN** *// -#define DHTTYPE DHT22 -#define SETUPTIMEOUT 500 -// So, the minimum sampling period is the minimum time -// interval that we need to wait between two consecutive -// measurements from the sensor. In the case of the DHT22, -// this value is of 2 seconds [1]. -static const unsigned long MESS_REFRESH_INTERVAL = 10000; // ms getMinimumSamplingPeriod == 2 sec -static const unsigned long SCHALT_REFRESH_INTERVAL = 60000; // ms -static const unsigned long LCD_REFRESH_INTERVAL = 500; // ms -const int uT = 1; //Abschalt-Temperatur in °C -const int oT = 6; //Einschalt-Temperatur in °C + + Truhe truhen[] = { - Truhe("Truhe 1", 2, 8, 0), - Truhe("Truhe 2", 3, 9, 0), + Truhe("Truhe 1", 2, 8), + Truhe("Truhe 2", 3, 9), }; @@ -161,8 +120,12 @@ void setup() { logfile.println("t(min)\tTruhe\tT(°C)\tStatus"); logfile.close(); lcd.clear(); - - wdt_enable(WDTO_5S); // Watchdog auf 1 s stellen + for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { + truhen[i].setup(); + } + + wdt_enable(WDTO_4S); // Watchdog auf 1 s stellen + delay(3000); Serial.println("Setup fi"); } @@ -171,14 +134,16 @@ void loop() { { //MESSINTERVALL last_mess_time = millis(); + File logfile = SD.open("logTruhe.txt", FILE_WRITE); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { - truhen[i].printName(); truhen[i].mess(); - File logfile = SD.open("logTruhe.txt", FILE_WRITE); - truhen[i].log(logfile); - logfile.close(); + //Serial.println(String(_name) + " log()"); + String logdata = String(0) + "\t\t" + String(truhen[i].getCurTemp()) + "\t" + String(truhen[i].getStat()); + logfile.println(logdata); } + logfile.println(); + logfile.close(); } //Serial.println("Schaltintervall: "+ String(millis() - last_schalt_time) + " " + String(SCHALT_REFRESH_INTERVAL)); if(millis() - last_schalt_time >= SCHALT_REFRESH_INTERVAL || last_schalt_time == 0) @@ -195,7 +160,39 @@ void loop() { //LCD Update INTERVALL last_lcd_time = millis(); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { - truhen[i].updateLCD(i); + //LCD-Anzeige + lcd.setCursor(0, i); //...(Zeichen,Zeile); + lcd.print(truhen[i].getName() + " " + String(truhen[i].getUpdLcd())); + + lcd.setCursor(8, i); + lcd.print(" "); + //Serial.println(sizeof(String(truhen[i].getCurTemp()))/2); + lcd.setCursor(11 - sizeof(String(truhen[i].getCurTemp()))/2, i); + lcd.setCursor(8, i); + lcd.print(String(truhen[i].getCurTemp())); + lcd.setCursor(11, i); + lcd.print("\337"); + lcd.setCursor(13, i); + if (truhen[i].getStat() == -1) { + lcd.print("-"); + } + else if (truhen[i].getStat() == 1) { + lcd.print("I"); + } + else if (truhen[i].getStat() == 0) { + lcd.print("O"); + } + if(truhen[i].getUpdLcd() == 0){ + lcd.setCursor(15, i); + lcd.print(String("|")); + //Serial.println(String(truhen[i]._name) + " updateLCD("+String(i)+") ."); + truhen[i].setUpdLcd(1); + }else{ + lcd.setCursor(15, i); + lcd.print(String("-")); + //Serial.println(String(truhen[i]._name) + " updateLCD("+String(i)+") "); + truhen[i].setUpdLcd(0); + } } } wdt_reset(); -- 2.47.2 From be89cfe32ddf7f9f04c9b6ab7f2d86493e856b4a Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 11:40:07 +0200 Subject: [PATCH 03/17] Use DHT library from arduino repo (DHT_sensor_library) in order to use the DHT_sensor_library the setup of the Truhen is moved into the setup routine. The log, updateLCD and printName funtions are removed, logic is handled in the loop with help of new getter and setter methods. --- Steuerung_Truhen.ino | 154 +++++++++++++++++++++---------------------- 1 file changed, 75 insertions(+), 79 deletions(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 3153a83..88c7130 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -5,7 +5,9 @@ #include //Setup LCD #include -LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //0x3F = Adresse des Displays + +#include "Truhe.h" +#include "Settings.h" static unsigned long last_lcd_time = 0; static unsigned long last_mess_time = 0; @@ -19,67 +21,31 @@ class Truhe { int _cur_temp = 0; int _updlcd = 0; String _name = ""; + uint8_t _dhtpin; public: - Truhe(String name, int relay, int dhtpin, int dhttype) { - _name = name; + Truhe(String name, int relay, uint8_t dhtpin): _dht(dhtpin, DHT22) { + _name = name; _relay = relay; - _dht.setup(dhtpin); - pinMode(_relay, OUTPUT); + _dhtpin = dhtpin; }; + void setup() { + Serial.println("Setup " + _name); + Serial.println(_dhtpin); + pinMode(_relay, OUTPUT); + digitalWrite(_relay, HIGH); + pinMode(_dhtpin, INPUT); + _dht.begin(); + delay(2000); + } + void mess() { - //Serial.println(String(_name) + " mess()"); + Serial.println(String(_name) + " mess()"); //Serial.print("Minimum Sampling Period: "); - //Serial.println(_dht.getMinimumSamplingPeriod()); //delay(_dht.getMinimumSamplingPeriod()); - _cur_temp = _dht.getTemperature(); - //Serial.println(String(_name) + "\t\t" + String(_cur_temp) + " grad gelesen"); + _cur_temp = _dht.readTemperature(); + Serial.println(String(_name) + "\t\t" + String((int)_cur_temp) + " grad gelesen"); }; - - void log(File logfile) { - //Serial.println(String(_name) + " log()"); - String logdata = String(0) + "\t\t" + String(_cur_temp) + "\t" + String(_stat); - logfile.println(logdata); - logfile.println(); - } - - void updateLCD(int row) { - //Serial.println(String(_name) + " updateLCD("+String(row)+")"); - //LCD-Anzeige - lcd.setCursor(0, row); //...(Zeichen,Zeile); - lcd.print(_name + " " + String(_updlcd)); - - lcd.setCursor(8, row); - lcd.print(" "); - //Serial.println(sizeof(String(_cur_temp))/2); - lcd.setCursor(11 - sizeof(String(_cur_temp))/2, row); - lcd.setCursor(8, row); - lcd.print(String(_cur_temp)); - lcd.setCursor(11, row); - lcd.print("\337"); - lcd.setCursor(13, row); - if (_stat == -1) { - lcd.print("-"); - } - else if (_stat == 1) { - lcd.print("I"); - } - else if (_stat == 0) { - lcd.print("O"); - } - if(_updlcd == 0){ - lcd.setCursor(15, row); - lcd.print(String("|")); - //Serial.println(String(_name) + " updateLCD("+String(row)+") ."); - _updlcd = 1; - }else{ - lcd.setCursor(15, row); - lcd.print(String("-")); - //Serial.println(String(_name) + " updateLCD("+String(row)+") "); - _updlcd = 0; - } - } - void schalt(int oT, int uT) { Serial.print(String(_name) + " schalt() stat: " + String(_stat)); if (_cur_temp >= oT && _stat != 1) { @@ -93,28 +59,21 @@ class Truhe { Serial.println("schalt " + _name + " zu " + String(_stat)); } } - - void printName(){ - //Serial.println(_name); - } + int getUpdLcd(){ return _updlcd;}; + void setUpdLcd(int updlcd){ _updlcd = updlcd;}; + int getRelay(){ return _relay;}; + int getDhtPin(){return _dhtpin;}; + int getStat(){return _stat;}; + float getCurTemp(){return _cur_temp;}; + String getName(){return _name;}; }; -//* **EINSTELLUNGEN** *// -#define DHTTYPE DHT22 -#define SETUPTIMEOUT 500 -// So, the minimum sampling period is the minimum time -// interval that we need to wait between two consecutive -// measurements from the sensor. In the case of the DHT22, -// this value is of 2 seconds [1]. -static const unsigned long MESS_REFRESH_INTERVAL = 10000; // ms getMinimumSamplingPeriod == 2 sec -static const unsigned long SCHALT_REFRESH_INTERVAL = 60000; // ms -static const unsigned long LCD_REFRESH_INTERVAL = 500; // ms -const int uT = 1; //Abschalt-Temperatur in °C -const int oT = 6; //Einschalt-Temperatur in °C + + Truhe truhen[] = { - Truhe("Truhe 1", 2, 8, 0), - Truhe("Truhe 2", 3, 9, 0), + Truhe("Truhe 1", 2, 8), + Truhe("Truhe 2", 3, 9), }; @@ -161,8 +120,11 @@ void setup() { logfile.println("t(min)\tTruhe\tT(°C)\tStatus"); logfile.close(); lcd.clear(); - - wdt_enable(WDTO_5S); // Watchdog auf 1 s stellen + for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { + truhen[i].setup(); + } + wdt_enable(WDTO_4S); // Watchdog auf 4 s stellen + delay(3000); Serial.println("Setup fi"); } @@ -171,14 +133,16 @@ void loop() { { //MESSINTERVALL last_mess_time = millis(); + File logfile = SD.open("logTruhe.txt", FILE_WRITE); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { - truhen[i].printName(); truhen[i].mess(); - File logfile = SD.open("logTruhe.txt", FILE_WRITE); - truhen[i].log(logfile); - logfile.close(); + //Serial.println(String(_name) + " log()"); + String logdata = String(0) + "\t\t" + String(truhen[i].getCurTemp()) + "\t" + String(truhen[i].getStat()); + logfile.println(logdata); } + logfile.println(); + logfile.close(); } //Serial.println("Schaltintervall: "+ String(millis() - last_schalt_time) + " " + String(SCHALT_REFRESH_INTERVAL)); if(millis() - last_schalt_time >= SCHALT_REFRESH_INTERVAL || last_schalt_time == 0) @@ -195,7 +159,39 @@ void loop() { //LCD Update INTERVALL last_lcd_time = millis(); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { - truhen[i].updateLCD(i); + //LCD-Anzeige + lcd.setCursor(0, i); //...(Zeichen,Zeile); + lcd.print(truhen[i].getName() + " " + String(truhen[i].getUpdLcd())); + + lcd.setCursor(8, i); + lcd.print(" "); + //Serial.println(sizeof(String(truhen[i].getCurTemp()))/2); + lcd.setCursor(11 - sizeof(String(truhen[i].getCurTemp()))/2, i); + lcd.setCursor(8, i); + lcd.print(String(truhen[i].getCurTemp())); + lcd.setCursor(11, i); + lcd.print("\337"); + lcd.setCursor(13, i); + if (truhen[i].getStat() == -1) { + lcd.print("-"); + } + else if (truhen[i].getStat() == 1) { + lcd.print("I"); + } + else if (truhen[i].getStat() == 0) { + lcd.print("O"); + } + if(truhen[i].getUpdLcd() == 0){ + lcd.setCursor(15, i); + lcd.print(String("|")); + //Serial.println(String(truhen[i]._name) + " updateLCD("+String(i)+") ."); + truhen[i].setUpdLcd(1); + }else{ + lcd.setCursor(15, i); + lcd.print(String("-")); + //Serial.println(String(truhen[i]._name) + " updateLCD("+String(i)+") "); + truhen[i].setUpdLcd(0); + } } } wdt_reset(); -- 2.47.2 From 9d2cc7253121f3bc38f3c99c20ca14148e2d33ec Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 14:46:53 +0200 Subject: [PATCH 04/17] =?UTF-8?q?Eigene=20Library=20f=C3=BCr=20Truhe,=20Se?= =?UTF-8?q?ttings=20in=20extra=20datei?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Steuerung_Truhen.ino | 64 -------------------------------------------- 1 file changed, 64 deletions(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 88c7130..51cc1ce 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -13,70 +13,6 @@ static unsigned long last_lcd_time = 0; static unsigned long last_mess_time = 0; static unsigned long last_schalt_time = 0; -class Truhe { - private: - int _relay; - DHT _dht; - int _stat = -1; - int _cur_temp = 0; - int _updlcd = 0; - String _name = ""; - uint8_t _dhtpin; - public: - Truhe(String name, int relay, uint8_t dhtpin): _dht(dhtpin, DHT22) { - _name = name; - _relay = relay; - _dhtpin = dhtpin; - }; - - void setup() { - Serial.println("Setup " + _name); - Serial.println(_dhtpin); - pinMode(_relay, OUTPUT); - digitalWrite(_relay, HIGH); - pinMode(_dhtpin, INPUT); - _dht.begin(); - delay(2000); - } - - void mess() { - Serial.println(String(_name) + " mess()"); - //Serial.print("Minimum Sampling Period: "); - //delay(_dht.getMinimumSamplingPeriod()); - _cur_temp = _dht.readTemperature(); - Serial.println(String(_name) + "\t\t" + String((int)_cur_temp) + " grad gelesen"); - }; - void schalt(int oT, int uT) { - Serial.print(String(_name) + " schalt() stat: " + String(_stat)); - if (_cur_temp >= oT && _stat != 1) { - digitalWrite(_relay, LOW); - _stat = 1; - Serial.println("schalt " + _name + " zu " + String(_stat)); - } - else if (_cur_temp <= uT && _stat != 0) { - digitalWrite(_relay, HIGH); - _stat = 0; - Serial.println("schalt " + _name + " zu " + String(_stat)); - } - } - int getUpdLcd(){ return _updlcd;}; - void setUpdLcd(int updlcd){ _updlcd = updlcd;}; - int getRelay(){ return _relay;}; - int getDhtPin(){return _dhtpin;}; - int getStat(){return _stat;}; - float getCurTemp(){return _cur_temp;}; - String getName(){return _name;}; -}; - - - - -Truhe truhen[] = { - Truhe("Truhe 1", 2, 8), - Truhe("Truhe 2", 3, 9), -}; - - void setup_sd() { //Initialsierugn SD lcd.clear(); -- 2.47.2 From bfadf05cf04703650bc8d5f7d0a496fa18a2ae62 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 14:47:33 +0200 Subject: [PATCH 05/17] Wemos hat wdt builtin --- Steuerung_Truhen.ino | 1 - 1 file changed, 1 deletion(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 51cc1ce..2eadb7c 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -1,5 +1,4 @@ #include //Setup Sensoren -#include #include //Setup SD SDK=D13, MOSI=D11, MISO=D12 -- 2.47.2 From 8bcf4f64d0129efb8d7ae08492cffd5b0f58d326 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 14:53:41 +0200 Subject: [PATCH 06/17] Update .gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3b14a85..40de615 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ .autogit *.txt *.pdf -output/ \ No newline at end of file +output/ +Settings.h +.vscode \ No newline at end of file -- 2.47.2 From 1171b985618fb76a196bdae12871d3910cd2f533 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 12:54:05 +0000 Subject: [PATCH 07/17] Delete Settings.h --- Settings.h | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 Settings.h diff --git a/Settings.h b/Settings.h deleted file mode 100644 index 7a0b497..0000000 --- a/Settings.h +++ /dev/null @@ -1,26 +0,0 @@ -//* **EINSTELLUNGEN** *// -#define SETUPTIMEOUT 500 - -// So, the minimum sampling period is the minimum time -// interval that we need to wait between two consecutive -// measurements from the sensor. In the case of the DHT22, -// this value is of 2 seconds [1]. - -static const unsigned long MESS_REFRESH_INTERVAL = 10000; // ms getMinimumSamplingPeriod == 2 sec -static const unsigned long SCHALT_REFRESH_INTERVAL = 60000; // ms -static const unsigned long LCD_REFRESH_INTERVAL = 500; // ms - -const int uT = 1; //Abschalt-Temperatur in °C -const int oT = 4; //Einschalt-Temperatur in °C - -/* -Truhe truhen[] = { - Truhe("Truhe 1", 2, 8), - Truhe("Truhe 2", 3, 9), -};*/ -//Name, Relaypin, DTH Pin -Truhe truhen[] = { - Truhe("Truhe 1", D0, D2), -}; - -//LiquidCrystal_I2C lcd(0x3F, 0, 0, 0, 0, 0, 0, 0, 0, POSITIVE); //0x3F = Adresse des Displays -- 2.47.2 From 64bdd8786e21fef3e795d19568d837c27c1c31e7 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 12:57:52 +0000 Subject: [PATCH 08/17] Delete arduino.json --- .vscode/arduino.json | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 .vscode/arduino.json diff --git a/.vscode/arduino.json b/.vscode/arduino.json deleted file mode 100644 index 13c2e29..0000000 --- a/.vscode/arduino.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "board": "esp8266:esp8266:d1_mini", - "configuration": "xtal=80,vt=flash,exception=legacy,ssl=all,eesz=4M2M,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=921600", - "port": "COM4", - "sketch": "Steuerung_Truhen.ino", - "output": "output" -} \ No newline at end of file -- 2.47.2 From 60b0b611d068375275b4c4be46dad9fb7e39f99d Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 12:58:00 +0000 Subject: [PATCH 09/17] Delete c_cpp_properties.json --- .vscode/c_cpp_properties.json | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .vscode/c_cpp_properties.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index f5fedb7..0000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "configurations": [ - { - "name": "Win32", - "includePath": [ - "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\**", - "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.6.0\\**" - ], - "forcedInclude": [], - "intelliSenseMode": "msvc-x64", - "compilerPath": "/usr/bin/gcc", - "cStandard": "gnu11", - "cppStandard": "gnu++14" - } - ], - "version": 4 -} \ No newline at end of file -- 2.47.2 From b87540154705e4f22c6a285630b76649e0e6acb6 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Sat, 19 Sep 2020 12:58:08 +0000 Subject: [PATCH 10/17] Delete settings.json --- .vscode/settings.json | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 9c4b16d..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "window.zoomLevel": 0, - "arduino.path": "C:\\Program Files (x86)\\Arduino", - "git.autofetch": true, - "C_Cpp.updateChannel": "Insiders", - "arduino.additionalUrls": "" -} \ No newline at end of file -- 2.47.2 From 86d6c283fb2835583a9f294a9d85801522d3af61 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Tue, 28 Jun 2022 21:54:30 +0200 Subject: [PATCH 11/17] remove sd stuff --- Steuerung_Truhen.ino | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 2eadb7c..eebc61f 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -1,7 +1,5 @@ #include //Setup Sensoren -#include //Setup SD SDK=D13, MOSI=D11, MISO=D12 - #include //Setup LCD #include @@ -12,25 +10,6 @@ static unsigned long last_lcd_time = 0; static unsigned long last_mess_time = 0; static unsigned long last_schalt_time = 0; -void setup_sd() { - //Initialsierugn SD - lcd.clear(); - lcd.setCursor(0, 0); //...(Zeichen,Zeile); - lcd.print("Init SD"); - if (!SD.begin(4)) { //Init SD_Karte mit CS auf Pin D4 - lcd.setCursor(0, 1); - lcd.print("fehlgeschlagen!"); - Serial.println("Init SD fehlgeschlagen!"); - delay(SETUPTIMEOUT); - return; - } else { - lcd.setCursor(0, 1); - lcd.print("abgeschlossen!"); - Serial.println("Init SD abgeschlossen!"); - delay(SETUPTIMEOUT); - } -} - void setup_lcd() { //LCD lcd.begin(16, 2); //Starten des LCD, 16 Zeichen, 2 Zeilen @@ -50,10 +29,6 @@ void setup() { Serial.println(); Serial.println(); setup_lcd(); - setup_sd(); - File logfile = SD.open("logTruhe.txt", FILE_WRITE); //Erstelle bzw. öffne log-Datei - logfile.println("t(min)\tTruhe\tT(°C)\tStatus"); - logfile.close(); lcd.clear(); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { truhen[i].setup(); @@ -68,16 +43,9 @@ void loop() { { //MESSINTERVALL last_mess_time = millis(); - File logfile = SD.open("logTruhe.txt", FILE_WRITE); for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { truhen[i].mess(); - - //Serial.println(String(_name) + " log()"); - String logdata = String(0) + "\t\t" + String(truhen[i].getCurTemp()) + "\t" + String(truhen[i].getStat()); - logfile.println(logdata); } - logfile.println(); - logfile.close(); } //Serial.println("Schaltintervall: "+ String(millis() - last_schalt_time) + " " + String(SCHALT_REFRESH_INTERVAL)); if(millis() - last_schalt_time >= SCHALT_REFRESH_INTERVAL || last_schalt_time == 0) -- 2.47.2 From e3c611e909fbf70c78983b3085c898c5ca24a341 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Mon, 4 Jul 2022 21:48:56 +0200 Subject: [PATCH 12/17] Change LiquidCrystal Libary, include the right one as zip --- LiquidCrystal_I2C-master.zip | Bin 0 -> 20720 bytes Steuerung_Truhen.ino | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 LiquidCrystal_I2C-master.zip diff --git a/LiquidCrystal_I2C-master.zip b/LiquidCrystal_I2C-master.zip new file mode 100644 index 0000000000000000000000000000000000000000..81ae275f3131d933fc53bd787445df15c5109eb8 GIT binary patch literal 20720 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 //Setup LCD #include +LiquidCrystal_I2C lcd(0x3F,16,2); //0x3F = Adresse des Displays #include "Truhe.h" #include "Settings.h" @@ -12,7 +13,7 @@ static unsigned long last_schalt_time = 0; void setup_lcd() { //LCD - lcd.begin(16, 2); //Starten des LCD, 16 Zeichen, 2 Zeilen + lcd.init(); lcd.backlight(); //Beleuchtung des Displays einschalten lcd.blink(); lcd.clear(); -- 2.47.2 From 263b9a1a5622166c7ef699dd9ec2b0b0cdc457cd Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Mon, 4 Jul 2022 21:52:50 +0200 Subject: [PATCH 13/17] Change DHT Sensor to DS18B20 The Sensors have a unique ID and can be used in a bus configuration on one gpo pin, but we are using one pin/bus per sensor and only read the first sensor on a bus to be able to change the sensors later without changing the code. --- Steuerung_Truhen.ino | 6 +++++- Truhe.cpp | 40 +++++++++++++++++++++++++--------------- Truhe.h | 12 +++++++----- 3 files changed, 37 insertions(+), 21 deletions(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 9585488..4177c77 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -85,6 +85,10 @@ void loop() { else if (truhen[i].getStat() == 0) { lcd.print("O"); } + else if (truhen[i].getStat() == 2) { + lcd.setCursor(8, i); + lcd.print("Error"); + } if(truhen[i].getUpdLcd() == 0){ lcd.setCursor(15, i); lcd.print(String("|")); @@ -99,4 +103,4 @@ void loop() { } } wdt_reset(); -} \ No newline at end of file +} diff --git a/Truhe.cpp b/Truhe.cpp index 67f08b5..ee29252 100644 --- a/Truhe.cpp +++ b/Truhe.cpp @@ -1,37 +1,47 @@ #include "Truhe.h" -Truhe::Truhe(String name, int relay, uint8_t dhtpin): _dht(dhtpin, DHT22) { - _name = name; +Truhe::Truhe(String name, int relay, uint8_t sensorpin){ + _name = name; _relay = relay; - _dhtpin = dhtpin; + _sensorpin = sensorpin; + _oneWire = OneWire(sensorpin); + _sensors = DallasTemperature(&_oneWire); }; void Truhe::setup() { Serial.println("Setup " + _name); - Serial.println(_dhtpin); + Serial.println(_sensorpin); pinMode(_relay, OUTPUT); digitalWrite(_relay, HIGH); - pinMode(_dhtpin, INPUT); - _dht.begin(); - delay(2000); + pinMode(_sensorpin, INPUT); + _sensors.begin(); } void Truhe::mess() { Serial.println(String(_name) + " mess()"); - //Serial.print("Minimum Sampling Period: "); - //delay(_dht.getMinimumSamplingPeriod()); - _cur_temp = _dht.readTemperature(); - Serial.println(String(_name) + "\t\t" + String((int)_cur_temp) + " grad gelesen"); + _sensors.requestTemperatures(); + _cur_temp = _sensors.getTempCByIndex(0); + // Check if reading was successful + if(_cur_temp != DEVICE_DISCONNECTED_C) + { + Serial.println(String(_name) + "\t\t" + String((int)_cur_temp) + " grad gelesen"); + } + else + { + Serial.println("Error: Could not read temperature data: "+ String(_name)); + _cur_temp = 99; // Liewer warmes bier als garkenn bier + _stat = 2; + } }; void Truhe::schalt(int oT, int uT) { Serial.print(String(_name) + " schalt() stat: " + String(_stat)); - if (_cur_temp >= oT && _stat != 1) { + if (_cur_temp >= oT && _stat != 1 && _stat != 2) { digitalWrite(_relay, LOW); _stat = 1; Serial.println("schalt " + _name + " zu " + String(_stat)); } - else if (_cur_temp <= uT && _stat != 0) { + else if (_cur_temp <= uT && _stat != 0 && _stat != 2) { digitalWrite(_relay, HIGH); _stat = 0; Serial.println("schalt " + _name + " zu " + String(_stat)); @@ -40,7 +50,7 @@ void Truhe::schalt(int oT, int uT) { int Truhe::getUpdLcd(){ return _updlcd;}; void Truhe::setUpdLcd(int updlcd){ _updlcd = updlcd;}; int Truhe::getRelay(){ return _relay;}; -int Truhe::getDhtPin(){return _dhtpin;}; +int Truhe::getSensorPin(){return _sensorpin;}; int Truhe::getStat(){return _stat;}; -float Truhe::getCurTemp(){return _cur_temp;}; +int Truhe::getCurTemp(){return int(_cur_temp);}; String Truhe::getName(){return _name;}; diff --git a/Truhe.h b/Truhe.h index 71a3e84..dde0b20 100644 --- a/Truhe.h +++ b/Truhe.h @@ -1,9 +1,11 @@ -#include +#include +#include class Truhe { private: - DHT _dht; + OneWire _oneWire; + DallasTemperature _sensors; int _relay; - uint8_t _dhtpin; + uint8_t _sensorpin; int _stat = -1; float _cur_temp = 0; int _updlcd = 0; @@ -16,8 +18,8 @@ class Truhe { int getUpdLcd(); void setUpdLcd(int); int getRelay(); - int getDhtPin(); + int getSensorPin(); int getStat(); - float getCurTemp(); + int getCurTemp(); String getName(); }; -- 2.47.2 From bc3a06c0a39bc4695e35f111d88cbe8dd2038aa4 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Mon, 4 Jul 2022 21:53:47 +0200 Subject: [PATCH 14/17] working release with ds18B20 --- Steuerung_Truhen.ino.d1_mini.bin | Bin 0 -> 276352 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Steuerung_Truhen.ino.d1_mini.bin diff --git a/Steuerung_Truhen.ino.d1_mini.bin b/Steuerung_Truhen.ino.d1_mini.bin new file mode 100644 index 0000000000000000000000000000000000000000..8ba3fcae8da4a15e4c55f4743bfa2fe0cb76a945 GIT binary patch literal 276352 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

wq+Uq&8T5S_hX^BIo~TCp3f6F`>YNwS*d&di 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 ZJCQyC>3K-I{yo^KLRUeby-~mK{uex9*S`P& literal 0 HcmV?d00001 -- 2.47.2 From cf840eeca8ffd2d9926e31614e5d1755042ec1b5 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Tue, 12 Jul 2022 22:35:39 +0200 Subject: [PATCH 15/17] basic webview with wifi setup --- Steuerung_Truhen.ino | 3 + Webserver.h | 182 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 Webserver.h diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 4177c77..7e861f2 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -6,6 +6,7 @@ LiquidCrystal_I2C lcd(0x3F,16,2); //0x3F = Adresse des Displays #include "Truhe.h" #include "Settings.h" +#include "Webserver.h" static unsigned long last_lcd_time = 0; static unsigned long last_mess_time = 0; @@ -35,6 +36,7 @@ void setup() { truhen[i].setup(); } wdt_enable(WDTO_4S); // Watchdog auf 4 s stellen + WifiSetup(); delay(3000); Serial.println("Setup fi"); } @@ -102,5 +104,6 @@ void loop() { } } } + server.handleClient(); wdt_reset(); } diff --git a/Webserver.h b/Webserver.h new file mode 100644 index 0000000..2bb8bbb --- /dev/null +++ b/Webserver.h @@ -0,0 +1,182 @@ +// Load Wi-Fi library +#include +#include +#include +Preferences preferences; +ESP8266WebServer server(80); +String header = " \n" + "\n" + "Truhensteuerung\n" + "\n" + "\n" + "\n" + "

Truhensteuerung Web Server

\n"; +String ssid = "REPLACE_WITH_YOUR_SSID"; +String password = "REPLACE_WITH_YOUR_PASSWORD"; +unsigned long currentTime = millis(); +unsigned long previousTime= 0; +//const long timeoutTime= 2000; + +void WifiConnect(String _ssid, String _password){ + // Connect to Wi-Fi network with SSID and password + Serial.print("Connecting to "); + Serial.println(_ssid); + WiFi.begin(_ssid, _password); + if(WiFi.waitForConnectResult() == WL_CONNECTED) + { + Serial.println(""); + Serial.println("WiFi connected."); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + } + else + { + Serial.println("WiFi Connection failed! Restarting in SoftAP mode instead"); + WiFi.mode(WIFI_AP); + WiFi.softAP("Truhensteuerung", "12345678"); + Serial.print("AP IP address: "); + Serial.println(WiFi.softAPIP()); + } + // Print local IP address and start web server +} + +void handleWifiSetup(){ + String ptr = header; +// ptr += "URI: "; +// ptr += server.uri(); +// ptr += "
\nMethod: "; +// ptr += (server.method() == HTTP_GET) ? "GET" : "POST"; +// ptr += "
\nArguments: "; +// ptr += server.args(); +// ptr += "
\n"; + for (uint8_t i = 0; i < server.args(); i++) { ptr += " " + server.argName(i) + ": " + server.arg(i) + "
\n"; } + if(server.method() == HTTP_GET){ + int n = WiFi.scanNetworks(false, true); + String ssid; + uint8_t encryptionType; + int32_t RSSI; + uint8_t* BSSID; + int32_t channel; + bool isHidden; + ptr += "
Home"; + ptr += "
"; + ptr +="\n\n"; + for (int i = 0; i < n; i++) + { + WiFi.getNetworkInfo(i, ssid, encryptionType, RSSI, BSSID, channel, isHidden); + ptr +="\n"; + } + + ptr += "
IDSSIDChannelRSSI
"+String(i + 1)+""+String(ssid.c_str())+""+String(channel)+""+String(RSSI)+"dBm"+String(encryptionType == ENC_TYPE_NONE ? "open" : "")+""+String(isHidden ? "hidden" : "")+"
\n"; + ptr += ""; + ptr += ""; + ptr += "
"; + }else{ + ptr += "

\n"; + if(server.args() != 4){ + ptr += "Missing Arguments
\n"; + ptr += "zurück\n"; + }else{ + String ssid; + String password; + for (uint8_t i = 0; i < server.args(); i++) { + if(server.argName(i) == "ssid"){ + ssid = server.arg(i); + } + if(server.argName(i) == "password"){ + password = server.arg(i); + } + } + ptr += "Connecting to "+ssid+"
\n"; + Serial.println("Connecting to "+ssid+", "+password+""); + WiFi.begin(ssid, password); + if(WiFi.waitForConnectResult() == WL_CONNECTED) + { + Serial.println(""); + Serial.println("WiFi connected."); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + preferences.begin("my-app", false); + preferences.putString("ssid", ssid); + preferences.putString("password", password); + preferences.end(); + ptr += "WiFi connected.
"; +// ptr += "IP address: "; +// ptr += WiFi.localIP(); + ptr += "
\n"; + } + else + { + Serial.println("WiFi Connection failed! Restarting in SoftAP mode instead"); + ptr += "WiFi Connection failed! Restarting in SoftAP mode instead
\n"; + WiFi.mode(WIFI_AP); + WiFi.softAP("Truhensteuerung", "12345678"); + Serial.print("AP IP address: "); + Serial.println(WiFi.softAPIP()); + //ptr += "AP IP address: "; + //ptr += WiFi.softAPIP(); + ptr += "
\n"; + } + // Print local IP address and start web server + ptr += "

\n"; + } + } + server.send(200, "text/html", ptr); + +} +void handleRoot(){ + String ptr = header; + ptr += "Setup Wifi"; + ptr +="\n\n"; + for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { + ptr +="\n\n\n\n\n"; + } + ptr += "
NameTempStatus
"; + ptr +=truhen[i].getName(); + ptr +=""; + ptr +=String(truhen[i].getCurTemp())+"℃"; + ptr +=""; + if (truhen[i].getStat() == -1) { + ptr +="Nicht bekannt"; + } + else if (truhen[i].getStat() == 1) { + ptr +="An"; + } + else if (truhen[i].getStat() == 0) { + ptr +="Aus"; + } + else if (truhen[i].getStat() == 2) { + ptr +="Error"; + } + ptr += "
\n"; + ptr +="\n"; + ptr +="\n"; + server.send(200, "text/html", ptr); +} +void handleNotFound() { + String message = "File Not Found\n\n"; + message += "URI: "; + message += server.uri(); + message += "\nMethod: "; + message += (server.method() == HTTP_GET) ? "GET" : "POST"; + message += "\nArguments: "; + message += server.args(); + message += "\n"; + for (uint8_t i = 0; i < server.args(); i++) { message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; } + server.send(404, "text/plain", message); +} + +void WifiSetup() { + preferences.begin("my-app", false); + ssid = preferences.getString("ssid", ssid); + password = preferences.getString("password", password); + preferences.end(); + + WifiConnect(ssid, password); + server.on("/setup",handleWifiSetup); + server.on("/",handleRoot); + + server.begin(); +}; -- 2.47.2 From b405bcee79fddb7c1e3a5c6085448a5146a81327 Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Tue, 12 Jul 2022 23:45:40 +0200 Subject: [PATCH 16/17] OTA Updater --- Webserver.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Webserver.h b/Webserver.h index 2bb8bbb..18ae631 100644 --- a/Webserver.h +++ b/Webserver.h @@ -1,9 +1,11 @@ // Load Wi-Fi library #include #include +#include #include Preferences preferences; ESP8266WebServer server(80); +ESP8266HTTPUpdateServer httpUpdater; String header = " \n" "\n" "Truhensteuerung\n" @@ -175,6 +177,7 @@ void WifiSetup() { preferences.end(); WifiConnect(ssid, password); + httpUpdater.setup(&server); server.on("/setup",handleWifiSetup); server.on("/",handleRoot); -- 2.47.2 From 94e6dd5750042b65f9d659c5c02f5285fc78a5ad Mon Sep 17 00:00:00 2001 From: Simon Zeyer Date: Tue, 12 Jul 2022 23:55:27 +0200 Subject: [PATCH 17/17] tidyup, remove old dht lib --- Steuerung_Truhen.ino | 5 +---- Truhe.cpp | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Steuerung_Truhen.ino b/Steuerung_Truhen.ino index 7e861f2..7da2ed0 100644 --- a/Steuerung_Truhen.ino +++ b/Steuerung_Truhen.ino @@ -1,5 +1,3 @@ -#include //Setup Sensoren - #include //Setup LCD #include LiquidCrystal_I2C lcd(0x3F,16,2); //0x3F = Adresse des Displays @@ -37,7 +35,6 @@ void setup() { } wdt_enable(WDTO_4S); // Watchdog auf 4 s stellen WifiSetup(); - delay(3000); Serial.println("Setup fi"); } @@ -67,7 +64,7 @@ void loop() { for (int i = 0; i < (sizeof(truhen) / sizeof(truhen[0])); i++) { //LCD-Anzeige lcd.setCursor(0, i); //...(Zeichen,Zeile); - lcd.print(truhen[i].getName() + " " + String(truhen[i].getUpdLcd())); + lcd.print(truhen[i].getName()); lcd.setCursor(8, i); lcd.print(" "); diff --git a/Truhe.cpp b/Truhe.cpp index ee29252..35df94f 100644 --- a/Truhe.cpp +++ b/Truhe.cpp @@ -35,7 +35,7 @@ void Truhe::mess() { }; void Truhe::schalt(int oT, int uT) { - Serial.print(String(_name) + " schalt() stat: " + String(_stat)); + Serial.println(String(_name) + " schalt() stat: " + String(_stat)); if (_cur_temp >= oT && _stat != 1 && _stat != 2) { digitalWrite(_relay, LOW); _stat = 1; -- 2.47.2