LED im Webbrowser schalten



Seite als PDF

Ziel des Projekts

Das Pro­gramm erstellt eine Web­sei­te, die mit der WiFi-Funk­ti­on der ESPs ange­zeigt wird. Ein Klick auf den But­ton schal­tet die LED.
Das Pro­gramm wur­de für den ESP32-Wroom geschrie­ben.
Pro­gram­me für ande­re Mikro­con­trol­ler fin­dest du hier

So sieht es im Brow­ser aus:

Der Schaltplan

(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Konfiguration der Mikrocontroller

Das Programm

Bibliotheken und Variable

Du musst die SSID (Ser­vice Set Iden­ti­fier) des Rou­ters und das Pass­wort anpas­sen.
Im Pro­gramm kannst du ent­schei­den, ob du dem Rou­ter die Ver­ga­be der IP-Adres­se mit DHCP über­las­sen willst (sta­tischeIP = fal­se) oder selbst eine IP-Adres­se fest­legst (sta­tischeIP = true).
Die auto­ma­ti­sche Ver­ga­be der IP-Adres­se bedeu­tet, dass sich die IP-Adres­se nach Ablauf der Gül­tig­keit ändern kann. Wenn das Pro­gramm an einem Netz­teil oder Akku betrie­ben wird, kannst du die modi­fi­zier­te IP-Adres­se nur noch in der Über­sicht des Heim­net­zes im Rou­ter fest­stel­len.

Die sta­ti­sche IP macht dich von der auto­ma­ti­schen Adress­ver­ga­be mit­tels DHCP unab­hän­gig, aller­dings musst du her­aus­fin­den, wel­cher Bereich der IP-Adres­sen vom Rou­ter reser­viert wird. Aus die­sem Bereich darfst du kei­ne IP-Adres­se wäh­len.

Tipp
Das Pro­gramm arp (Win­dows) und arp-scan (Linux) lis­tet die IP-Adres­sen auf:
Win­dows: arp -a
Linux: arp-scan -l
arp-scan Aus­ga­be Linux (Aus­schnitt)

Die benö­tig­ten Biblio­the­ken wer­den nach Archi­tek­tur des Mikro­con­trol­lers auto­ma­tisch aus­ge­wählt.

Der setup-Teil

Im set­up-Teil erhält der Mikro­con­trol­ler eine IP-Adres­se.
Je nach Zustand der Varia­ble sta­tischeIP wird sie dyna­misch vom Rou­ter ver­ge­ben oder sta­tisch fest­ge­legt.

IP-Adres­se mit DHCP
Sta­ti­sche IP

Die IP-Adres­se wird im Seri­el­len Moni­tor ange­zeigt, du musst sie in der Adress­zei­le eines Brow­sers dei­ner Wahl ein­ge­ben.
Der / bezeich­net die Web­adres­se (URL = Uni­form Resour­ce Loca­tor). Wird sie auf­ge­ru­fen, baut die Funk­ti­on Sei­te­Bau­en die Web­sei­te auf.

Die Funk­ti­on LED­Schal­ten schal­tet die LED ein oder aus.. Sie wird aus­ge­führt, wenn im Brow­ser an die IP-Adres­se /LEDSchalten ange­hängt wird.

Zu die­sem Zweck wird in der Funk­ti­on Sei­te­Bau­en ein Link erstellt. Sobald der But­ton ange­klickt wird, führt der Brow­ser die Funk­ti­on LED­Schal­ten aus.
Anfüh­rungs­zei­chen in einer Anwei­sung müs­sen mit \“ „mas­kiert“ wer­den.

Der voll­stän­di­ge set­up-Teil:

Die Funktion SeiteBauen

Sei­te­Bau­en erstellt die Web­sei­te mit einer Über­schrift und einem run­den But­ton. Je nach Zustand der Varia­ble LED­Sta­tus wird der But­ton mit wei­ßem oder gel­ben Hin­ter­grund dar­ge­stellt.
Die Varia­ble LED­Sta­tus ist eine Varia­ble vom Typ bool. Sie kennt zwei Zustän­de: true (LED ist ein­ge­schal­tet) oder fal­se (LED ist aus­ge­schal­tet).
Die Inhal­te wer­den nach und nach dem String Sei­te (+=) hin­zu­ge­fügt.
Server.send sen­det den String Sei­te im For­mat text/html, wird der Code 200 bestä­tigt, wur­de die Sei­te erfolg­reich über­tra­gen.

Der But­ton wird mit CSS gestal­tet:

  • back­ground-color: Hin­ter­grund­far­be
  • width/height: Brei­te und Höhe
  • cur­sor: Form des Cur­sors (poin­ter)
  • bor­der-radi­us: Form der Linie (50% -> Kreis)
  • bor­der: Brei­te in Pixel , Dar­stel­lung und Far­be der Linie (2px solid black)

Die Funktion LEDSchalten

LED­Sta­tus = !LED­Sta­tus; ändert den Zustand der Varia­ble LED­Sta­tus: ist er true ändert er sich zu fal­se, ist er fal­se wird er zu true.
Es ist die Kurz­form von:

Die LED wird ent­spre­chend dem Wert von LED­Sta­tus geschal­tet: true ent­spricht 1 oder HIGH, fal­se hat den Wert 0 oder LOW.

Der loop-Teil

Der loop-Teil war­tet auf die Anfra­gen der Kli­en­ten.

Das vollständige Programm


Letzte Aktualisierung: Aug. 8, 2026 @ 9:10