MicroWebSrv
Diese Seite ist gerade im Entstehen!
MicroWebSrv
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
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
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 ins Micropython Filesystem zu laden.
MicroWebSrv einrichten
Damit der Webserver arbeiten kann sind 2 Voraussetzungen zu erfüllen:
Wlan Verbindung herstellen
Webverzeichnis einrichten
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 starten
Webserver für statische Webseiten
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
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
Routen mit Decorators
Den Webserver steuern
Die direkte Methode
Die Query Methode
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:
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!