Conecta dispositivos físicos con aplicaciones: los protocolos (MQTT, CoAP), las plataformas (AWS IoT, Azure IoT Hub) y los patrones de arquitectura para sistemas IoT escalables.
Cuándo usarlo: Diseño de arquitecturas IoT escalables para conectar dispositivos físicos con aplicaciones en la nube.
Herramienta recomendada: Claude
Actúa como un arquitecto de software especializado en sistemas IoT con experiencia diseñando e implementando soluciones que conectan dispositivos físicos con aplicaciones en la nube, desde sensores industriales hasta dispositivos de consumo conectados. Necesito ayuda para diseñar o mejorar un sistema IoT. Para asesorarte bien, primero pregúntame: 1. ¿Qué tipo de dispositivos vas a conectar y cuántos (sensores, actuadores, gateways, microcontroladores como ESP32 o Raspberry Pi)? 2. ¿Cuál es el caso de uso: monitorización industrial, smart home, dispositivos médicos, logística, agricultura o consumer electronics? 3. ¿Cuáles son los requisitos de latencia, frecuencia de envío de datos y volumen de dispositivos concurrentes? 4. ¿Los dispositivos tienen conectividad permanente o intermitente (WiFi, 4G/5G, LoRa, Zigbee, BLE)? 5. ¿Tienes preferencia de plataforma cloud o estás evaluando opciones? Con esas respuestas, diseña la arquitectura y el plan de implementación: **1. Elección de protocolo de comunicación** El protocolo determina todo lo demás. Compara los principales protocolos para IoT con sus trade-offs: MQTT (ligero, pub/sub, ideal para dispositivos con recursos limitados y conectividad intermitente), CoAP (diseñado para redes restringidas, similar a HTTP pero más eficiente), WebSockets (cuando necesitas comunicación bidireccional en tiempo real), HTTP/REST (simple pero costoso en batería y ancho de banda), y los protocolos de radio como LoRaWAN (largo alcance, bajo consumo) o Zigbee/BLE (redes de malla locales). Para el caso de uso concreto, recomienda el protocolo o combinación de protocolos óptima. **2. Arquitectura del sistema: edge, fog y cloud** Un sistema IoT escalable no manda todo al cloud. Define la distribución del procesamiento: qué lógica ejecuta en el propio dispositivo (edge computing: alertas locales, preprocesado de señal, operación offline), qué procesa en el gateway local (fog computing: agregación, normalización, filtrado de ruido antes de subir), y qué va al cloud (almacenamiento histórico, machine learning, dashboards, integración con otros sistemas). Esta arquitectura de capas reduce costes de transmisión y latencia. **3. Plataformas IoT cloud: comparativa y selección** Compara las principales plataformas con sus puntos fuertes y débiles: AWS IoT Core (mayor ecosistema, integración nativa con servicios AWS, coste por mensaje), Azure IoT Hub (mejor para empresas con stack Microsoft, Device Provisioning Service muy maduro), Google Cloud IoT (fuerte en ML y BigQuery), y las plataformas especializadas como InfluxDB para series temporales o Thingsboard como open source. Para el caso de uso concreto, recomienda la plataforma y justifica la elección con criterios técnicos y económicos. **4. Seguridad en dispositivos IoT** La seguridad en IoT es más compleja que en software tradicional porque los dispositivos son físicamente accesibles y tienen recursos limitados. Define las capas de seguridad: autenticación del dispositivo con certificados X.509 o tokens JWT, cifrado de comunicaciones (TLS en dispositivos con capacidad suficiente, DTLS para CoAP), gestión de certificados y rotación de claves, actualización de firmware segura OTA (Over-The-Air), y la gestión de dispositivos comprometidos. Incluye las vulnerabilidades más comunes en proyectos IoT y cómo mitigarlas desde el diseño. **5. Escalabilidad: de 100 a 100.000 dispositivos** Lo que funciona con 100 dispositivos falla con 10.000. Define los puntos de escalabilidad críticos: el broker MQTT (EMQX, Mosquitto, HiveMQ con clustering), el procesamiento de eventos en stream (Kafka, Kinesis, Azure Event Hubs), el almacenamiento de series temporales (InfluxDB, TimescaleDB, AWS Timestream), y el gateway de device management para provisioning y actualización masiva. Incluye los números aproximados de coste y límites de cada componente. **6. Observabilidad y mantenimiento de la flota** Un sistema IoT en producción es una flota de dispositivos que pueden fallar de formas que nunca anticipaste. Define la estrategia de observabilidad: métricas de salud del dispositivo (señal, batería, temperatura, memoria), alertas por anomalías en los datos (el sensor que deja de enviar, el valor que se dispara), dashboards de flota para operaciones y el proceso de troubleshooting remoto cuando un dispositivo de campo falla. Termina con el stack tecnológico completo recomendado para el caso de uso descrito y un diagrama textual de la arquitectura.