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%.
Ich verwende in dem Webserver den ADC und bekomme als Wert immer -1 also 65535 zurück.
Wenn ich ein ganz einfaches Programm benutze um den ADC auszulesen funktionert es.
Ich würde gerne Sensoren in dem Webserver einbinden aber sobald ich den ADC benutze funktionert es nicht mehr...
Antwort:
Vermutlich nutzt du im Admin-Tab den "ADC_MODE(ADC_VCC);".
Gruß Fips
JayJay ❘ 12.01.2023
Hallo ich finde die Projekte super. Leider verstehe ich noch nicht so viel von der Web Programmierung.
Wie kann ich die html Dateien in das Filesystem vom esp laden?
Wie binde ich die Tabs ein?
Vielen Dank im Voraus!
Antwort:
Indem du die IP deines Esp in die Adresszeile deines Browser eingibst.
Auf der Startseite links oben, gibt es die Erklärung zu den Tab's.
Gruß Fips
Ralf Steck ✪ ✪ ✪ ❘ 02.01.2023
Hallo, ist es möglich, die Dual Zeituhr um Sekunden zu erweitern? Ich bräuchte Schaltzeiten um Bereich 10-15 Sekunden.
Antwort:
Möglich ist es sicher, aber sicher nicht ganz einfach!
Gruß Fips
matschi_sh ✪ ✪ ✪ ❘ 15.06.2022
ich habe eine Temperaturanzeige mit Esp8266 DS18B20 Liste Tab gebaut,
nur auf der Webseite werden die Werte für die Temperaturfühler nicht so schön untereinander wie im Beispiel angezeigt, sondern alle in einer Zeile jeweils die Fühlernamen und in der 2ten Zeile die Temperarturwerte,
was ist da falsch?
Antwort:
Hast du die "style.css" eingebunden?
Gruß Fips
Micha W. ❘ 01.03.2022
Hallo
Danke fuer dein Hilfe, nun geht es endlich.
Wohin werden die Uhrzeiten fuer die Schaltzeiten gespeichert?
Ich konnte im Filesystem Manager nix finden.
VG Micha
Antwort:
Im Filesystem des Esp8266.
Gruß Fips
Manfred ❘ 21.02.2022
Hallo Fips,
als Neuling bin ich hier auf zum Thema Webserver/Acress-Point au deine Seite verwiesen worden. Als relativer Neieinsteiger komme ic mit Arduino und ESP8266 ganz gut klar, aber ich habe ein derzeit unlösbares Probelm:
Ich arbeite mit einem ESP8266-12F und einem SHT30. Ich habe es geschafft per "SSID-PW-Hardcoding" auf die FritzBox zu kommen (WiFi.begin(ssid, password) und per Browseraufruf den SHT-30 anzusprechen bzw. auszulesen. Klappt einwandfrei!
Das Problem ist: Ich möchte gerne den Webserver-Aufruf bzw. die SSID und Passwort selbst vergeben lassen, damit auch andere über Ihre eigene FritzBox die Werte (Temp. und Luftfeuchte) bzw. die Webseite des ESP8266 auslesen können. Beide Werte einer "fremden" FritzBox sind ja zunächst nicht bekannt.
Ich hoffe ich konnte mein Problem ausreichend beschreiben.
Lieben Dank und bleib egsund,
Manfred
Antwort:
Mit dem "Esp8266 Login Manager Tab" kann der Anwender es vom Browser aus eingeben.
Gruß Fips
georg ✪ ✪ ✪ ❘ 15.02.2022
hallo Fips,
ich versuche mich an dem "buttons tab". Die pinbezeichnungen, die mit:
"const uint8_t buttonPin[] {D2, D6, D7, D8};"
festgelegt werden, sind ja echte pins. Die werte der pins müssten eigentlich verändert werde können (LOW oder HIGH), oder?
Wenn ich versuche den wert zu ändern (mit z.b. "D0=LOW") kommt die fehlermeldung:
"assignment of read-only variable 'D0'"...
kann ich das irgendwie vermeiden? Oder geht das grundsätzlich nicht?
gruss & dank
georg
Antwort:
"D0" ist eine Konstante, die kannst du nicht ändern.
Beim "Nodemcu" oder "D1 Mini" ist D0 = 16.
Steht auch im Header des Tab's, so drin.
Gruß Fips
Micha W. ❘ 04.02.2022
Hallo Fips
Tolle Seite, richtig gut fuer ein Anfänger.
Ich wollte mich mal an der Zeit Schaltuhr versuchen. Ich hab den Webserver, Admin, LittelFS , Lokalzeit und die Zeitschaltuhr Singel Tab am laufen.
Beim Kompilieren kommt folgende Fehlermeldung:
zeitschaltuhr:146:55: error: expected primary-expression before '.' token
Hier komm ich nicht mehr weiter, hab ich irgendwas vergessen?
Vielen Dank für die hilfe.
Antwort:
Du hast offensichtlich die "Bare Minimum Version" der "Lokalzeit.ino" eingebunden.
Bei dieser Version findet die Definition der Struktur "struct tm tm;" innerhalb der Funktion "localTime()" statt.
Entweder du definierst die Struktur ausserhalb der Funktion oder nimmst die darunter folgende "Lokalzeit.ino".
Gruß Fips
Stefan ❘ 29.01.2022
Hallo Fips,
ich bin Neuling und finde nicht die korrekte Lib für den SPIFFS.h. Kannst du mir die bitte nennen?
Verwendet wird ein ESP8266
Vielen Dank!
ich habe folgendes Problem:
Ich verwende in dem Webserver den ADC und bekomme als Wert immer -1 also 65535 zurück.
Wenn ich ein ganz einfaches Programm benutze um den ADC auszulesen funktionert es.
Ich würde gerne Sensoren in dem Webserver einbinden aber sobald ich den ADC benutze funktionert es nicht mehr...
Antwort:
Vermutlich nutzt du im Admin-Tab den "ADC_MODE(ADC_VCC);".
Gruß Fips
Wie kann ich die html Dateien in das Filesystem vom esp laden?
Wie binde ich die Tabs ein?
Vielen Dank im Voraus!
Antwort:
Indem du die IP deines Esp in die Adresszeile deines Browser eingibst.
Auf der Startseite links oben, gibt es die Erklärung zu den Tab's.
Gruß Fips
Antwort:
Möglich ist es sicher, aber sicher nicht ganz einfach!
Gruß Fips
nur auf der Webseite werden die Werte für die Temperaturfühler nicht so schön untereinander wie im Beispiel angezeigt, sondern alle in einer Zeile jeweils die Fühlernamen und in der 2ten Zeile die Temperarturwerte,
was ist da falsch?
Antwort:
Hast du die "style.css" eingebunden?
Gruß Fips
Danke fuer dein Hilfe, nun geht es endlich.
Wohin werden die Uhrzeiten fuer die Schaltzeiten gespeichert?
Ich konnte im Filesystem Manager nix finden.
VG Micha
Antwort:
Im Filesystem des Esp8266.
Gruß Fips
als Neuling bin ich hier auf zum Thema Webserver/Acress-Point au deine Seite verwiesen worden. Als relativer Neieinsteiger komme ic mit Arduino und ESP8266 ganz gut klar, aber ich habe ein derzeit unlösbares Probelm:
Ich arbeite mit einem ESP8266-12F und einem SHT30. Ich habe es geschafft per "SSID-PW-Hardcoding" auf die FritzBox zu kommen (WiFi.begin(ssid, password) und per Browseraufruf den SHT-30 anzusprechen bzw. auszulesen. Klappt einwandfrei!
Das Problem ist: Ich möchte gerne den Webserver-Aufruf bzw. die SSID und Passwort selbst vergeben lassen, damit auch andere über Ihre eigene FritzBox die Werte (Temp. und Luftfeuchte) bzw. die Webseite des ESP8266 auslesen können. Beide Werte einer "fremden" FritzBox sind ja zunächst nicht bekannt.
Ich hoffe ich konnte mein Problem ausreichend beschreiben.
Lieben Dank und bleib egsund,
Manfred
Antwort:
Mit dem "Esp8266 Login Manager Tab" kann der Anwender es vom Browser aus eingeben.
Gruß Fips
ich versuche mich an dem "buttons tab". Die pinbezeichnungen, die mit:
"const uint8_t buttonPin[] {D2, D6, D7, D8};"
festgelegt werden, sind ja echte pins. Die werte der pins müssten eigentlich verändert werde können (LOW oder HIGH), oder?
Wenn ich versuche den wert zu ändern (mit z.b. "D0=LOW") kommt die fehlermeldung:
"assignment of read-only variable 'D0'"...
kann ich das irgendwie vermeiden? Oder geht das grundsätzlich nicht?
gruss & dank
georg
Antwort:
"D0" ist eine Konstante, die kannst du nicht ändern.
Beim "Nodemcu" oder "D1 Mini" ist D0 = 16.
Steht auch im Header des Tab's, so drin.
Gruß Fips
Tolle Seite, richtig gut fuer ein Anfänger.
Ich wollte mich mal an der Zeit Schaltuhr versuchen. Ich hab den Webserver, Admin, LittelFS , Lokalzeit und die Zeitschaltuhr Singel Tab am laufen.
Beim Kompilieren kommt folgende Fehlermeldung:
zeitschaltuhr:146:55: error: expected primary-expression before '.' token
Hier komm ich nicht mehr weiter, hab ich irgendwas vergessen?
Vielen Dank für die hilfe.
Antwort:
Du hast offensichtlich die "Bare Minimum Version" der "Lokalzeit.ino" eingebunden.
Bei dieser Version findet die Definition der Struktur "struct tm tm;" innerhalb der Funktion "localTime()" statt.
Entweder du definierst die Struktur ausserhalb der Funktion oder nimmst die darunter folgende "Lokalzeit.ino".
Gruß Fips
ich bin Neuling und finde nicht die korrekte Lib für den SPIFFS.h. Kannst du mir die bitte nennen?
Verwendet wird ein ESP8266
Vielen Dank!
Antwort:
https://github.com/esp8266/Arduino/blob/master/cores/esp8266/spiffs/spiffs.h
Spiffs ist veraltet, benutze besser LittleFS.h.
Gruß Fips
Electra likes it
Antwort:
Fein!
Gruß Fips