Der Haupttab (Esp8266 WebServer) und der Ordner (mit allen Tabs) müssen unbedingt den selben Namen haben.
Als Haupttab bezeichne ich den Tab der "setup()" und "loop()" enthält.
Esp8266 WebServer Tab
Der Webserver ist der erste Tab, auf dem sich alles aufbauen lässt.
Inklusive Arduino OTA um Updates online zum ESP8266 zu senden.
Mit dem Login Manager für deine ESP8266 Projekte brauchst du die Netzwerk-Zugangsdaten (SSID und Passwort)
nicht mehr fest codieren.
Eingabe der Zugangsdaten mittels Captive Portal. Es wird ein Access-Point mit dem Namen "EspConfig" erstellt.
Die Zugangsdaten werden nicht menschenlesbar im Dateisystem gespeichert.
Dies ist die Klassiche Version, bei jedem schalten wird die komplette Webseite neu gesendet.
Um die Webseite im Browsers aufzurufen gib die IP deines ESP gefolgt von "/led" ein. zB.:
"http://192.168.179.44/led"
Auf der Webseite werden automatisch die Bezeichnungen der Schaltflächen die du im Sketch unter "NAME[]" einträgst angezeigt.
Diese Namen werden nur beim ersten Aufruf der Webseite zum Browser gesendet und anschließend aus dem Local Storage gelesen.
Die Html Datei muss im Filesystem des Esp gespeichert werden.
Sollte die Anzahl der Ds18b20 Sensoren nicht mit der der Adressen übereinstimmen, wird Fehler angezeigt.
............................................
Esp8266 BME280 Tab
Die Klimadaten werden zur Anzeige auf der Webseite jede Sekunde aktuallisiert.
Die Messwerte werden mittels Javascript "Fetch.Api" zum Browser übertragen.
Es ist auch Möglich zwei Esp.. mit Bme280 Sensor auf einer Webseite darstellen.
Sollte der Bme280 Sensor nicht gefunden werden, wird Fehler angezeigt.
............................................
Esp8266 mit zwei BME280 Tab
Zwei BME280 mit der selben I2C Adresse lassen sich, dank "Pin mapping", mit dem Esp8266 auslesen.
Beide Sensoren werden jede Sekunde nacheinander abgefragt.
Entgegen allem was ich bis jetzt über den I2C Bus gelesen habe, hängt der Aussensensor erfolgreich an
einem 5 Meter langen Anschlußkabel.
Die Html Datei muss im Filesystem des Esp gespeichert werden.
............................................
Esp8266 Dual Relais Tab
2-Kanal Relais schalten ohne die Webseite zu erneuern. Dazu brauchst du kein JQuery oder Ajax.
Der Tab Dual Relais ist für LOW und HIGH aktive Relais, Solid State Relais oder Mosfet geeignet. Dies muss
vor dem Hochladen einmalig im Tab eingestellt werden.
Der Schaltzustand der Relais wird beim öffnen der Webseite eingelesen.
Der Buttontext und die Kontrolleuchten werden bei jedem Schalten aktualisiert.
Die Webseite inklusive animierte SVG-Grafik zur Anzeige der Helligkeit.
ESP8266 Filesystem Manager
LittleFS Upload Download Delete von Dateien von einer HTML-Seite
Füge die "LittleFS.ino", vorzugsweise als Tab, zu deinem Webserver Sketch hinzu und rufe anschliesend
unter Angabe der IP deines Esp8266 die fs.html über die Adresszeile deines Browsers auf.
Die Sortierung der Dateien ist mittels Klick auf den Pfeil im untersten Listeneintrag möglich.
............................................
ESP8266 Datei Manager
Spiffs sollte nicht mehr verwendet werden!
Spiffs Upload Download Delete von Dateien von einer HTML-Seite
Füge die "spiffs.ino", vorzugsweise als Tab, zu deinem Webserver Sketch hinzu und rufe anschliesend
unter Angabe der IP deines Esp8266 die spiffs.html über die Adresszeile deines Browsers auf.
Beispielsweise so "http://192.168.179.44/spiffs.html"
Wenn sich im Spiffs (Speicher) des Esp8266 noch keine "spiffs.html" befindet wird ein kleiner Helfer zu
deinen Browser gesendet mit dem du die "spiffs.html" und die "style.css" hochladen kannst.
Hast du die "spiffs.html" erfolgreich in den Speicher deines Esp8266 geladen siehst du die Esp8266 Datei
Verwaltung.
Jetzt kannst du loslegen. Upload Download Delete Html CSS usw. hochladen LOG Dateien
einsehen/runterladen.
Die Sortierung der Dateien ist mittels Klick auf den Pfeil im untersten Listeneintrag möglich.
Der Dateiname dient gleichzeitig als Link zur Seite bzw. zur Ansicht (Textdatei) im Browser.
Es ist nicht möglich Dateien hochzuladen, die größer sind als der noch verfügbare Speicher.
Eine gute Erklärung für die notwendige Begrenzung findest du auf
Ullis Roboter Seite.
Getestet von 1 MB bis 16 MB Flash. Getestet mit Nodmcu, Wemos D1 Mini Pro, Sonoff Switch, Sonoff Dual
SMTP2GO Free hat ein Limit von 25 E-Mails pro Stunde / 1.000 E-Mails pro Monat.
Deshalb die Funktion "sendmails();" niemals unlimitiert aufrufen.
Die Serverantwort von smtp2go.com, ob die Übertragung erfolgreich war, wird nicht blockierend
ausgewertet.
Bei Zeitüberschreitung wird eine Fehlermeldung gesendet.
............................................
Esp8266 UDP Unicast Tab
Senden und empfangen von Nachrichten per UDP.
Unicast ist der Informationsfluss zwischen nur zwei Netzteilnehmern.
Das Sonoff Dual mit zwei integrierten Relais benutze ich zum schalten meiner Aussenbeleuchtung.
Mit integrierten Betriebsstundenzähler seperat für jeden LED Fluter.
Sonoff flashen
Arduino IDE unter Werkzeuge einstellen.
Board: "Generic ESP8266 Module"
Flash Size: "(1M 128k SPIFFS)"
alle anderen beibehalten
Die erste Programmierung des Sonoff Dual erfolgt mittels eines USB to TTL Serial Adapter, der für 3.3V
geeignet ist.
Danach über Arduino OTA.
Der Wlan-Präsenzmelder kann bei Abwesenheit aller Personen als Anwesenheitssimulator mittels einer Lichtquelle verwendet werden.
Oder spezielle Funktionen der Heizung und/oder Lüftung bei Anwesenden Personen auslösen.
............................................
Esp8266 DHT22 Tab
Temperatur Luftfeuchte Taupunkt Hitzeindex
Die Klimadaten werden zur Anzeige auf der Webseite aller zwei Sekunden aktuallisiert.
Funktioniert erst ab Arduino Core Version 2.4.0 aufwärts.
Füge die "admin.ino", vorzugsweise als Tab, zu deinem Webserver Sketch hinzu und lade anschliesend
mit Hilfe der Esp8266 Dateiverwaltung die admin.html in das Filesystem.
Die Spiffs.ino ist zum ausführen der Admin.ino erforderlich.
Die "Admin.ino" funktioniert jetzt auch mit Linux. Danke an Gerhard für die freundliche Unterstüzung.
Zeitzone auswählen und durch einen Mausklick ausserhalb der Liste übernehmen.
Bitte beachte das die Sommerzeit für Asia/Tehran nicht angezeigt wird.
Wahrscheinlich werden die Julianischen Tagesnummern in dieser Zone nicht interpretiert.
Die Lokalzeit.ino ist für die Zeitschaltuhr erforderlich
Der Sketch Zeitschaltuhrdual ist für LOW und HIGH aktive Relais, Solid State Relais oder Mosfet geeignet.
Dies muss vor dem Hochladen einmalig im Sketch, im Tab Zeitschaltuhr.ino, eingestellt werden. Es lassen sich
bis zu 8 Ein-/Aus-Programme pro Gerät einstellen.
Die Anzahl der Schaltprogramme muss im Sketch analog der Anzahl im Html Dokument eingestellt sein!
Die optische Schaltzustandsanzeige ist gleichzeitig der Button zum manuellen Ein-/Ausschalten der Ausgänge.
Windgeschwindigkeit- und Richtung mit Fifo Puffer für die Anzeige der maximalen und durchschnittlichen Geschwindigkeit der Stunde, des Tages und der Woche.
Der AHT10 ist ein digitaler Sensor zur Messung der Temperatur und Luftfeuchte. Er wird über den I2C-Bus angesprochen. Der Messbereich liegt zwischen -40°C bis +85°C und 0% bis 100%.
mir ist aufgefallen, dass der Tab "Esp8266 Login Manager mit Captive Portal" nur bis 9, statt bis 29 zählt bis er den AP startet.
Gruß Daniel
Antwort:
"WiFi.status() == WL_NO_SSID_AVAIL"
Was hast du erwartet?
Gruß Fips
Bernd ❘ 27.11.2021
Sorry, es ging in meiner Frage um das Capitve Portal..
Antwort:
Danke für den Hinweis, ich habe den Tab entsprechend angepasst.
Gruß Fips
Bernd ❘ 27.11.2021
Hallo Fips,
ich habe das Webserver ino installiert und bin auf folgendes Problem gestoßen:
Gibt man ein falsches PW aber das korrekte ssid ein, hängt sich das System auf und man kann nur noch neu "aufspielen"
Grund scheint der Aufruf ESP.restart im Void connectWifi zu sein.
Ich habe dort nun statt dessen den dns erneut aufgerufen:
Nun wird der AP bei fehlerhaftem connect erneut gestartet.
Wenn das Wifi ausfällt wird dann ebenfalls ein AP gestartet aber nach 5min wird sich wenn das Wifi wieder da ist erneut connectet:
Ist das so ok? oder gäbe es eine elegantere Lösung ?
Grüße Bernd
Antwort:
Ein falsches PW oder wenn es im Router geändert wurde hatte ich nicht auf dem Schirm.
Gruß Fips
georg ❘ 17.11.2021
hallo Fips,
ich verwende bereits einige von Deinen tabs, einfach super! Frage: kann man den tab "Esp8266 Connect Mixed Mode Tab" auch für ESP32 nutzen? Wenn nicht, kann man das normale connest zuerstt starten und wenn kein netz gefunden wird das mit dem AP?
Antwort:
Vermutlich kann man es für den Esp32 anpassen.
Gruß Fips
Fuppes ✪ ✪ ✪ ❘ 13.10.2021
Hallo Fips,
In der ESP8266 Sammlung schleiche ich nun schon ewig um den Sonnenauf/untergang herum und komme mit meinem begrenzten Wissen auf keinen Grünen zweig wie ich die Zeitschaltuhr um Sonnenauf bzw untergang erweitern kann. Das die Zeiten in einer Struktur landen hats mir dann endgültig besorgt =)
Gibts einen Heißen Tipp, wie man eine Zeit der Zeitschaltuhr über die Sonnenzeiten steuern kann?
gruß
Fuppes
Antwort:
In der Esp8266 Zeitschaltuhr Singel ist es integriert.
Dort kannst du es dir anschauen.
Gruß Fips
mat-sche ✪ ✪ ✪ ❘ 01.08.2021
Hi Fips,
da ich die Ausgabe compiliert bekommen habe, hatte ich gehofft, dass es so geht. Leider fehlgedacht
Danke mit dem Tip zum JSon-Objekt, das heisst für mich, dass ich die Werte:
hlw8012.getVoltage()
hlw8012.getCurrent()
in die richtige Form bringen muss. Aber wie nur, also vom Wert double zu char oder in einen String? Welches Format würdest Du nehmen? Es ist nicht immer einfach heraus zu bekommen, was es für ein Rückgabewert es ist und wie dieser zu behandeln ist.
Um welche Art von Werten handelt es sich bei denen im Admin-Tab, im String temp?
Die Variable Test war eine Zahl, formatiert als Double, für mich als nicht nachvollziehbar wurde sie mir aber im Admin-Tab richtig angezeigt.
"Warum fügst du kein "Serial.print(temp);" in deinen Sketch ein?"
Das habe ich gemacht und ich habe ja Werte angezeigt bekommen, was mich dann zum Nachdenken und dem "Hilferuf" brachten.
Leider würde ich mehr Zeit der Sache widmen, nur Leider geht es zur Zeit nicht und deshalb frag ich einwenig mehr...
Gruß MAT
Antwort:
Wenn dein Json valide ist, brauchst du den Fehler nicht im Sketch suchen!
Zeit ist ein knappes Gut. Man kann ausschließlich den unterschiedlichen Lebenskomponenten Zeit zuteilen. Zeit in Dinge investieren, die einem wichtig sind.
Die letzten Werte nachder "sdkVersion" sollen angezeigt werden, mein Browser sagt nur "undefiniert" für die Werte an.
Setze ich die Werte jedoch an einer anderen Stelle ein, werde sie mir korekt angezeigt.
Die Erweiterungen habe ich in der .ino sowohl auch in der HTML Seite "admin" vergleichbar zu den anderen Werten abgeändert.
Könntest Du mir bitte weiterhelfen bzw. erklären wie der "String temp" zusammengesetzt wird bzw. die Voraussetzungen klären.
Vielen Dank und Gruß MAT
Antwort:
Ich habe mal versucht die fehlenden Informationen im Netz zu finden.
hlw8012.getVoltage() liefert ein unsigned int zurück.
hlw8012.getCurrent() liefert ein double zurück.
Nur, was Test ist und was dessen Inhalt ist fand ich nirgends.
Im Kommentar der nachfolgenden Codezeile steht doch was es ist.
server.send(200, "application/json", temp); // Json als Objekt
Wie Json zusammengesetzt wird steht im Netz.
Die exakte Spezifikation steht in RFC 8259 oder ECMA-404.
Warum fügst du kein "Serial.print(temp);" in deinen Sketch ein?
Ein JSON Validator im Netz zeigt dir dann ob dein Json valide ist.
Gruß Fips
Arno ✪ ✪ ✪ ❘ 05.06.2021
Hallo Fips,
erstmal find ich Toll wieviel Arbeit du dir gemacht hast.
Leider hab ich da ein Probleem, und ich hoffe du kannst mir helffen
Ich habe mir einen Sketch mit dem Webserver,+Tab DHT22,+Tab Loginmanager,+ Tab little.fs.
später soo das ganze mit einem MQQT Manager erweitert werden.(IP-Adresse Broker, Benutzername,Passwort).
Beim Kompilieren, schlägt Arduino immer bei
"top: 0.22em" auf ""exit status 1
exponent has no digits"" Ich nutze IDE 1.8.15 ESP 3.0.0
Das habe ich auf der Webserverseite eingefügt:
#include "DHTesp.h" // Version 1.0.9 https://github.com/beegee-tokyo/DHTesp
const byte DHT_PIN = 13; // Pin für DHT22 einstellen
DHTesp dht;
Wo könnte mein Fehler liegen????
Gruß Arno
Antwort:
Dann wirst du irgendwo die CSS Anweisung "top: 0.22em" im Sketch haben.
In meinen Tab's kann ich das nicht finden.
Gruß Fips
Bernd666 ❘ 02.06.2021
Moin Fips,
in der NTPUpdateDemo.ino gibt es einen Linkerfehler.
Original ist: extern uint32_t sntp_real_timestamp; // Variable enthält den Unix Zeitstempel
Nach entfernen von "extern" ist alles gut. Programm funktioniert dann auch.
73 de Bernd
Antwort:
Ich schließe daraus, das du schon CoreVersion 3.0.0 verwendest!
Mit 2.7.4 funktioniert es bei mir noch.
Werde ich anpassen!
Danke!
Gruß Fips
mat-sche ✪ ✪ ✪ ❘ 16.05.2021
Hallo Fips,
Puuh mit Json habe ich mich noch nicht beschäftigt. Ich habe auf unterschiedlichster Weise versucht zu verstehen, wie unter Arduino oder c++ Zeichenketten zusammengesetzt werden. Dann habe ich in Deinem Code Beispiele dafür gefunden und versucht, diese umzubauen. Wie funktioniert es mit dem maskieren, nach welchen Regeln muss ich meine Infos zusammensetzen? Und mit welche Art von Daten funktioniert das System?
Antwort:
Wie man in C++ maskiert oder was Json zu leisten vermag, kann man Googlen!
Zusammensetzen würde ich die Daten immer so wie sie sich nach der Übertragung am besten auswerten lassen.
mir ist aufgefallen, dass der Tab "Esp8266 Login Manager mit Captive Portal" nur bis 9, statt bis 29 zählt bis er den AP startet.
Gruß Daniel
Antwort:
"WiFi.status() == WL_NO_SSID_AVAIL"
Was hast du erwartet?
Gruß Fips
Antwort:
Danke für den Hinweis, ich habe den Tab entsprechend angepasst.
Gruß Fips
ich habe das Webserver ino installiert und bin auf folgendes Problem gestoßen:
Gibt man ein falsches PW aber das korrekte ssid ein, hängt sich das System auf und man kann nur noch neu "aufspielen"
Grund scheint der Aufruf ESP.restart im Void connectWifi zu sein.
Ich habe dort nun statt dessen den dns erneut aufgerufen:
dnsServer.start(DNS_PORT, "*", apIP);
server.on("/wifisave", HTTP_POST, handleWifiSave);
server.onNotFound(handleRoot);
Nun wird der AP bei fehlerhaftem connect erneut gestartet.
Wenn das Wifi ausfällt wird dann ebenfalls ein AP gestartet aber nach 5min wird sich wenn das Wifi wieder da ist erneut connectet:
Ist das so ok? oder gäbe es eine elegantere Lösung ?
Grüße Bernd
Antwort:
Ein falsches PW oder wenn es im Router geändert wurde hatte ich nicht auf dem Schirm.
Gruß Fips
ich verwende bereits einige von Deinen tabs, einfach super! Frage: kann man den tab "Esp8266 Connect Mixed Mode Tab" auch für ESP32 nutzen? Wenn nicht, kann man das normale connest zuerstt starten und wenn kein netz gefunden wird das mit dem AP?
Antwort:
Vermutlich kann man es für den Esp32 anpassen.
Gruß Fips
In der ESP8266 Sammlung schleiche ich nun schon ewig um den Sonnenauf/untergang herum und komme mit meinem begrenzten Wissen auf keinen Grünen zweig wie ich die Zeitschaltuhr um Sonnenauf bzw untergang erweitern kann. Das die Zeiten in einer Struktur landen hats mir dann endgültig besorgt =)
Gibts einen Heißen Tipp, wie man eine Zeit der Zeitschaltuhr über die Sonnenzeiten steuern kann?
gruß
Fuppes
Antwort:
In der Esp8266 Zeitschaltuhr Singel ist es integriert.
Dort kannst du es dir anschauen.
Gruß Fips
da ich die Ausgabe compiliert bekommen habe, hatte ich gehofft, dass es so geht. Leider fehlgedacht
Danke mit dem Tip zum JSon-Objekt, das heisst für mich, dass ich die Werte:
hlw8012.getVoltage()
hlw8012.getCurrent()
in die richtige Form bringen muss. Aber wie nur, also vom Wert double zu char oder in einen String? Welches Format würdest Du nehmen? Es ist nicht immer einfach heraus zu bekommen, was es für ein Rückgabewert es ist und wie dieser zu behandeln ist.
Um welche Art von Werten handelt es sich bei denen im Admin-Tab, im String temp?
Die Variable Test war eine Zahl, formatiert als Double, für mich als nicht nachvollziehbar wurde sie mir aber im Admin-Tab richtig angezeigt.
"Warum fügst du kein "Serial.print(temp);" in deinen Sketch ein?"
Das habe ich gemacht und ich habe ja Werte angezeigt bekommen, was mich dann zum Nachdenken und dem "Hilferuf" brachten.
Leider würde ich mehr Zeit der Sache widmen, nur Leider geht es zur Zeit nicht und deshalb frag ich einwenig mehr...
Gruß MAT
Antwort:
Wenn dein Json valide ist, brauchst du den Fehler nicht im Sketch suchen!
Zeit ist ein knappes Gut. Man kann ausschließlich den unterschiedlichen Lebenskomponenten Zeit zuteilen. Zeit in Dinge investieren, die einem wichtig sind.
Gruß Fips
ich suche die ganze Zeit aber ich findde meinen Fhler nicht, vielleicht auch aus Unwissenheit.
Ich möchte in dem Admin-Tab weitere Werte aus meinem Programm anzeigen lassen, nur leider funktioniert meine Erweiterung nicht:
String temp = "{\"File\":\"" + sketchName() + "\", \"Build\":\"" + __DATE__ + " " + __TIME__ + "\", \"SketchSize\":\"" + formatBytes(ESP.getSketchSize()) +
"\", \"SketchSpace\":\"" + formatBytes(ESP.getFreeSketchSpace()) + "\", \"LocalIP\":\"" + WiFi.localIP().toString() + "\", \"IPv6l\":\"" + ipv6Local +
"\", \"IPv6g\":\"" + ipv6Global + "\", \"Hostname\":\"" + WiFi.hostname() + "\", \"SSID\":\"" + WiFi.SSID() + "\", \"GatewayIP\":\"" + WiFi.gatewayIP().toString() +
"\", \"Channel\":\"" + hlw8012.getCurrent() + "\", \"MacAddress\":\"" + WiFi.macAddress() + "\", \"SubnetMask\":\"" + Test +
"\", \"BSSID\":\"" + WiFi.BSSIDstr() + "\", \"ClientIP\":\"" + server.client().remoteIP().toString() + "\", \"DnsIP\":\"" + WiFi.dnsIP().toString() +
"\", \"ResetReason\":\"" + ESP.getResetReason() + "\", \"CpuFreqMHz\":\"" + F_CPU / 1000000 + "\", \"FreeHeap\":\"" + formatBytes(ESP.getFreeHeap()) +
"\", \"HeapFrag\":\"" + ESP.getHeapFragmentation() + "\", \"ChipSize\":\"" + formatBytes(ESP.getFlashChipSize()) +
"\", \"ChipSpeed\":\"" + ESP.getFlashChipSpeed() / 1000000 + "\", \"ChipMode\":\"" + flashChipMode[ESP.getFlashChipMode()] +
"\", \"IdeVersion\":\"" + ARDUINO + "\", \"CoreVersion\":\"" + ESP.getCoreVersion() + "\", \"SdkVersion\":\"" + ESP.getSdkVersion() +
"\", \"E_MonVoltage(V)\":\"" + hlw8012.getVoltage() + "\", \"E_MonCurrent(A)\":\"" + hlw8012.getCurrent() + "\", \"E_MonPower(W)\":\"" + Test + "\"}";
Die letzten Werte nachder "sdkVersion" sollen angezeigt werden, mein Browser sagt nur "undefiniert" für die Werte an.
Setze ich die Werte jedoch an einer anderen Stelle ein, werde sie mir korekt angezeigt.
Die Erweiterungen habe ich in der .ino sowohl auch in der HTML Seite "admin" vergleichbar zu den anderen Werten abgeändert.
Könntest Du mir bitte weiterhelfen bzw. erklären wie der "String temp" zusammengesetzt wird bzw. die Voraussetzungen klären.
Vielen Dank und Gruß MAT
Antwort:
Ich habe mal versucht die fehlenden Informationen im Netz zu finden.
hlw8012.getVoltage() liefert ein unsigned int zurück.
hlw8012.getCurrent() liefert ein double zurück.
Nur, was Test ist und was dessen Inhalt ist fand ich nirgends.
Im Kommentar der nachfolgenden Codezeile steht doch was es ist.
server.send(200, "application/json", temp); // Json als Objekt
Wie Json zusammengesetzt wird steht im Netz.
Die exakte Spezifikation steht in RFC 8259 oder ECMA-404.
Warum fügst du kein "Serial.print(temp);" in deinen Sketch ein?
Ein JSON Validator im Netz zeigt dir dann ob dein Json valide ist.
Gruß Fips
erstmal find ich Toll wieviel Arbeit du dir gemacht hast.
Leider hab ich da ein Probleem, und ich hoffe du kannst mir helffen
Ich habe mir einen Sketch mit dem Webserver,+Tab DHT22,+Tab Loginmanager,+ Tab little.fs.
später soo das ganze mit einem MQQT Manager erweitert werden.(IP-Adresse Broker, Benutzername,Passwort).
Beim Kompilieren, schlägt Arduino immer bei
"top: 0.22em" auf ""exit status 1
exponent has no digits"" Ich nutze IDE 1.8.15 ESP 3.0.0
Das habe ich auf der Webserverseite eingefügt:
#include "DHTesp.h" // Version 1.0.9 https://github.com/beegee-tokyo/DHTesp
const byte DHT_PIN = 13; // Pin für DHT22 einstellen
DHTesp dht;
Wo könnte mein Fehler liegen????
Gruß Arno
Antwort:
Dann wirst du irgendwo die CSS Anweisung "top: 0.22em" im Sketch haben.
In meinen Tab's kann ich das nicht finden.
Gruß Fips
in der NTPUpdateDemo.ino gibt es einen Linkerfehler.
Original ist: extern uint32_t sntp_real_timestamp; // Variable enthält den Unix Zeitstempel
Nach entfernen von "extern" ist alles gut. Programm funktioniert dann auch.
73 de Bernd
Antwort:
Ich schließe daraus, das du schon CoreVersion 3.0.0 verwendest!
Mit 2.7.4 funktioniert es bei mir noch.
Werde ich anpassen!
Danke!
Gruß Fips
Puuh mit Json habe ich mich noch nicht beschäftigt. Ich habe auf unterschiedlichster Weise versucht zu verstehen, wie unter Arduino oder c++ Zeichenketten zusammengesetzt werden. Dann habe ich in Deinem Code Beispiele dafür gefunden und versucht, diese umzubauen. Wie funktioniert es mit dem maskieren, nach welchen Regeln muss ich meine Infos zusammensetzen? Und mit welche Art von Daten funktioniert das System?
Antwort:
Wie man in C++ maskiert oder was Json zu leisten vermag, kann man Googlen!
Zusammensetzen würde ich die Daten immer so wie sie sich nach der Übertragung am besten auswerten lassen.
Gruß Fips