Temperatur messen mit Pico W
(Darstellung auf Webserver im WLAN-Netz)



Bildbox 1 (klick hier)

Im Juni 2022 hat die Raspberry Pi Foundation die neue Version "Pico W" des Mikrocontroller-Bastelboard "Pico" mit WLAN herausgebracht. D.h. es lassen sich jetzt auch innerhalb eines bestehenden Netzwerkes Projekte umsetzen, wie die Übermittlung von Messwerten per WLAN auf einen Webbrowser. Vorher musste man dafür auf zusätzliche Hardware (meist von Waveshare) zurückgreifen. Deshalb jetzt hier das erste Beispiel, wie man mithilfe des internen Temperatursensors die Temperatur aufzeichnet, oder an einen Webbrowser im Netzwerk übermittelt. Natürlich lassen sich auf die gleiche Weise auch anderen Messwerte (z.B. vom Pico-10DOF-MU wie Druck, Beschleunigung oder Feuchtigkeit) verarbeiten.

Hardware

- Raspberry Pi Pico W
- Micro USB Kabel


Für dieses Projekt braucht man theoretisch noch nicht mal die beiden 20-poligen Stiftleisten (Header) an der Platine anlöten. Es genügt einfach die Verbindung mit dem USB-Anschluss. Dabei aber unbedingt beachten, wie die Inbetriebnahme beim Pico erfolgt. Das habe ich z.B. hier unter "Los gehts" ausführlich beschrieben und es gibt dazu genügend Darstellungen im Netz.
Noch ein wichtiger Hinweis:
Der Pico W hat im Vergleich zum herkömmlichen Pico eine andere Firmware! Deshalb unbedingt z.B. von hier: die aktuelle Firmware downloaden.


Los gehts

Zunächst werden die benötigten Pakete importiert, die SSID und das Passwort für Ihr Netzwerk hinzugefügt und eine Funktion zur Herstellung der WLAN Verbindung eingegeben. Die Zeilen 24 bis 28 braucht es nicht wirklich, aber wenn der Pico-W später ohne Thonny mit dem Programm als Datei main.py läuft, hat man so eine optische Rückkopplung, ob die Verbindung erfolgreich aufgebaut wurde. Blinkt die LED nicht, ziehe ich den USB-Stecker und verbinde nach 2-3 Sekunden neu. Die Funktion open_socket(ip) in den Zeilen 32 bis 38 sorgt dafür, dass der Server auf einem Client lauscht, der sich mit ihm verbinden will. Um einen Socket zu öffnen, muss die IP-Adresse und eine Portnummer angegeben werden. Als nächstes wird eine einfache Webseite bereitgestellt. In diesem Zusammenhang sei nur so viel erläutert, dass der Wert der Variable 'temperature' an die Funktion übergeben wird, damit ihn die Website ausgeben kann. Der Button 'form action="./aktuell"' aktualisiet die Seite bei einem Click und zeigt somit wieder den aktuellen Temperaturwert an.



Nun wird der Webserver gestartet und die Verbindung zur Website hergestellt. Das zeigt das kurze Blinken der Onboard-LED an. In den Zeilen 75 bis 77 wird der Variable 'temperature' der Wert des internen Sensors zugewiesen. Zeile 78 ruft die Webseite auf und übergibt den Temperaturwert. Am Programmende werden die Funktionen aufgerufen. Da die WLAN-Verbindung bestehen bleiben kann, auch wenn Sie den Code stoppen, können Sie ein try/except hinzufügen, das den Raspberry Pi Pico W zurücksetzt, wenn das Skript gestoppt wird. So, damit ist der Code komplett. Vergessen Sie nicht in den Zeilen 6 und 7 den eigenen SSID-Namen und das eigene Password des Netzwerkes einzugeben. Lassen Sie das Programm zuerst einmal im Thonny laufen, um die IP-Adresse des Webservers zu sehen. Anschließend kann die IP-Adresse im Browser des Handys eingegeben werden, um die Temperatur anzuzeigen.

Wenn Sie mögen, können Sie das vollständige Programm hier herunterladen , entpacken und mit Thonny öffnen. Testen Sie das Programm und speichern dann die Datei mit der Bezeichnung 'main.py' direkt auf dem Pico-W, damit sie unabhängig von Thonny sofort beim Verbinden mit dem USB-Anschluss startet (siehe Hinweis oben: blinkt 5 mal bei erfolgreicher Verbindung mit dem WLAN).
Ich habe auch ein passendes Gehäuse für den Pico-W entworfen. Schauen Sie dazu mal
hier auf diese Seite.


Viel Spass und Erfolg beim Ausprobieren.


Zurück