# Sensors Page - Mocked Specification
**Route:** `#/sensors` | **Source:** `app/sensors/page.tsx`
**Status:** Mocked - Real implementation pending
## Overview
Advanced sensor dashboard with real-time monitoring. Currently uses mock data; OSC MCP will provide real sensor data.
## Components
- **MCPStatusBanner** - OSC (Sensor Data) server status
- **Sensor panels** - LiDAR, IMU, Ultrasonic, Camera, Thermal, Fusion
## Mock Data Structure
### LiDAR
- status: 'active'
- scanRate: 10 Hz
- range: 0.1 - 10.0 m
- resolution: 0.01
- 360 points with angle, distance, intensity, timestamp
- obstacles: [{ id, x, y, distance, confidence }]
### IMU
- status: 'nominal'
- accelerometer: x/y/z arrays, range -16..16, resolution 0.001
- gyroscope: x/y/z arrays, range -2000..2000, resolution 0.1
- temperature: number
- calibration: { status, lastCalibrated }
### Ultrasonic
- status: 'active'
- sensors: [{ id, position, distance, maxRange, status, temperature }] (front, rear, left, right)
- accuracy: 0.01
- updateRate: 20 Hz
### Camera
- status: 'streaming'
- resolution: 1920x1080
- fps: 30, format: MJPEG, compression: 75
- objects: [{ id, label, confidence, bbox }]
- streamUrl: rtsp://robot.local:554/stream
- recording: boolean
### Thermal
- status: 'active'
- resolution: 160x120
- temperature: { min, max, avg }
- hotspots: [{ x, y, temperature, confidence }]
### Fusion
- status: 'active'
- algorithms: ['Kalman Filter', 'Particle Filter', 'SLAM']
- confidence: number
- processingLatency: ms
- cpuUsage: percent
## Real-Time Simulation
- 10Hz interval updates LiDAR points, IMU accel/gyro, temperature
- dataHistory accumulates last 100 samples
- realTimeMode toggle
## API Integration (Real Implementation)
- **OSC MCP** - `calibrate_sensor`, sensor data streams
- **mcpService.oscCallTool()** - for calibration
- **mcpService.checkHealth('osc')** - connection status
## Export
- JSON export of sensor data via Blob/URL download