Design
IoT móvil · Bluetooth + MQTT · observabilidad
Repositorio unificado para prácticas de arquitectura IoT: una app móvil controla dos escenarios de hardware. **Casa inteligente** — dashboard con telemetría (temperatura, humedad, puerta/servo, LED), control manual por Bluetooth Classic (HC-05) o vía API remota con SSE, y firmware Arduino con botones y comandos serie. **Semáforo y estacionamiento** — lógica de plazas, reserva/liberación y estado JSON desde el Arduino, parseada en la app (`parking.js`) para reflejar ocupación y semáforo en tiempo real. El stack de observabilidad corre en Docker: Mosquitto, backend FastAPI (`/metrics`, `/api/stream`), Prometheus, Alertmanager y Grafana.
Visual style: Expo 54, tabs (Control, Dashboard, Datos, Ajustes), tema claro/oscuro, WebView Grafana y diagrama Mermaid en `docs/`
Casa inteligente
HC-05 por Bluetooth Classic (Android), servo de puerta, LED PWM, sensor de temperatura y puente serie→MQTT cuando el backend corre en Docker.
Semáforo y estacionamiento
Tres plazas con sensores y reservas; la app interpreta JSON y respuestas RESERVA/LIBERAR del firmware para actualizar ocupación y señalización.
Backend y métricas
FastAPI publica estado, SSE y Prometheus; compose con Redis, Mosquitto y dashboards Grafana provisionados en `infra/`.
Build nativa
Requiere dev build (`expo prebuild` / `run:android`): módulos nativos de Bluetooth no funcionan en Expo Go.
Technical
Stack, complexity, and deployment context.
Stack
Expo
React Native
Arduino
HC-05
FastAPI
MQTT
Docker
Prometheus
Grafana
- Complexity
- High
- Estimated time
- Proyecto académico IoT (2 módulos)
- Deployment / context
- Docker Compose (infra/), APK Android (EAS / run:android)