diff --git a/include/error.h b/include/error.h new file mode 100644 index 0000000..8cf8ed2 --- /dev/null +++ b/include/error.h @@ -0,0 +1,37 @@ +#include + +#include + +#define AkkuLeer 0x80 + +void ErrorBegin(){ + if (!LittleFS.begin()) { + Serial.println("LittleFS mount failed"); + delay(5000); + return; + } +} + + +void datenSave(int wert){ + File k = LittleFS.open("/error.dat", "w"); + if(!k){ + Serial.println("file open failed"); + } + k.write(wert); + k.close(); +} + +int readDaten() +{ + int Error; + File k = LittleFS.open("/error.dat", "r"); + if(!k){ + Serial.println("file open failed"); + Error = 255; + }else{ + Error = k.read(); + k.close(); + } + return Error; +} \ No newline at end of file diff --git a/include/mcp9808.h b/include/mcp9808.h index d9fb28a..e109193 100644 --- a/include/mcp9808.h +++ b/include/mcp9808.h @@ -29,7 +29,6 @@ void init_MCP9808(){ // 1 1 1 0x1F if (!tempsensor.begin(0x18)) { Serial.println("Couldn't find MCP9808! Check your connections and verify the address is correct."); - datenSave(-20); while (1); } Serial.println("Found MCP9808!"); diff --git a/include/mess_BMP280.h b/include/mess_BMP280.h index be1926b..60b2b2d 100644 --- a/include/mess_BMP280.h +++ b/include/mess_BMP280.h @@ -4,7 +4,7 @@ #include -#define SEALEVELPRESSURE_HPA (1002.7) // 1013.25 +#define SEALEVELPRESSURE_HPA (1013.25) // 1013.25 // Richen 219 m über NN // Eppingem 195 m über NN diff --git a/platformio.ini b/platformio.ini index 17956c1..a267eff 100644 --- a/platformio.ini +++ b/platformio.ini @@ -38,7 +38,7 @@ build_flags = ${env.build_flags} -DNOADS=0 -DNAME=\"WETTERSTATIONBORIS\" -DSTASSID=\"St.-Peters-Gasse\" - -DSTAPSK=\"1952994784599319\" + -DSTAPSK=\"1952994784599317\" -DGATEWAY=\"192.168.127.1\" -DDNS=\"192.168.127.1\" -DKMYIP=\"192.168.127.49\" diff --git a/src/main.cpp b/src/main.cpp index 124ce89..36806c6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,5 @@ #include #include //this needs to be first, or it all crashes and burns... -#include #include #include //https://github.com/esp8266/Arduino #include @@ -14,10 +13,7 @@ void reconnect(); void setup_wifi(); -void datenSave(int wert); -int readDaten(); -int saveKorektur(float wert); -float readKorectur(); + void verifyFingerprint(); void callback(char* topic1, byte* payload, unsigned int length); void pulse_pin(uint8_t pin); @@ -35,6 +31,8 @@ PubSubClient client(espClient); #include +#include + const char* ssid = STASSID; const char* password = STAPSK; @@ -72,39 +70,17 @@ int SystemStatus; void setup() { - pinMode(TRIGGER_PIN, OUTPUT); - pinMode(START_STOP_PIN, OUTPUT); - digitalWrite(TRIGGER_PIN, HIGH); - digitalWrite(START_STOP_PIN, LOW); - pulse_pin(TRIGGER_PIN); // ==> 1 + startTime = millis(); Serial.begin(74880); while ( !Serial ) delay(100); // wait for native usb - Serial.println(F("BMP280 Sensor event test")); - Serial.println("HTU21D-F test"); - startTime = millis(); WiFi.mode( WIFI_OFF ); WiFi.forceSleepBegin(); - pulse_pin(TRIGGER_PIN); // ==> 1 Serial.println(); - //Serial.println("Testpunkt 1"); - /* if (!LittleFS.begin()) { - Serial.println("LittleFS mount failed"); - delay(5000); - return; - } */ - //Serial.println("Testpunkt 2"); - /* Dir dir = LittleFS.openDir("/data"); - while (dir.next()) { - Serial.print(dir.fileName()); - if(dir.fileSize()) { - File f = dir.openFile("r"); - Serial.println(f.size()); - } - } */ - //Serial.println("Testpunkt 3"); + Serial.println(); Serial.println(); Serial.println(); + delay(5000); //SystemStatus = readDaten(); //korectur = readKorectur(); //Serial.print("Korektur: "); Serial.println(korectur,6); @@ -116,7 +92,7 @@ void setup() { init_HTU21(); Init_BMP280(); //initADS(); - //init_MCP9808(); + init_MCP9808(); #endif AKKU = getBattery(); // ca. 170 ms // ca. 280 ms @@ -125,6 +101,7 @@ void setup() { } read_BMP_280(); //MessungADS(); + Serial.println("Testpunkt 4"); setup_wifi(); // ca. 4,5 s // ca. 12ms // --------------------------------- @@ -132,6 +109,7 @@ void setup() { //datenSave(0); // --------------------------------- //digitalWrite(BUILTIN_LED, HIGH); + datenSave(0x00); deviceId = ESP.getChipId(); sprintf(sID, "%010ld", deviceId); Serial.print("ID: \t\t"); Serial.println(deviceId); @@ -175,9 +153,7 @@ void loop() { delay(100); */ endTime = millis(); if (AKKU < MinimalSpannung){ - // --------------------------------- - // Status ändern !!! -5 - datenSave(-5); + // --------------------------------- Pause = intervalLowBatt -((endTime - startTime) * 1000); // Pause ca. 60 Minuten Serial.println("AKKU entladen!"); @@ -217,7 +193,7 @@ void setup_wifi() { delay( 1 ); WiFi.persistent( false ); WiFi.mode( WIFI_STA ); - //WiFi.setHostname(hostname.c_str()); //define hostname + WiFi.setHostname(hostname.c_str()); //define hostname WiFi.hostname(hostname.c_str()); WiFi.mode( WIFI_STA ); if (!ip.fromString(MyIP)) { // try to parse into the IPAddress @@ -278,12 +254,6 @@ void callback(char* topic1, byte* payload, unsigned int length) Serial.println(); korectur = atof(msg); Serial.print("Korektur:\t");Serial.println(korectur, 8); - int er = saveKorektur(korectur); - if (er != 0){ - Serial.println("Daten konnten nicht gespeichert werden."); - } - float test = readKorectur(); - Serial.print("Korektur:\t");Serial.println(test, 8); } } @@ -311,56 +281,9 @@ void reconnect() { } } -void datenSave(int wert){ - File k = LittleFS.open("/status.txt", "w"); - if(!k){ - Serial.println("file open failed"); - } - k.println(wert); - k.close(); -} -int readDaten() -{ - int Error; - File k = LittleFS.open("/status.txt", "r"); - if(!k){ - Serial.println("file open failed"); - Error = -10; - }else{ - String data = k.readString(); - Error = data.toInt(); - k.close(); - } - return Error; -} -int saveKorektur(float wert){ - int Error = 0; - File k = LittleFS.open("/Korektur.txt", "w"); - if(!k){ - Serial.println("file open failed"); - Error = -1; - }else{ - k.println(String(wert,8)); - k.close(); - } - return Error; -} -float readKorectur(){ - float Korektur; - File k = LittleFS.open("/Korektur.txt", "r"); - if(!k){ - Serial.println("file open failed"); - Korektur = 1.00; - }else{ - String data = k.readString(); - Korektur = data.toFloat(); - k.close(); - } - return Korektur; -} void verifyFingerprint() { unsigned long Pause = 0;