Phyphox
Experimente
Phyphox
Phyphox ist eine App, die Sensoren eines Smartphones in Messgeräte für den Physikunterricht verwandelt. Seit Version 1.1.7 erlaubt die App auch das Versenden von MQTT-Nachrichten. Damit können wir unsere Smartphones in Prototypen für Sensor-Netzwerke verwandeln.In diesem Block, wollen wir:
- Phyphox kennenlernen
- Eigene Sensor-Experimente entwickeln, die ihre Daten mit dem MQTT-Protokoll versenden
- Ein Experiment nutzen, das die Sensor-Daten aggregiert und visualisiert
Aufgaben
Aufgabe 1: Phyphox kennenlernern
20 Minuten
- Installieren sie Phyphox auf Ihrem Smartphone.
- Erforschen Sie die sieben Experimente mit Rohdaten
Fragen:
Klicken Sie auf die Links um die Beschreibung der Experimente zu lesen.- Wie heißen die Sensoren die im Experiment zum Einsatz kommen?
- Was wird gemessen und in welcher Einheit?
- Unterstützt ihr Smartphone diesen Sensor?
Aufgabe 2: Smartphone-Sensoren beschreiben
20 Minuten
Suchen Sie Ihr Smartphone in der Phyphox
Sensor-Datenbank.
Fragen
- Was bedeuten die Parameter: Name, Vendor, Range, Resolution, Rate und Standard Deviation?
- Notieren Sie Hersteller und Name der in Ihrem Smartphone verbauten Sensoren (soweit bekannt)
-
Vergleichen Sie mit Parameter der Sensoren mit denen ihrer
Mitschüler:innen. Ermitteln Sie für jeden Sensor:
- Wer hat den genauesten Sensor?
- Wer hat den Sensor mit dem größten Meßbereich?
- Wer hat den Sensor mit der höchsten Meßrate?
Aufgabe 3: Experimente editieren
20 Minuten
Mit Phyphox können Sie eigene Experimente erstellen.Es gibt drei Möglichkeiten:
- Direkt in der App (nur einfache Experimente)
- Mit dem Phyphox Editor (komplexere Berechnungen)
- XML-Dateien manuell editieren (Netwerk-Kommunikation)
Fragen:
-
Erstellen Sie ein einfaches Experiment direkt in der App.
In welchen Formaten können Sie die gesammelten Daten exportieren? -
Probieren Sie den Editor
hier aus.
In welchen Formaten können Sie ihr Experiment exportieren?
(Tipp: Button mit der AufschriftDownload Experiment
unten links) -
Speichern Sie die Datei
sensor-max.phyphox auf
ihren PC, und schauen Sie sich das Experiment
im Editor an. (Tipp:
Button mit der Aufschrift
Load Experiment
unten links). Was macht das Programm?
Aufgabe 4: Das MQTT-Protokoll verstehen
30 Minuten
MQTT ist ein Protokoll für den Datenaustausch zwischen Komponenten eines cyberphysischen Systems.
- Werfen Sie einen Blick ins Buch: Westermann (Fachstufe Technik) Kapitel 7.2.2
- Sehen Sie sich das Video oder die Seite zum Publish/Subscribe Pattern an.
- Sehen Sie sich das Video oder die Seite zu MQTT-Topics an.
- Sehen Sie sich das Video oder die Seite zu MQTT-Service Levels an.
Fragen:
- Nennen Sie einen Beispiel für eine Anwendung für die Quality of Service 0 ausreichend ist.
- Nennen Sie eine Anwendung für die QOS 1 notwendig ist.
- Warum benötigt ein Broker für QOS1 und QOS2 eine Message Queue (einen Speicher für Messages)?
Wie lange muss der Broker die Messages speichern?
Aufgabe 5: Experimente installieren
5 Minuten
Die MQTT Accelerometer App schickt Sensor-Daten vom Accelerometer an einen MQTT-Broker. Um sie zu installieren gehen Sie mit dem Smartphone auf phyphox.glitch.io und öffnen diesen Link.
Aufgabe 6: MQTT-Client nutzen
15 Minuten
Um sich davon zu überzeugen, dass die Daten auch auf dem MQTT-Broker ankommen, nutzen Sie einen MQTT-Client. Wir nutzen dafür einen MQTT-Client mit Web-Frontend.
- Clicken Sie auf connect
-
Erstellen sie eine Subscription für das Topic
tls/scm/acc/slow
-
Erstellen sie eine Subscription für das Topic
tls/scm/acc/fast
-
Erstellen sie eine Subscription für das Topic
tls/scm/acc/push
-
Erstellen sie eine Subscription für das Topic
tls/scm/acc/meta
-
Erstellen sie eine Subscription für mehrere Topics
tls/scm/acc/#
Fragen
- Was ist der Unterschied zwischen den Topics?
- Öffnen Sie das Phyphox-Datei in einem Texteditor. Mit welchem Tag werden die Netzwerk-Verbindungen definiert?
-
Schauen Sie in die Dokumentation der
Netzwerk-Verbindungen mit Phyphox. Welche Auswirkung haben die Attribute
type
unddatatype
im <send> Tag?
Aufgabe 7: Eigenes Experiment erstellen
60 Minuten
-
Wählen Sie einen Sensor aus der Liste (Prüfen Sie ob ihr
Smartphone diesen Sensor unterstützt)
- gyroscope (Gyroskop)
- magnetic field (Magnetfeldsensor)
- pressure (Drucksensor)
- temperature (Temperatursensor)
- humidity (Feuchtigkeitssensor)
- light (Lichtsensor)
- proximity (Annäherungssensor)
-
Entwickeln Sie ihr eigenes MQTT-Sensor Experiment.
Orientieren Sie sich dabei am Code vonmqtt-accelerometer.phyphox
.
Wenn Sie unsicher sind, welche Outputs ihr Sensor generiert, nutzen Sie den Phyphox-Editor. Bei Fragen zum XML-Format schauen Sie in die Dokumentation zum Phyphox Datei Format. Ihre MQTT-Topics lauten entsprechend:tls/scm/SENSORNAME/slow
tls/scm/SENSORNAME/fast
tls/scm/SENSORNAME/push
tls/scm/SENSORNAME/meta
Aufgabe 8: Sensor-Werte aggregieren
10 Minuten
Installieren Sie
mqtt-aggregator.phyphox
auf Ihrem Smartphone.Dieses Experiment nutzt eine MQTT-Subscription um die Daten der anderen Experimente zu sammeln und anzuzeigen. Wir können also eines der Smartphones also als Datalogger und zur Visualisierung der Sensordaten nutzen, während wir die anderen als Sensoren verwenden.
Fragen
- Welche Vorteile hat der Einsatz von Smartphones für das Prototyping von Sensor-Netzwerken?
- Welche Nachteile hat der Einsatz gegenüber Mikrocontrollern mit Sensoren?