MicroWebSrv

Aus Micropython Referenz
Zur Navigation springen Zur Suche springen

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!



Zurück