OK, Danke für die Vorschläge erstmal,
2. Mini + Lan würde aus Platzmangel schwer zu realisieren sein
Wemos bzw. irgendwas mit WLAN geht nicht da kein Wlan vorhanden.
Reset brauch ich eigentlich nicht, da intern ein "Fehlerzähler" läuft und wenn Fehler > XXX macht er eh Neustart.
merkwürdig, was ich aus der Ferne jetzt schon sehe, ich hab ja diesen "Fehlerzähler", der wird an 2 Stellen aufgerufen, könnte sich also im Fehlerfall maximal um 2 erhöhen pro Durchlauf, er erhöht sich aber teilweise um 7 ?????? Das ist ja schon sehr merkwürdig.
"werr" ist das um was es geht.....Auszug aus dem Sketch, die .......da ist nix was das Verhalten erklären könnte.
void loop()
{
//Laufzeit des Boards
currentTime = millis();
//Zeitfunktion aufrufen
uptime();
//Netzwerk
if (secs==00) { // Werte für Cam und Windsensor setzem
windtimer=windtimer+1; // Werte für Cam und Windsensor setzem
camtimer=camtimer+1; // Werte für Cam und Windsensor setzem
if (werr > 20) { wdt_enable(WDTO_2S); // bei häufig Wind Error neustart
delay (3000);
}
}
//alle 1 minuten winddaten messen und versenden
if (windtimer==1){
windtimer=0;
Winddaten();
}
}
void Winddaten()
{
....
....
....
whileTime = millis();
while(stat == HIGH){ // wait for falling edge (sync to startbit)
stat = digitalRead(senspin);
if (millis() > (whileTime) + 4000) { // wenn nach xxx Zeit nix kommt, aufhören sonst steht ewig hier
werr = werr + 1; // Error setzten
break; // raus hier
}
}
.....
.....
.....
.....
//wenn sinnlose Werte empfangen........
if ((header != 4) || (richtung > 15) || (windspeed > 500)) {
werr = werr + 1;
break;
} else {
......
......
......
}
}
}
void uptime()
{
secs = currentTime/1000; // convect milliseconds to seconds
mins=secs/60; // convert seconds to minutes
hours=mins/60; // convert minutes to hours
secs=secs-(mins*60); // subtract the coverted seconds to minutes in order to display 59 secs max
mins=mins-(hours*60); // subtract the coverted minutes to hours in order to display 59 minutes max
}
Könnte es sein das er so schnell durch "Winddaten" durch rauscht das die 1 Sekunde noch nicht um ist, somit "secs" immernoch 0 ist und er dadurch ein 2.mal direkt wieder da rein rauscht?
Das würde evtl. dann das Fehlverhalten erklären??
Könnte durch den UMTS Anbieterwechsel sein das er die Daten jetzt schneller los bekommt als vorher, denn eigentlich lief alles 1,5Jahre so ....