Picoweb Pakete installieren

Eigentlich müsste es in Thonny gehen, bei „Extras->Pakete verwalten“ das Picoweb zu suchen und zu installieren. Die Suche klappt auch, aber das Installieren schlägt fehl und wir verstehen die Fehlermeldung nicht. Was stattdessen funktioniert hat: Der ESP32 verbindet sich mit über WLAN mit dem Internet und lädt picoweb selbst herunter. Das Programm dafür sieht wie folgt aus. Es muss nur der WLAN-Name und das Passwort angepasst werden.

import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("<netz>", "<passwort>")

while not wlan.isconnected():
    time.sleep(1)

print("meine IP: %s" % wlan.ifconfig()[0])

import upip
upip.install("picoweb")
upip.install("utemplate")
upip.install("pycopy-ulogging")

Eine einfache Startseite ausliefern

Der erste Webserver den wir programmieren, liefert nur eine einzige Seite mit dem Inhalt „Hallo“ aus. Zuerst importieren wir die Erweiterungen „network“ und „picoweb“. Dann starten wir die WLAN-Verbindung des ESP32 und danach erzeugen wir den Webserver in der Variablen „app“.

Die Zeile def startseite(req,resp): definiert ein neues Unterprogramm namens „startseite“. Dieses hat die Aufgabe unsere Hallo-Seite zu produzieren. Damit der Webserver weiß, wann er dieses Unterprogramm benutzen soll, schreiben wir in der Zeile davor @app.route("/"). Dies führt für uns das Unterprogramm „route“ von unserem Webserver „app“ aus und sagt, dass das Unterprogramm für die Adresse „/“ zuständig ist.

Die letzte Zeile app.run(...) startet dann den Server und der läuft bis wir den Minicomputer unterbrechen.

import network
import picoweb

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("<netz>", "<passwort>")

while not wlan.isconnected():
    time.sleep(1)

print("meine IP: %s" % wlan.ifconfig()[0])

app = picoweb.WebApp(__name__)

@app.route("/")
def startseite(req, resp):
    yield from picoweb.start_response(resp)
    yield from resp.awrite("<h1>Hallo</h1>")

app.run(debug=True, host=wlan.ifconfig()[0], port=80)

Das Unterprogramm „startseite“ bekommt zwei Parameter namens „req“ und „resp“….


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.