MicroWebSrv: Unterschied zwischen den Versionen
Peter (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Peter (Diskussion | Beiträge) |
||
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
== Ein wenig HTML == | == Ein wenig HTML == | ||
Für den Betrieb des Webservers ist HTML nicht unbedingt erforderlich. Es ermöglicht aber ansprechendere Webseiten zu erstellen. | |||
=== Einige HTML Tags === | |||
=== Formulare mit HTML erstellen === | |||
Einen größen Inovationsschritt kann man aber mit dem Einsatz von HTML-Formularen machen. | |||
=== Webseiten automatisch aktualisieren === | |||
Mit folgender Anweisung im <head> Bereich wird die Seite automatisch alle 5 Sekunden neu geladen: | |||
<head> | |||
<meta http-equiv="refresh" content="5"> | |||
</head> | |||
== MicroWebSrv installieren == | == MicroWebSrv installieren == | ||
Das MicroWebSrv Modul, bzw. die 3 Module die dazu gehören sind in der Firmware von M5Stack enthalten. | Das MicroWebSrv Modul, bzw. die 3 Module die dazu gehören sind in der Firmware von M5Stack enthalten. Deshalb entfällt bei den M5-Geräten die Installation. | ||
Bei anderen Geräten müssen die Files von der GitHub Seite heruntergeladen und die drei Files | Bei anderen Geräten müssen die Files von der GitHub Seite heruntergeladen und die drei Files | ||
"microWebSrv.py" - Der Webserver | "microWebSrv.py" - Der Webserver | ||
Zeile 22: | Zeile 38: | ||
ins Micropython Filesystem des Gerätes geladen werden. | ins Micropython Filesystem des Gerätes geladen werden. | ||
Wenn keine Sockets bzw. kein Python innerhalb der Webseiten benutzt wird braucht man nur microWebSrv.py zu laden. | |||
== MicroWebSrv einrichten == | == MicroWebSrv einrichten == | ||
Zeile 36: | Zeile 54: | ||
Beispiele: | Beispiele: | ||
=== MicroWebSrv starten === | === MicroWebSrv Instanz erzeugen und starten === | ||
== Webserver für statische Webseiten == | == Webserver für statische Webseiten == | ||
Zeile 62: | Zeile 80: | ||
== Werte vom Webserver abholen == | == Werte vom Webserver abholen == | ||
== Eingaben mit dem Browser holen == | |||
Mit Hilfe von '''HTML-Form''' können Eingaben im Browser eingegeben und an den Server übermittelt werden. | |||
== Links zum Thema - für die Erstellung dieses Beitrags: == | == Links zum Thema - für die Erstellung dieses Beitrags: == |
Aktuelle Version vom 29. März 2023, 14:02 Uhr
Diese Seite ist gerade im Entstehen!
MicroWebSrv[Bearbeiten | Quelltext bearbeiten]
MicroWebSrv ist ein Mikro-HTTP-Webserver, der WebSockets, html/python Sprachtemplating und Routing Handler, für MicroPython (hauptsächlich verwendet auf ESP32 und Pycom Modulen. Unterstützt jetzt alle Varianten der Pyboard D-Serie von den Herstellern von MicroPython). GitHub Seite von MicroWebSrv
Es gibt inzwischen eine neuere Version MicroWebSrv2. Nach der Installation dieser Version auf einem M5Stick C reichte der Speicherplatz nicht mehr zum Import des Modules.
Ein Krümel HTTP[Bearbeiten | Quelltext bearbeiten]
Ein wenig HTML[Bearbeiten | Quelltext bearbeiten]
Für den Betrieb des Webservers ist HTML nicht unbedingt erforderlich. Es ermöglicht aber ansprechendere Webseiten zu erstellen.
Einige HTML Tags[Bearbeiten | Quelltext bearbeiten]
Formulare mit HTML erstellen[Bearbeiten | Quelltext bearbeiten]
Einen größen Inovationsschritt kann man aber mit dem Einsatz von HTML-Formularen machen.
Webseiten automatisch aktualisieren[Bearbeiten | Quelltext bearbeiten]
Mit folgender Anweisung im <head> Bereich wird die Seite automatisch alle 5 Sekunden neu geladen:
<head> <meta http-equiv="refresh" content="5"> </head>
MicroWebSrv installieren[Bearbeiten | Quelltext bearbeiten]
Das MicroWebSrv Modul, bzw. die 3 Module die dazu gehören sind in der Firmware von M5Stack enthalten. Deshalb entfällt bei den M5-Geräten die Installation.
Bei anderen Geräten müssen die Files von der GitHub Seite heruntergeladen und die drei Files
"microWebSrv.py" - Der Webserver "microWebSocket.py" - Die optionale Unterstützung von WebSockets "microWebTemplate.py" - Die optionale Schablonensprache für gerenderte .pyhtml-Seiten (Python in HTML eingebettet)
ins Micropython Filesystem des Gerätes geladen werden.
Wenn keine Sockets bzw. kein Python innerhalb der Webseiten benutzt wird braucht man nur microWebSrv.py zu laden.
MicroWebSrv einrichten[Bearbeiten | Quelltext bearbeiten]
Damit der Webserver arbeiten kann sind 2 Voraussetzungen zu erfüllen:
Wlan Verbindung herstellen[Bearbeiten | Quelltext bearbeiten]
Webverzeichnis einrichten[Bearbeiten | Quelltext bearbeiten]
Der Webserver benötigt ein Verzeichnis in dem seine Resourcen gespeichert sind. Dieses Verzeichnis heisst üblicherweise www. Das ist auch der Defaultname für den MicroWebSrv. Wenn ein anderer Name verwendet wird muss dieser der Webserverinstanz bei ihrer Erzeugung übergeben werden.
Im Webverzeichnis sollte sich mindestens die Datei index.htm befinden. Diese wird zurückgegeben, wenn nur die Geräteadresse in der URL steht.
Beispiele:
MicroWebSrv Instanz erzeugen und starten[Bearbeiten | Quelltext bearbeiten]
Webserver für statische Webseiten[Bearbeiten | Quelltext bearbeiten]
Damit wäre ein Webserver eingerichtet der statische Webseiten aus dem Verzeichnis www und dessen Unterverzeichnissen ausliefern kann.
Es geht aber noch mehr!
Routen anlegen[Bearbeiten | Quelltext bearbeiten]
Das Anlegen von Routen ermöglicht es einem relativen Pfad - also dem Teil hinter der IP-Adresse - einer Micropython Funktion zuzuordnen. Damit können abhängig von dem in der URL angegebenen relativen Pfad verschiedene Funktionen auf dem Server ausgeführt werden.
Es gibt 2 Wege diese Routen zu bestimmen.
Routen mit einer Handlerliste[Bearbeiten | Quelltext bearbeiten]
Routen mit Decorators[Bearbeiten | Quelltext bearbeiten]
Den Webserver steuern[Bearbeiten | Quelltext bearbeiten]
Die direkte Methode[Bearbeiten | Quelltext bearbeiten]
Die Query Methode[Bearbeiten | Quelltext bearbeiten]
Werte vom Webserver abholen[Bearbeiten | Quelltext bearbeiten]
Eingaben mit dem Browser holen[Bearbeiten | Quelltext bearbeiten]
Mit Hilfe von HTML-Form können Eingaben im Browser eingegeben und an den Server übermittelt werden.
Links zum Thema - für die Erstellung dieses Beitrags:[Bearbeiten | Quelltext bearbeiten]
YouTube Übersicht zu MicroWebWrv
MicroPython: Webserver auf dem Wifi Kit 32 (ESP32)
Micropython mit ESP32 - 15: ESP32 als Webserver
How to create a MicroPython Web Server the easy way!