Forum: Mikrocontroller und Digitale Elektronik ESP32 Webserver


von Selectronics50 (Gast)


Lesenswert?

HI
Ich habe mich die letzte Zeit mt HTL und CSS befasst und ein Programm 
geschrieben mit dem ich ein LED Strip steuern kann (AN Aus farbe usw.).

Meine Frage:
Normalerweise programmiert man den Webserver ja im Code für den ESP 
welcher dann einen Code ausgibt um den Webserver zu öffnen, kann der ESP 
auch auf einen schon bestehenden Server zugreifen. Also das ich ihm 
angebe sich mit dem bereits geschriebenen Programm(welches ich schon 
geschrieben habe) zu verbinden?


Danke für die Antworten!

von Sebastian R. (sebastian_r569)


Lesenswert?

Selectronics50 schrieb:
> Ich habe mich die letzte Zeit mt HTL und CSS befasst und ein Programm
> geschrieben mit dem ich ein LED Strip steuern kann (AN Aus farbe usw.).

HTML und CSS ergeben kein Programm.

Selectronics50 schrieb:
> kann der ESP
> auch auf einen schon bestehenden Server zugreifen

Ja, kann er. Nennt sich dann Client.

Selectronics50 schrieb:
> Also das ich ihm
> angebe sich mit dem bereits geschriebenen Programm(welches ich schon
> geschrieben habe) zu verbinden?

Welches Protokoll verwendet dein Programm denn? TCP/IP? UDP? SSH?

von Selectronics 5. (selectronics_5)


Lesenswert?

Danke für die Antwort

Sebastian R. schrieb:

> HTML und CSS ergeben kein Programm.

Was fehlt denn?

> Welches Protokoll verwendet dein Programm denn? TCP/IP? UDP? SSH?

Wo sehe ich das.Bin eben ziemlich neu in diesem Bereich.

von Fips (Gast)


Lesenswert?

Selectronics50 schrieb:
> Normalerweise programmiert man den Webserver ja im Code für den ESP

Man könnte auch die fertige WebServer Class für den Esp32 verwenden.
#include <WebServer.h>

Dann einfach das Html Dokument in den Spiffs des Esp32 laden.
https://fipsok.de/Esp32-Webserver/Esp32.php#spiffs

Gerne liefert der Esp Webserver mittels server.streamFile() auf 
Anforderung vom Client das Dokument aus.

Selectronics50 schrieb:
> kann der ESP
> auch auf einen schon bestehenden Server zugreifen

Normalerweise geht auch das.

Gruß Fips

von Stefan F. (Gast)


Lesenswert?

Du kannst die Webseite von einem beliebigen Webserver laden. diese kann 
ihre Kommandos in Form von AJAX Requests an den ESP Chip senden.
https://de.wikipedia.org/wiki/Ajax_(Programmierung)

von Sebastian R. (sebastian_r569)


Lesenswert?

Selectronics 5. schrieb:
> Was fehlt denn?

Eigentlich eine genaue Beschreibung dessen, was du vor hast.

Selectronics 5. schrieb:
> Wo sehe ich das.Bin eben ziemlich neu in diesem Bereich.

Du hast das Programm geschrieben, du musst wissen, welche Schnittstellen 
du nach außen hast.


Vermutung: Du hast für den ESP32 ein Programm (in C/C++) geschrieben, 
welches eine in HTML/CSS geschriebene Webseite darstellt, sobald man mit 
dem Browser auf den ESP zugreift.
Über diese Webseite kann man nun deine LEDs steuern.

Du möchstest nun mit einem ESP auf eine externe Webseite zugreifen, um 
von dort z.B. die Uhrzeit, den Wetterbericht oder sonst etwas an 
Informationen zu extrahieren, richtig?

Die Kommunikation zwischen Webserver und Browser funktioniert mit dem 
HTTP-Rotokoll (das P steht für Protokoll), um HTML-Seiten zu übertragen.

Dementsprechend brauchst du auf deinem ESP32 einen HTTP-Clienten, der 
die Webseite vom externen Server lädt. Danach musst du dann die 
empfangenen Informationen parsen und aus dem ganzen HTML-Zeug die für 
dich notwendige Information extrahieren.

Falls du mit einem anderen ESP auf diese Webseite zum LED steuern 
zugreifen möchtest, ginge das genau so.

Aber der Umweg über HTML/HTTP wäre in etwa so, als würde ich eine eMail 
schreiben, diese ausdrucken, per Post verschicken und der Empfänger 
scannt sie wieder ein.

Für die Kommunikation zwischen Geräten in einem Netzwerk nimmt man 
tieferliegende Protokolle. Z.B. TCP oder UDP. Das wäre dann im 
übertragenen Sinne das direkte Verschicken der Mail an den Empfänger. 
Programm-Seitig verhält sich eine TCP/UDP-Verbindung fast wie eine 
serielle Schnittstelle.

von Fips (Gast)


Lesenswert?

Stefanus F. schrieb:
> ihre Kommandos in Form von AJAX Requests an den ESP Chip senden

Immer wieder Ajax!!

Das haben wir immer schon so gemacht!

Modern geht es mit der fetch Api.

Ja klar der IE kann kein fetch.

Wer den noch nutzt hat mein volles Mitleid.

Gruß Fips

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.