Connected Phone
ConnectivityRemoteSensor es un bloque de tipo fuente (source) que transmite telemetría inercial y datos de sensores opcionales en directo desde un dispositivo móvil emparejado hacia la simulación mediante una conexión punto a punto WebRTC. Al insertar el bloque en el lienzo, se genera un código QR de emparejamiento; escanearlo desde el navegador del smartphone establece el enlace inmediatamente. Una vez conectado, el bloque expone puertos de salida para acelerómetro (3 ejes), giróscopo (3 ejes) y una señal del estado del búfer, añadiendo puertos adicionales de forma automática si el teléfono cuenta con magnetómetro, barómetro o receptor GPS.
Utilice este bloque para experimentos de control por movimiento, interacción por gestos o ensayos hardware-in-the-loop (HIL) donde el dispositivo móvil opera como una unidad de medición inercial (IMU) inalámbrica. Un búfer de reproducción configurable y un filtro de interpolación suavizan el flujo de red de tasa variable antes de ingresar en los bloques de la simulación.
Entradas y Salidas
| Direction | ID | Label | Tipo | 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 |
Parámetros
| Parámetros | Label | Tipo | Por defecto | Descripción |
|---|---|---|---|---|
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 |
Ejemplos de Uso
Uso de la inclinación del móvil como referencia para un lazo PID
RemoteSensor ──► [Tilt Beta] ──► Gain ──► PIDController → [in]
Registro de los 6 DOF inerciales en un osciloscopio
RemoteSensor ──► [Accel X] ┐
──► [Accel Y] ├──► Scope
──► [Accel Z] │
──► [Rotation Alpha]│
──► [Tilt Beta] │
──► [Tilt Gamma] ┘Observaciones y Buenas Prácticas
- Bloque fuente: Todos los canales de sensores corresponden a puertos de salida (lado derecho). En su configuración base, el bloque carece de puertos de entrada.
- Puertos dinámicos: Los puertos se agregan o suprimen automáticamente tras el emparejamiento, de acuerdo con los sensores informados por el teléfono (acelerómetro, giroscopio, magnetómetro, barómetro, GPS). Los puertos de entrada para actuadores (vibración, pitido) aparecen a la izquierda cuando el dispositivo los soporta.
- Requisito WebRTC: Tanto el teléfono como el navegador de escritorio deben disponer de acceso a Internet para la negociación inicial mediante PeerJS. En entornos locales aislados se requiere un servidor PeerJS propio (configurable con las claves
blockwerk_peer_host/blockwerk_peer_portenlocalStorage). - Nivel de búfer: La salida
bufferLevelindica el tiempo de anticipación del búfer en milisegundos. Conéctela a un display o aserción para supervisar la estabilidad del enlace. - Exportación de datos brutos: Con la simulación activa, pulse el botón de grabación del bloque para registrar los paquetes brutos de telemetría (marcas de tiempo, fluctuación, lecturas de ejes) y exportarlos en formato CSV.
- Valores en desconexión: Todos los puertos entregan
0hasta que el teléfono establece conexión y comienza a emitir datos.
Bloques Relacionados
- PhoneController: Mismo mecanismo de enlace QR, pero con un joystick virtual táctil (o modo inclinación) que genera consignas de control X/Y — idóneo para demostraciones interactivas como "Fly the Quadcopter (Live)".
- MQTTSubscriber: Alternativa para recepción de datos de sensores remotos a través de un intermediario MQTT.
- ExternalInput: Fuente ligera para valores numéricos ajustables manualmente o por script.