Connected Phone
ConnectivityRemoteSensor is een bronblok (source) dat realtime traagheidsgegevens en optionele sensordata vanaf een gekoppeld mobiel apparaat via een WebRTC peer-to-peer-verbinding naar de simulatie streamt. Wanneer het blok op het canvas wordt geplaatst, genereert het een koppelings-QR-code; het scannen hiervan vanuit de browser van de smartphone brengt de verbinding tot stand. Eenmaal verbonden biedt het blok uitgangspoorten voor versnellingsmeter (3 assen), gyroscoop (3 assen) en een bufferconditiesignaal, waarbij automatisch extra poorten worden toegevoegd wanneer de telefoon een magnetometer, barometer of GPS-functionaliteit meldt.
Gebruik dit blok voor op beweging gebaseerde regelexperimenten, gebareninvoer of hardware-in-the-loop-tests waarbij een mobiel apparaat fungeert als een draadloze inertiΓ«le meeteenheid (IMU). Een configureerbare afspeelbuffer en interpolatiefilter strijken de variabele netwerkstroom glad voordat deze de simulatieblokken binnenkomt.
Ingangen & Uitgangen
| Direction | ID | Label | Type | 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 |
Parameters
| Parameters | Label | Type | Standaard | Beschrijving |
|---|---|---|---|---|
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 |
Gebruiksvoorbeelden
Telefoonkanteling gebruiken als referentie-invoer voor een PID-lus
RemoteSensor βββΊ [Tilt Beta] βββΊ Gain βββΊ PIDController β [in]
Alle 6-DOF traagheidssignalen loggen naar een oscilloscoop
RemoteSensor βββΊ [Accel X] β
βββΊ [Accel Y] ββββΊ Scope
βββΊ [Accel Z] β
βββΊ [Rotation Alpha]β
βββΊ [Tilt Beta] β
βββΊ [Tilt Gamma] βOpmerkingen & Best Practices
- Bronblok: Alle sensorkanalen zijn uitgangspoorten (rechterkant). Het blok heeft in zijn basisconfiguratie geen signaalingangen.
- Dynamische poorten: Poorten worden na het koppelen automatisch toegevoegd of verwijderd op basis van de gemelde sensormogelijkheden van het apparaat (versnelling, gyroscoop, magnetisme, barometer, gps). Actuator-ingangspoorten (Vibrate, Beep) verschijnen aan de linkerkant wanneer de telefoon deze ondersteunt.
- WebRTC vereist: Zowel de smartphone als de desktopbrowser moeten internettoegang hebben voor de PeerJS-signaleringshandshake. Voor louter lokale netwerken is een eigen gehoste PeerJS-server vereist (configureerbaar via
localStorage-sleutelsblockwerk_peer_host/blockwerk_peer_port). - Buffer-niveaupoort: De
bufferLevel-uitvoer rapporteert de huidige playout-lookahead in milliseconden. Sluit deze aan op een Display of Assertion om de netwerkkwaliteit te bewaken. - Ruwe gegevens exporteren: Klik tijdens de simulatie op de opnameknop op het blok om ruwe pakkettelemetrie vast te leggen (tijdstempels, jitter, aswaarden) en te exporteren als CSV.
- Waarden bij ontkoppeling: Alle poorten houden de waarde
0vast totdat de telefoon verbinding maakt en begint met zenden.
Gerelateerde Componenten
- PhoneController: Zelfde QR-koppelingsproces, maar met een virtuele touchscreen-joystick (of kantelmodus) die X/Y-stuurwaarden streamt β ideaal voor interactieve experimenten zoals "Fly the Quadcopter (Live)".
- MQTTSubscriber: Alternatieve bron voor netwerksensordata via een MQTT-broker.
- ExternalInput: Lichtgewicht bron voor handmatig ingevoerde of gescripte numerieke waarden.