← Índice del curso

Internet de las Cosas · Tema 2

Arquitectura de un sistema IoT

Entre el sensor que mide y el celular que muestra el resultado hay cinco o seis equipos y varios protocolos. Saber qué hace cada pieza, por dónde viaja un dato y en qué punto conviene decidir es lo que separa un montaje que funciona en el laboratorio de un sistema que sobrevive en el campo.

01 · Punto de partida

El viaje de un dato

Cuando mirás en el celular que el invernadero está a 24 °C, esa cifra hizo un recorrido largo: un sensor la midió, un microcontrolador le dio formato, una radio la transmitió, una red la llevó hasta un servidor, una base de datos la guardó y una aplicación la dibujó. Si cualquiera de esos pasos falla, el número no llega o llega viejo, y a veces nadie se entera.

En el tema anterior vimos las cuatro capas en forma general. Ahora las abrimos: qué componentes concretos hay en cada una, cómo se conectan entre sí, qué tipos de mensajes circulan y, sobre todo, dónde conviene tomar cada decisión. Esa última pregunta tiene consecuencias en la velocidad de respuesta, la energía, el costo y la tolerancia a fallas.

Todo lo que sigue en el curso (protocolos, almacenamiento, seguridad, actualización) se apoya en este mapa.

02 · Componentes

Las piezas del sistema

Además de las cuatro capas del tema 1 aparece un componente intermedio muy frecuente, el gateway (o pasarela), que no está presente en todos los sistemas. La tabla resume qué hace cada pieza, con qué hardware o servicio se implementa y qué suele fallar.

Componentes de un sistema IoT, su función y los problemas típicos de cada uno.
ComponenteFunciónEjemplosFalla típica
Dispositivo (nodo)Medir, actuar y comunicarESP32 con un sensor, placa con LoRa, módulo celularBatería agotada, sensor sucio, firmware colgado
GatewayUnir redes distintas, traducir protocolos, guardar y decidir localmenteRaspberry Pi, router industrial, hub domésticoEs un único punto de falla de todos los nodos que atiende
Red de accesoLlevar los datos desde el dispositivo hasta InternetPunto de acceso Wi-Fi, antena LoRa, red celularSeñal débil, interferencia, cobertura insuficiente
Broker o API de entradaRecibir los mensajes y repartirlosBroker MQTT, servidor HTTPSaturación, caída, credenciales vencidas
AlmacenamientoGuardar el historial y el estadoBase de series temporales, base de documentosCrecimiento del volumen, consultas lentas
Procesamiento y reglasDetectar condiciones, calcular, generar alertasMotor de reglas, funciones en la nubeReglas mal ajustadas, falsos avisos
AplicaciónMostrar datos y permitir el controlPanel web, aplicación móvil, notificacionesDatos viejos presentados como actuales

La tabla deja ver algo que sorprende al principio: la mayoría de los fallos no están en el dispositivo sino en los eslabones del medio. Una red que se cae o una credencial vencida dejan mudo a un equipo que funciona perfectamente. Por eso un sistema IoT bien diseñado vigila todos los eslabones, no solo los sensores.

03 · Topologías

Cómo se conectan los dispositivos

Hay cuatro maneras habituales de llevar los datos del dispositivo a la plataforma. Elegir una define el consumo, el costo por unidad, el alcance y qué pasa cuando algo falla.

Topologías de conexión de dispositivos IoT Cuatro esquemas. Directa: el dispositivo se conecta por Wi-Fi o celular a la nube. Con gateway: varios sensores se conectan por Bluetooth o Zigbee a un gateway, que sube los datos a la nube. Malla: los nodos se retransmiten entre sí hasta llegar al gateway. De largo alcance: nodos LoRa envían a una antena, que reenvía a la nube. NodoNube1 · Directa (Wi-Fi o celular) SensorSensorGatewayNube2 · Con gateway (BLE, Zigbee) NodoNodoNodoGateway3 · Malla NodoNodoAntenaNube4 · Largo alcance (LoRa) Más simple de armarMás energía por dispositivo Un gateway concentra muchos nodosAlcance de metros a decenas de metros LoRa y celular llegan a kilómetrosPocos datos, poca energía
Comparación de topologías. Los valores son órdenes de magnitud típicos.
TopologíaCómo funcionaAlcanceVentajaLimitación
DirectaCada nodo llega solo a Internet (Wi-Fi, celular)Alcance del punto de acceso o de la antenaSimple, sin intermediariosRadio con consumo alto; cada equipo necesita red propia
Con gatewayLos nodos hablan con un concentrador localMetros a decenas de metrosNodos baratos y de bajo consumo; decisión localEl gateway es un punto único de falla
MallaLos nodos se retransmiten entre síSe extiende con cada nodoCubre edificios grandes; hay rutas alternativasMás complejo; los nodos intermedios gastan energía
Largo alcanceNodos con radio LPWAN hablan con antenas lejanasKilómetrosAños de batería en campo abiertoMensajes cortos y poco frecuentes

No hay una opción mejor en abstracto. Un sensor de humedad en un campo de 200 hectáreas pide largo alcance; sesenta sensores de temperatura en un edificio de oficinas piden gateway o malla; un electrodoméstico enchufado y con Wi-Fi en la casa puede ir directo. La pregunta no es «¿qué tecnología es mejor?» sino «¿qué combina bien con la energía, el alcance y la cantidad de nodos que tengo?».

04 · Recorrido y demoras

El camino de un dato, paso a paso

Seguir un dato de punta a punta sirve para ubicar dónde se pierde tiempo y dónde se pueden perder mensajes. Tomemos una lectura de temperatura enviada por Wi-Fi con MQTT hasta una notificación en el celular:

Etapas de una lectura de temperatura hasta la notificación. Los tiempos son órdenes de magnitud con la red ya conectada.
EtapaQué ocurreTiempo típicoQué puede fallar
1. MediciónEl sensor convierte y el firmware lee el valor1 a 100 msLectura inválida o ruidosa
2. Armado del mensajeSe le agrega identificador, momento y formatomenos de 1 msReloj sin hora correcta
3. Transmisión localLa radio envía el paquete al punto de acceso5 a 50 msInterferencia, señal débil
4. Viaje por InternetEl paquete llega al servidor20 a 150 msCortes, saturación, DNS
5. BrokerRecibe y reparte a quienes están suscritos1 a 10 msCredenciales rechazadas, caída
6. Almacenamiento y reglasSe guarda y se evalúa la condición de alarma10 a 500 msBase lenta, reglas mal escritas
7. NotificaciónEl servicio de mensajería avisa al celular0,5 a 5 sServicio externo demorado

Sumando, una lectura llega al panel en menos de un segundo y a una notificación en unos pocos segundos. Dos conclusiones para el diseño. Primera: el camino depende de Internet, y su demora y su disponibilidad no las controlás vos. Segunda: los pasos más lentos están fuera del dispositivo, por lo que ahorrarle microsegundos al firmware no cambia nada si el viaje cuesta cientos de milisegundos.

05 · Mensajes

Cuatro tipos de información

Por el sistema circulan cuatro clases de mensajes con necesidades distintas. Tratarlas igual es un error común de diseño.

Tipos de información de un sistema IoT.
TipoSentidoEjemploCaracterística
TelemetríaDispositivo → plataformaTemperatura cada 5 minutosMuchos mensajes pequeños; perder uno no es grave
EventoDispositivo → plataforma«Puerta abierta», «batería baja»Poco frecuente pero importante; no debe perderse
ComandoPlataforma → dispositivo«Encender la bomba 10 minutos»Requiere confirmación y no ejecutarse dos veces
ConfiguraciónPlataforma → dispositivoCambiar el período de mediciónDebe persistir tras un reinicio

La telemetría tolera pérdidas: si falta la lectura de las 14:05, la de las 14:10 la reemplaza. Un evento, en cambio, se envía con garantía de entrega, y un comando necesita una confirmación de recibo para saber si se ejecutó. Esta distinción es la que justifica los niveles de calidad de servicio de MQTT que veremos en el bloque correspondiente.

También cambia el modelo de comunicación. La telemetría y los eventos se prestan al esquema de publicación y suscripción: el dispositivo publica sin saber quién escucha. Los comandos pueden usar el mismo esquema o pedido y respuesta (como HTTP), y la configuración suele consultarse al arrancar. Los temas 19 a 30 profundizan ambos modelos.

06 · Diseño

Dónde conviene decidir

Una misma regla («si la temperatura pasa de 8 °C, avisar») se puede ejecutar en tres lugares: en el dispositivo, en el gateway (o servidor local, llamado a veces borde) o en la nube. Cada uno tiene ventajas.

Comparación de los tres lugares donde puede tomarse una decisión.
CriterioDispositivoGateway localNube
Demora de respuestaMilisegundosDecenas de milisegundosCientos de milisegundos o más
Funciona sin InternetSíSí, mientras funcione la red localNo
Datos que hay que subirPocos (solo eventos)Pocos (filtrados)Todos
Ve varios dispositivos a la vezNoLos de su redTodos
Cambiar la reglaExige actualizar el firmwareFácilMuy fácil
Capacidad de cálculoMuy limitadaMediaCasi ilimitada

Una regla práctica: lo que tiene un plazo corto o debe funcionar sin red va lo más cerca posible del sensor; lo que necesita ver muchos dispositivos o cambiar seguido va a la nube. Apagar un motor que se sobrecalienta es una decisión del dispositivo. Detectar que, entre mil sensores, la temperatura sube en toda una zona, es de la nube. Lo habitual es combinarlas: el equipo protege y filtra, el gateway coordina el sitio y la nube analiza el conjunto.

07 · Gestión

Identidad y estado de cada dispositivo

Con un dispositivo, todo es fácil: sabés cuál es. Con cien, la plataforma necesita saber quién es cada uno y en qué estado está. De ahí salen dos elementos de la arquitectura que es mejor pensar desde el primer día.

  • Identidad. Cada dispositivo lleva un identificador único (y, en un sistema seguro, credenciales propias) para que sus mensajes se asocien a él y para poder revocarlo si se pierde o se compromete. Un identificador compartido por todos los equipos impide saber de quién viene cada dato.
  • Estado conocido. La plataforma mantiene lo último que supo de cada equipo: última lectura, versión de firmware, nivel de batería, si está en línea. Cuando un dispositivo no reporta, se distingue entre «no pasó nada» y «dejó de funcionar» con un mensaje periódico de «sigo vivo» (heartbeat).

A esa copia del estado dentro de la plataforma se la llama más adelante gemelo digital o shadow. Su valor es práctico: permite mandar un comando a un equipo que está apagado, porque la plataforma guarda el estado deseado y el dispositivo lo aplica al volver a conectarse. Lo estudiamos en el bloque de control remoto.

08 · Analogía con programación

Simular dónde se decide en Python

Para ver el efecto de la arquitectura basta un modelo simple. En una instalación ocurre un evento crítico por hora, durante 24 horas, y el sistema debe reaccionar dentro de un plazo_ms. La reacción se decide en el dispositivo (5 ms), en un gateway local (35 ms) o en la nube, donde se suma el tiempo de ida y vuelta por Internet y 20 ms de procesamiento en el servidor. La red tiene tres calidades; la peor sufre cortes de hasta tres horas por día, y durante un corte la nube no puede decidir nada. El programa cuenta cuántos de los 24 eventos se atienden a tiempo y cuántos mensajes y bytes se suben.

Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python». La primera vez tarda unos segundos en cargar.

CAPAS_MS = {"dispositivo": 5, "gateway": 35}          # decidir en el equipo o en el gateway local
REDES = {"buena": (80, 0), "regular": (300, 30), "mala": (1200, 180)}   # (ida y vuelta en ms, minutos de corte por día)
MSG_BYTES = 120


def simular(lugar, red, plazo_ms):
    rtt, corte_min = REDES[red]
    if lugar == "nube":
        latencia = 5 + rtt + 20                        # lectura + viaje de ida y vuelta + proceso en el servidor
    else:
        latencia = CAPAS_MS[lugar]
    atendidos = 0
    for k in range(24):                                # un evento crítico por hora, al minuto 15 de cada hora
        minuto = 15 + 60 * k
        sin_red = lugar == "nube" and minuto < corte_min     # el corte ocupa el comienzo del día
        if latencia <= plazo_ms and not sin_red:
            atendidos += 1
    mensajes = 1440 if lugar == "nube" else 48         # nube: cada lectura; otros: 24 eventos + 24 latidos
    return latencia, atendidos, mensajes, mensajes * MSG_BYTES / 1024


print("lugar         red      plazo  latencia  a tiempo  mensajes  KB/día")
for lugar, red, plazo in [("dispositivo", "buena", 100), ("gateway", "buena", 100),
                          ("nube", "buena", 100), ("nube", "buena", 500),
                          ("nube", "regular", 500), ("nube", "mala", 500),
                          ("gateway", "mala", 500), ("nube", "mala", 5000)]:
    lat, ok, msgs, kb = simular(lugar, red, plazo)
    print(f"{lugar:<12}  {red:<7}  {plazo:>5}  {lat:>6} ms  {ok:>5}/24  {msgs:>8}  {kb:>6.1f}")

Resultado con los valores iniciales: con un plazo de 100 ms, el dispositivo y el gateway atienden los 24 eventos (5 ms y 35 ms), pero la nube, aun con red buena, tarda 105 ms y no atiende ninguno. Con un plazo de 500 ms la nube con red buena atiende 24 de 24, con red regular 23 (el corte de 30 minutos se lleva el evento de las 00:15) y con red mala 0, porque la respuesta tarda 1225 ms. Dando 5 segundos de plazo con la red mala, la nube atiende 21 de 24: el corte de 180 minutos se lleva tres eventos. En mensajes, la nube sube 1440 por día (168,8 KB) y las otras opciones 48 (5,6 KB).

Dos ideas surgen del modelo. Una: el plazo decide el lugar, porque la demora de Internet es un piso que ninguna optimización del código baja. Otra: la nube compra flexibilidad pagando demora, dependencia de la red y volumen de datos. Elegir es equilibrar esas tres cosas según la función que se trata.

09 · Exploración interactiva

Dispositivo, gateway o nube, de extremo a extremo

Este laboratorio ejecuta el mismo modelo del código anterior y dibuja los 24 eventos críticos del día. Los círculos celestes son eventos atendidos a tiempo y los rojos, los que se perdieron por llegar tarde o por un corte de red; la franja naranja marca la duración del corte. Los tiempos son valores didácticos de orden de magnitud, no mediciones de una red real.

Decidir cerca o lejos

Tiempo de reacción—
Plazo exigido—
Eventos atendidos a tiempo—
Mensajes subidos por día—
Datos subidos por día—
Resultado—

Elegí los parámetros y presioná «Simular un día».

Recorrido guiado

  1. Con los valores iniciales (nube, red regular, 500 ms), simulá. La respuesta tarda 325 ms y entra en el plazo, pero se atienden 23 de 24 eventos: el corte de 30 minutos del comienzo del día se lleva el de las 00:15.
  2. Poné el plazo en 100 ms y la red en «Buena». La nube responde en 105 ms: ningún evento llega a tiempo, aun sin cortes. Es el piso que impone Internet.
  3. Cambiá el lugar a gateway: 35 ms, 24 de 24. Cambiá a dispositivo: 5 ms. Ninguno de los dos depende de la red, y suben 48 mensajes por día en lugar de 1440.
  4. Volvé a la nube con red «Mala» y plazo de 500 ms. La respuesta tarda 1225 ms y se pierden los 24 eventos. Con plazo de 5 s, ahora sí responde a tiempo, pero 21 de 24: el corte de tres horas se lleva tres eventos.
  5. Con red «Mala» y plazo de 500 ms, elegí «gateway»: 24 de 24. La calidad de Internet ya no importa para la decisión; solo para subir el resumen.
  6. Compará los mensajes por día de la nube (1440, 168,8 KB) con los del dispositivo y el gateway (48, 5,6 KB): casi 30 veces menos datos subidos.
Desafío: el precio de decidir en el equipo

Decidir en el dispositivo parece ganar siempre, ¿por qué no se hace con todo? Porque cambiar una regla exige actualizar el firmware de cada equipo. Si el umbral de alarma de 8 °C pasa a 7 °C, con 1000 dispositivos en el campo hay que distribuir y verificar 1000 actualizaciones, con el riesgo de que alguna falle. En la nube la misma modificación es un cambio de configuración. Una solución intermedia es que el firmware decida con parámetros (por ejemplo, el umbral) que la nube puede cambiar sin actualizar el programa: el equipo conserva la rapidez y la autonomía, y la plataforma, la flexibilidad.

10 · Método de trabajo

Cómo diseñar la arquitectura

Para esbozar la arquitectura de un sistema nuevo, recorré estas preguntas en orden:

  1. ¿Cuántos dispositivos habrá y dónde? Uno en una casa, cincuenta en un edificio o diez mil dispersos cambian toda la arquitectura.
  2. ¿Tienen energía de la red o batería? Con batería, el consumo de la radio manda y favorece gateway o LPWAN.
  3. ¿Qué alcance necesita cada enlace? Metros, edificio o kilómetros: define la tecnología de radio.
  4. ¿Qué decisiones tienen plazo corto o deben funcionar sin Internet? Esas viven en el dispositivo o en el gateway.
  5. ¿Qué mensajes circulan? Separá telemetría, eventos, comandos y configuración, y fijá para cada uno cuánta pérdida admite.
  6. ¿Cómo se identifica cada equipo y cómo se sabe si está vivo? Identificador, credenciales y mensaje de latido.
  7. ¿Qué pasa en cada eslabón cuando falla? Para cada flecha del diagrama, definí qué hace el sistema si ese enlace cae.
  8. ¿Cómo crece? Qué cambia si los dispositivos se multiplican por diez.

Dibujá el diagrama de bloques antes de elegir ningún componente. Un buen esquema, con cada flecha rotulada con el protocolo y el tipo de mensaje, evita decidir por moda («usemos todo en la nube») en lugar de por requisitos.

11 · Comprensión

Confusiones frecuentes

«Un gateway es lo mismo que un router»

Un router enlaza redes del mismo tipo reenviando paquetes IP. Un gateway IoT además traduce entre tecnologías distintas (por ejemplo, de Zigbee a MQTT sobre Ethernet) y puede almacenar datos y tomar decisiones. A veces un mismo equipo cumple ambas funciones, pero son tareas diferentes.

«Con una nube potente no hace falta inteligencia en el dispositivo»

La nube no puede reaccionar más rápido que el tiempo de ida y vuelta de Internet ni funcionar cuando se corta la conexión. Las funciones de seguridad, las de plazo corto y el filtrado de datos para ahorrar energía y red deben estar cerca del sensor.

«Si el dispositivo no reporta, está roto»

Puede estar sin batería, sin cobertura, con credenciales vencidas o simplemente el broker puede estar caído. El silencio tiene muchas causas. Por eso se envían latidos y la plataforma registra desde cuándo no hay noticias, para distinguir el origen de la falla.

«La telemetría y los comandos se tratan igual»

No: la telemetría tolera pérdidas, mientras que un comando debe confirmarse y no ejecutarse dos veces. Mezclarlos lleva a perder órdenes importantes o a repetir acciones (por ejemplo, abrir dos veces una válvula).

«Más capas es mejor arquitectura»

Cada capa agrega un posible punto de falla, un costo y una demora. Un sensor doméstico con Wi-Fi no necesita gateway ni procesamiento de borde. La arquitectura correcta es la más simple que cumple los requisitos.

«La arquitectura se puede cambiar después sin problemas»

Cambiar de Wi-Fi a LoRa implica otro hardware, y cambiar los mensajes obliga a actualizar equipos en el campo. Las decisiones sobre la radio, el formato de datos y la identidad son difíciles de modificar una vez fabricado el producto, por eso conviene pensarlas con cuidado al inicio.

12 · Práctica guiada

Predecí antes de comprobar

1. Elegir la topología

Indicá qué topología conviene para: (a) 40 sensores de temperatura de oficina alimentados por batería, dentro de un edificio; (b) un medidor de caudal en un río a 8 km del pueblo; (c) una cámara de seguridad enchufada con Wi-Fi.

Ver solución

(a) Con gateway o malla, con radios de bajo consumo (BLE, Zigbee o Thread): los nodos son baratos y viven años con batería. (b) Largo alcance (LoRa o celular de bajo consumo): el alcance de kilómetros y el consumo mínimo son decisivos. (c) Directa por Wi-Fi: tiene energía de la red y buen ancho de banda.

2. Clasificar mensajes

Clasificá como telemetría, evento, comando o configuración: (a) temperatura cada minuto; (b) «apagar la bomba»; (c) «nuevo período de medición: 5 minutos»; (d) «tanque vacío».

Ver solución

(a) telemetría; (b) comando; (c) configuración; (d) evento. Los eventos y los comandos necesitan garantía de entrega y confirmación; la telemetría y la configuración toleran más.

3. Plazo y lugar de decisión

Un sistema debe cortar un calefactor en menos de 200 ms si la temperatura supera un límite peligroso. El tiempo de ida y vuelta a la nube es de 150 ms más 25 ms de procesamiento en el servidor. ¿Se puede decidir en la nube?

Ver solución

Hay unos 180 ms de reacción (más la lectura del sensor), que apenas entran en el plazo en el mejor momento. Cualquier demora de red lo supera y, además, un corte de Internet dejaría el calefactor sin control. Se trata de una función de seguridad: debe decidirse en el dispositivo. La nube puede registrar el evento.

4. Volumen de datos

Si 500 dispositivos suben cada lectura (1 por minuto) en lugar de enviar solo 48 mensajes por día, ¿cuántos mensajes diarios recibe la plataforma en cada caso?

Ver solución

Con una lectura por minuto: 1440 × 500 = 720.000 mensajes por día. Con 48 por dispositivo: 48 × 500 = 24.000. Es una reducción de 30 veces en lo que el servidor debe recibir, guardar y procesar.

5. Cortes de Internet

Una conexión sufre cortes de 3 horas por día. ¿Qué fracción del día está sin servicio? Si todas las decisiones se toman en la nube, ¿qué consecuencia tiene?

Ver solución

180 / 1440 = 0,125, es decir 12,5 % del día. Durante ese tiempo el sistema no tendría ninguna decisión: no apagaría nada ni daría alarmas locales. Por eso las funciones críticas se toman cerca del equipo y la nube analiza y coordina.

6. El punto único de falla

Veinte sensores BLE dependen de un único gateway. ¿Qué ocurre si se apaga y cómo se mitiga?

Ver solución

Los veinte quedan incomunicados al mismo tiempo, aunque todos funcionen. Se mitiga con un segundo gateway en cobertura redundante, con almacenamiento local en cada sensor mientras no hay quien reciba, y con vigilancia del propio gateway (latido) para enterarse enseguida de la falla.

13 · Síntesis

Ideas para recordar

  • Un sistema IoT tiene dispositivos, red de acceso, un gateway opcional, una plataforma con broker, almacenamiento y reglas, y una aplicación.
  • La mayoría de las fallas están en los eslabones del medio (red, credenciales, servidor); por eso se vigila todo el recorrido y no solo los sensores.
  • Hay cuatro topologías habituales: directa, con gateway, malla y largo alcance; se elige según energía, alcance y cantidad de nodos.
  • El camino de un dato suma milisegundos de medición y transmisión y cientos de milisegundos de Internet; el viaje por Internet es un piso que el firmware no puede reducir.
  • Circulan cuatro clases de mensajes: telemetría, eventos, comandos y configuración, con distintas exigencias de entrega.
  • Lo que tiene plazo corto o debe funcionar sin red se decide en el dispositivo o en el gateway; lo que necesita ver muchos equipos o cambiar seguido, en la nube.
  • Las funciones de seguridad física nunca deben depender de un mensaje desde Internet.
  • Cada dispositivo necesita identidad propia y un estado conocido por la plataforma, con latidos para saber si sigue vivo.
  • La arquitectura correcta es la más simple que cumple los requisitos, porque cada capa agrega costo, demora y puntos de falla.

¿Listo para el tema 3?

Antes de avanzar, dibujá de memoria la arquitectura de un sistema que conozcas (con o sin gateway), rotulá qué mensaje circula en cada flecha y explicá dónde ubicarías una función de seguridad y dónde un análisis que compara mil dispositivos. Si podés justificarlo, tenés el mapa que usaremos en todo el curso.

En el próximo tema recorremos dispositivos conectados y casos de uso: hogar, industria, agro, ciudad y salud, qué se mide y qué se controla en cada uno y qué exigencias de arquitectura imponen.