Gestionar una flota de cientos de dispositivos físicos en campo, como cargadores de vehículos eléctricos, implica retos que van mucho más allá del despliegue de software tradicional. Cuando hablamos de actualizaciones OTA (over-the-air), cada actualización de firmware puede interrumpir una sesión activa de carga, generar costosas visitas técnicas y poner en riesgo la reputación del producto. En este artículo compartimos una visión práctica, basada en la experiencia real de construir pipelines OTA sobre AWS IoT Core para más de 300 cargadores distribuidos en varios estados de EE.UU. No se trata de un tutorial, sino de un análisis de arquitectura de producción, donde cada decisión se tomó con la seguridad, la escalabilidad y la continuidad operativa como prioridades.
El punto de partida fue un broker MQTT auto-gestionado, que pronto mostró sus limitaciones en cuatro frentes: escalado, gestión de dispositivos, seguridad y carga operativa. La migración a AWS IoT Core no fue trivial, pero resolvió de golpe la necesidad de un registro centralizado de dispositivos, sombras (device shadows) que mantienen el estado incluso cuando el cargador está desconectado, y un potente sistema de trabajos (IoT Jobs) que garantiza la entrega de instrucciones con reintentos automáticos. En Q2BSTUDIO, como empresa de desarrollo de software y tecnología, aplicamos este mismo enfoque en nuestros proyectos de servicios cloud AWS y Azure, integrando infraestructura gestionada que libera a los equipos de tareas repetitivas.
Uno de los aspectos más críticos fue proteger las sesiones activas de carga. No basta con programar las actualizaciones en ventanas de baja actividad; se necesita una verificación en tiempo real del estado de cada puerto antes de lanzar un trabajo de actualización. Implementamos una API de estado de cargadores apoyada en Metabase, que consulta los datos actualizados de cada dispositivo (sesión activa, versiones instaladas, último heartbeat). Solo cuando ambos puertos están libres y la versión objetivo es diferente a la actual, se crea el trabajo en IoT Core. Esta lógica de pre-despliegue es un ejemplo de cómo el software a medida puede resolver problemas específicos de negocio, evitando a la vez costes operativos innecesarios.
Otro desafío importante fue el orden de actualización de múltiples componentes de firmware. Un cargador EV no es una sola aplicación: tiene un controlador principal, un módulo de pago y una pila de conectividad, con dependencias estrictas entre ellos. Actualizar el módulo de pago antes que el controlador puede dejar el cargador inoperativo para cobrar, aunque siga suministrando energía. Para evitarlo, definimos un grafo de dependencias por generación de hardware, almacenado como configuración. El backend respeta el orden al crear los trabajos, y el propio dispositivo rechaza cualquier actualización fuera de secuencia. Esta doble verificación es esencial cuando se trabaja con ia para empresas y sistemas embebidos que deben operar de forma autónoma.
La observabilidad de una flota de dispositivos físicos requiere métricas diferentes a las de un servicio cloud. No basta con monitorizar servidores; hay que saber qué versión de firmware tiene cada cargador, cuántos han completado la actualización y cuántos han fallado. Utilizamos las sombras de IoT Core agregadas en CloudWatch y visualizadas en Grafana, con alertas que lanzan trabajos de reversión automática si un lote muestra tasas de error elevadas. Además, cada evento de trabajo se registra en CloudWatch Logs a través de las reglas de IoT, creando una traza de auditoría por dispositivo. Este nivel de detalle es fundamental cuando se gestionan agentes IA y sistemas de automatización crítica.
La seguridad es otro pilar innegociable. Cada cargador tiene un certificado X.509 único, registrado en IoT Core, y una política que restringe el acceso a sus propios topics MQTT mediante la variable ${iot:ClientId}. De esta forma, un dispositivo comprometido no puede leer datos ni recibir trabajos de otro. Aunque la rotación automática de certificados sigue siendo una mejora pendiente en nuestra flota, recomendamos implementarla desde el inicio. En Q2BSTUDIO ofrecemos ciberseguridad y pentesting para asegurar que cada capa de comunicación cumple con los estándares más exigentes.
Más allá de la tecnología, la lección más valiosa es que la ingeniería de producto debe anticipar los fallos de los dispositivos en el mundo real. La combinación de pre-chequeo de sesiones, orden de componentes definido por grafo, observabilidad orientada a flota y políticas de seguridad granulares nos ha permitido realizar cientos de actualizaciones OTA sin una sola interrupción de sesión de carga. Para lograr esto, no basta con herramientas; se necesita una estrategia que integre servicios inteligencia de negocio como Power BI para analizar tendencias de actualización, y soluciones de inteligencia artificial para predecir ventanas óptimas de despliegue. En Q2BSTUDIO, ayudamos a las empresas a diseñar y construir estas arquitecturas complejas, desde la nube hasta el dispositivo, combinando aplicaciones a medida con plataformas cloud de primer nivel.


