Messhäuschen
Auf dieser Seite finden Sie Zusatzinformationen zum Artikel "Vom Temperaturfühler zum WLAN-fähigen Thermometer", erschienen in Unterricht Physik 167/2018.
Zielsetzung: Messwerte eines Multimeters sollen über WLAN abgerufen werden können. Hierfür wird ein Raspberry Pi verwendet. Dieser dokumentiert die Messwerte automatisiert und macht sie für andere Geräten über ein Netzwerk abrufbar.
Die nötigen Programmbausteine, sowie die 3D Druckpläne des Messhäuschens finden Sie zum Download unten auf dieser Webseite.
Abbildung 1. 3D gedrucktes Messhaus mit eingebautem Temperatursensor
Einrichtung des Raspberry Pi für die Messwerterfassung über WLAN
Ein Multimeter wird über USB an den Raspberry Pi angeschlossen. Für das Auslesen des Multimeters wird die kostenlose Software sigrok verwendet. Von der Software unterstützte Multimeter können auf der Internetseite https://sigrok.org/ gefunden werden. Im Weiteren wird ein UNI-T UT61E verwendet. Achten sie bei der Wahl des Multimeters bitte darauf, dass es sich im Dauerbetrieb nicht abschaltet.
Für die folgenden Installationen ist der Raspberry Pi mit dem Internet zu verbinden.
Öffnen Sie zunächst mit einem Klick das LXTerminal, das sie in Raspbian in der Menüleiste am oberen Bildschirmrand finden (Abbildung 2).
Abbildung 2. Menüleiste in Raspbian. Mit einem Klick auf das LXTerminal Icon öffnet sich das Programm.
Schritt 1) Sigrok installieren und verwenden
Zur Installation von sigrok geben Sie das Kommando: "sudo apt-get install sigrok" ein und drücken die Enter Taste.
Die Nachfrage des Programms muss durch die Eingabe von "j" bzw. in englischer Sprache "y" und Enter bestätigt werden (Siehe Abbildung 3).
Abbildung 3. Installationsaufruf zur Installation von Sigrok.
Anschließend muss der Raspberry Pi neu gestartet werden.
Sigrok benötigt einen Treiber für das verwendete Multimeter, außerdem die Vendor- und Product ID des USB Kabels. Diese können für das verwendete Multimeter mit den folgenden Schritten ermittelt werden. Das Beispiel zeigt das Vorgehen für ein UNI-T UT61E.
Der Treiber kann über die Treiberliste von sigrok durch Eingabe von "sigrok-cli -V" und anschließender Bestätigung mit Enter aufgerufen werden (Abbildung 4). Notieren Sie sich den Namen des Treibers.
Abbildung 4. Aufruf der Sigrok Treiberliste.
Abbildung 5. Auswahl des richtigen Treibers. Bei Verwendung eines UNI-T UT61E ist dies der Treiber uni-t-ut61e.
Bitte schließen Sie nun das Mutlimeter über ein USB Kabel an den Raspberry Pi an. Für die Kommunikation von Sigrok mit dem Multimeter ist die Vendor ID und Product ID des Kabels notwendig. Diese kann durch die Eingabe von "lsusb" in das LXTerminal und einer anschließenden Bestätigung mit Enter ausgelesen werden (Abbildung 6).
Abbildung 6. Auslesen der Vendor- und Product ID des USB Kabels. (Vendor ID: 1a86, Product ID: e008)
Ab jetzt können Messwerte mit dem Raspberry Pi und Sigrok ausgelesen werden. Für eine einmalige Messung ist der Aufruf "sigrok-cli -d "treibername":conn="Vendor ID"."Product ID" -O analog --samples 1" über das LXTerminal auszuführen. Für das verwendete Multimeter lautet er also "sigrok-cli -d uni-t-ut61e:conn=1a86.e008 -O analog --samples 1". Als Antwort wird der aktuelle Messwert des Multimeters in einer neuen Zeile angezeigt (siehe Abbildung 7).
Abbildung 7. Aufruf und Ausgabe von Sigrok.
Schritt 2) Webserver installieren
Die Messdaten sollen vom Raspberry Pi automatisiert aufgezeichnet und anschließend über Netzwerk durch aufrufen einer Webseite im Browser abrufbar sein. Für die Verteilung über Netzwerk ist die Installation eines Webservers erforderlich. Im weiteren Vorgehen wird hierzu Apache2 verwendet. Durch die Eingabe und Bestätigung von "sudo apt-get install apache2" kann der Webserver installiert werden (siehe Abbildung 8). Wie auch schon bei der Installation von Sigrok ist die Installation nochmals zu bestätigen.
Abbildung 8. Installation von Apache 2 als Webserver.
Andere Geräte im Netzwerk sollen über eine Webseite Zugriff auf die Messdaten erhalten. Für die Abfrage der Messdaten muss php über den Aufruf "sudo apt-get install php" (Abbildung 9) und das php Modul für den Apache 2 Webserver über den Aufruf "sudo apt-get install libapache2-mod-php" (Abbildung 10) installiert werden.
Abbildung 9. Installation von php.
Abbildung 10. Installation des php Moduls für Apache2.
Nun ist der Webserver fertig installiert. Es geht ans Dokumentieren und Verteilen der Messwerte.
Schritt 3) Webserver einrichten
Insgesamt soll der Raspberry Pi drei Funktionen erfüllen:
Funktion 1) Für die Dokumentation der Messwerte wird automatisiert der Konsolenaufruf von Sigrok gestartet und die Messwerte zusammen mit der Aufnahemzeit in eine Textdatei untereinander geschrieben. Das nötige kleine Programm wurde in Python geschrieben.
Funktion 2) Jedes browserfähige Gerät, das sich im selben Netzwerk wie der Raspberry Pi befindet, kann auf eine Webseite auf dem Apache2 Webserver des Raspberry Pi zugreifen. Über einen Button werden die Messwerte angefordert und die Antwort der Anforderung auf der Webseite dargestellt.
Funktion 3) Das Anfordern der Messdaten aus Teilschritt 2) setzt ein php Script in Gang, das die Textdatei aus Teilschritt 1) öffnet und die Daten ausliest. Die Daten werden dann als Ausgabe zurück an die Webseite gegeben.
Die drei nötigen Dateien (python Datei "messen.py", Webseite "index.html" und php Datei "abfrage.php") sind unten auf dieser Webseite zum Download verfügbar. Bitte öffnen Sie diese Webseite direkt über den Browser (Abbildung 11) am Raspberry Pi und laden die Daten direkt dort herunter.
Abbildung 11. Über den Webbrowser von Raspbian können die Dateien direkt auf den Raspberry Pi geladen werden.
Nach dem Download kann der Downloadordner sofort durch einen Klick auf den Pfeil in der Schaltfläche links unten im Browser geöffnet werden (Abbildung 12).
Abbildung 12. Öffnen des Downloadordner.
Im Downloadordner kann dann durch einen Rechtsklick und einem weiteren Linksklick auf "Hier Entpacken" die zip Datei entpackt werden (Siehe Abbildung 13).
Abbildung 13. Entpacken der heruntergeladenen Datei.
Es sollten nun die drei Dateien "abfrage.php", "index.html" und "messen.py" im Ordner "/home/pi/Downloads/programmbausteine" liegen. Der Ordner muss für das weitere Vorgehen über das LXTerminal mit dem Aufruf "cd /home/pi/Downloads/programmbausteine"geöffnet werden. Sollten sich die Dateien in einem anderen Ordner befinden, muss das Kommando entsprechend angepasst werden.
Die drei Dateien müssen jetzt noch in das Verzeichnis /var/www/html des Webservers kopiert werden. Dies geschieht mit den drei Kommandos "sudo cp abfrage.php /var/www/html", "sudo cp index.html /var/www/html" und "sudo cp messen.py /var/www/html" (siehe Abbildung 14).
Abbildung 14. Kopieren der Dateien in das Verzeichnis /var/www/html.
Die Einrichtung ist nun fertiggestellt.
Nun muss noch "messen.py" zur Dokumentation der Messwerte gestartet werden. Bitte gehen Sie vor dem Starten von "messen.py" immer zuerst mit "cd /var/www/html" in den Ordner "/var/www/html". Ansonsten wird die von "messen.py" generierte Textdatei von "abfrage.php" nicht gefunden! Starten sie dann das Pythonscript durch Eingabe und Bestätigung von "sudo python messen.py" (Abbildung 15). Sobald das Script gestartet ist, ist das Fenster des LXTerminals hierfür geblockt. Für weitere Aufrufe öffnen Sie bitte ein weiteres LXTerminal Fenster.
Abbildung 15. Starten des Python Scripts "messen.py" zur automatisierten Dokumentation der Multimetermesswerte.
Schritt 4) Abrufen der Messwerte über einen Browser
Der Raspberry Pi dokumentiert inzwischen die Messwerte automatisiert. Die Messwerte können im Netzwerk über eine Webseite abgerufen werden. Hierfür ist lediglich die IP Adresse des Raspberry Pi in die Adressleiste des Browser am Endgeräts einzugeben. Die sich dann öffnende Webseite ist die Datei "index.html" im Ordner "/var/www/html" des Raspberry Pi. Die Messdaten können über einen Klick auf den Button "Messwerte abfragen" aus der Textdatei abgefragt werden. Sie werden sofort auf der Internetseite dargestellt.
Hinweis: Zur Bestimmung der IP Adresse des Raspberry Pi kann das Kommando "ip addr show" verwendet werden, das in LXTerminal eingeben und bestätigt werden muss.
Downloads:
- 3druck_haus (218 KByte)
- programmbausteine (2 KByte)