Connected Phone
ConnectivityRemoteSensor ist ein Quellenblock (Source), der Trägheitsmesswerte und optionale Sensordaten live von einem gekoppelten Mobilgerät über eine WebRTC-Peer-to-Peer-Verbindung in die Simulation einströmt. Wird der Block auf der Arbeitsfläche abgelegt, generiert er einen QR-Code zur Kopplung; das Scannen mit dem Smartphone-Browser stellt die Verbindung her. Nach erfolgter Verbindung stellt der Block Ausgangsports für Beschleunigungssensor (3 Achsen), Gyroskop (3 Achsen) und ein Puffergütesignal bereit. Zusätzliche Ports werden automatisch ergänzt, sobald das Smartphone Magnetometer, Barometer oder GPS meldet.
Verwenden Sie diesen Block für bewegungsbasierte Regelungsexperimente, Gestensteuerungen oder Hardware-in-the-Loop-Tests, bei denen ein Mobilgerät als drahtlose inertiale Messeinheit (IMU) fungiert. Ein konfigurierbarer Wiedergabepuffer und ein Interpolationsfilter glätten den unregelmäßigen Datenstrom des Netzwerks vor der Einspeisung in die Simulationsblöcke.
Ein- & Ausgänge
| Direction | ID | Label | Typ | Status |
|---|---|---|---|---|
| ← Out | accelX |
Accel X | number | Output |
| ← Out | accelY |
Accel Y | number | Output |
| ← Out | accelZ |
Accel Z | number | Output |
| ← Out | gyroAlpha |
Rotation Alpha | number | Output |
| ← Out | gyroBeta |
Tilt Beta | number | Output |
| ← Out | gyroGamma |
Tilt Gamma | number | Output |
| ← Out | bufferLevel |
Buffer (ms) | number | Output |
Parameter
| Parameter | Label | Typ | Standardwert | Beschreibung |
|---|---|---|---|---|
playoutDelay |
Playout Delay (ms) | number | 250 |
|
interpolation |
Interpolation | select | linear |
How to reconstruct signal values between received sensor packets. Linear is the best default. PCHIP is smoother but heavier. |
outputLabels |
Output Labels | vector | accelX,accelY,accelZ,gyroAlpha,gyroBeta,gyroGamma,bufferLevel |
Anwendungsbeispiele
Neigungswinkel des Smartphones als Sollwert für einen PID-Regelkreis
RemoteSensor ──► [Tilt Beta] ──► Gain ──► PIDController → [in]
Alle 6-DOF-Trägheitssignale an ein Oszilloskop übertragen
RemoteSensor ──► [Accel X] ┐
──► [Accel Y] ├──► Scope
──► [Accel Z] │
──► [Rotation Alpha]│
──► [Tilt Beta] │
──► [Tilt Gamma] ┘Hinweise & Best Practices
- Quellenblock: Sämtliche Sensorkanäle liegen als Ausgangsports (rechte Seite) vor. In der Grundkonfiguration besitzt der Block keine Signaleingänge.
- Dynamische Ports: Ports werden nach der Kopplung dynamisch basierend auf den erkannten Gerätefähigkeiten (Beschleunigung, Gyro, Magnetfeld, Luftdruck, GPS) erzeugt oder entfernt. Aktor-Eingänge (Vibration, Piepton) erscheinen links, sofern das Mobiltelefon diese unterstützt.
- WebRTC erforderlich: Smartphone und Desktop-Browser benötigen für den PeerJS-Signalisierungs-Handshake Internetzugang. In isolierten lokalen Netzen ist ein lokaler PeerJS-Server erforderlich (konfigurierbar über die
localStorage-Schlüsselblockwerk_peer_host/blockwerk_peer_port). - Pufferfüllstandsport: Der Ausgang
bufferLevelmeldet den aktuellen Vorlauf in Millisekunden. Verbinden Sie ihn mit einer Anzeige oder Assertion zur Überwachung der Übertragungsstabilität. - Rohdatenexport: Bei laufender Simulation kann über die Aufnahmetaste am Block die unverfälschte Pakettelemetrie (Zeitstempel, Jitter, Achsenwerte) aufgezeichnet und als CSV exportiert werden.
- Werte im getrennten Zustand: Alle Ausgangsports halten den Wert
0, bis das Telefon verbunden ist und Daten sendet.
Verwandte Blöcke
- PhoneController: Identische QR-Kopplung, jedoch mit virtuellem Touchscreen-Joystick (oder Neigungsmodus) für X/Y-Steuerwerte — optimal für interaktive Demonstrationen wie "Fly the Quadcopter (Live)".
- MQTTSubscriber: Alternative Signalquelle für vernetzte Sensordaten über einen MQTT-Broker.
- ExternalInput: Schlanker Quellenblock zur manuellen Werteingabe oder Einspeisung skriptgesteuerter Werte.