Introducción a Protocolos IoT

Agustin Bassi

Feb 27, 2021 ‧ 25 min estimados ‧ #iot #protocols #communications

Contenido

Objetivos

Contexto general de IoT

Protocolos de IoT

Comparación de protocolos

Capas de comunicación OSI en IoT

Recomendaciones generales

Conclusiones

Bibliografía

Licencia

Objetivos

Lo que vas a ver en este documento son los siguientes temas:

Contexto general de IoT

En esta sección vas a ver el panorama actual en que se encuentra IoT y también algunas generalidades sobre los tipos de arquitecturas que suelen desplegarse.

El contexto general de IoT que vas a ver en este documento es únicamente a modo introductorio para dar paso a los protocolos. Si querés ver una descripción más específica, podés leer nuestro documento de Introducción general a IoT, donde vas a poder entender el tema desde un punto de vista más amplio.

Panorama actual de IoT

El IoT involucra aplicaciones desde electrónica personal hasta máquinas industriales y sensores  que se conectan a Internet de forma inalámbrica. Al abarcar tantos casos de uso, en diversos entornos e industrias, no hay una solución que sobresalga como única.

Este panorama suele resultar complejo, ya que existen varios estándares, apuntados a diferentes mercados y utilizando diferentes protocolos de comunicación, por lo que puede resultar bastante complejo elegir la tecnología adecuada para una aplicación IoT.

En la imagen a continuación podés ver algunas de las iniciativas y alianzas propuestas para IoT, que demuestra la gran variedad de soluciones y fragmentación que presenta el mercado.

Formas de comunicación

En muchas ocasiones, los dispositivos IoT suelen estar conectados a internet a través de una red IP. Sin embargo, esto no es posible en soluciones donde los dispositivos se encuentran conectados en lugares remotos, alimentados a batería y con escasos recursos.

La diferencia principal entre redes IP y no-IP radica en la potencia, el alcance y la capacidad de cómputo utilizados. Para las conexiones en redes IP se requiere una complejidad general superior respecto a otro tipo de comunicaciones; aunque en estos casos la distancia no representa un problema (con IP se puede llegar a cualquier lugar del mundo). Por otro lado, las redes no-IP son más simples pero tienen limitación en el alcance.

Muchas soluciones de IoT suelen desplegarse realizando una combinación de redes IP y no-IP, con el propósito de mejorar el consumo de energía, la transmisión de los datos, y el alcance.

En la siguiente figura podés ver un caso de implementación típico donde se utiliza una combinación de redes IP y no-IP para desplegar una solución IoT.

Bajo este contexto, es importante que entiendas las particularidades y naturalezas de cada aplicación para encontrar el tipo de comunicación adecuado, que pueda ser flexible, escalar y no estar atado a un proveedor específico. Para todo ello, el punto clave es elegir adecuadamente los protocolos de comunicación de una solución.

Protocolos de IoT

Existe una gran variedad de opciones de conectividad a la hora de hablar de protocolos de IoT. Muchas son tecnologías bien conocidas, como WiFi, Bluetooth, ZigBee y celulares, pero también podés encontrar varias opciones de redes alternativas que se están implementando en varios lugares del mundo para el desarrollo de aplicaciones IoT.

Dependiendo de la aplicación es necesario analizar factores como el alcance, la transmisión de datos, la seguridad, la energía y la duración de las baterías. Todo un conjunto de aspectos que dictarán la elección de una tecnología o varias combinadas.

En esta sección vas a ver algunas de las tecnologías principales que se encuentran disponibles.

Bluetooth

Es una importante tecnología para comunicaciones de corto alcance que se ha vuelto muy importante en la informática y en productos de consumo masivo.

BLE (Bluetooth Low Energy) es una versión reciente incluida en el estándar del protocolo y que es importante para aplicaciones de IoT, ya que ofrece un alcance similar al de Bluetooth Classic, pero fue diseñado específicamente para aplicaciones de bajo consumo de energía.

Sin embargo, BLE no está diseñado para transferencia de grandes volúmenes de datos y es más adecuado para paquetes pequeños. Si se necesita mayor demanda de datos conviene el Bluetooth Classic. Se integra fácilmente con smartphones y muchos dispositivos móviles.

Las principales características del protocolo son:

Zigbee

Tiene una gran implementación tradicionalmente en entornos industriales. Se basa en el protocolo IEEE802.15.4, que es una tecnología de red inalámbrica estándar de la industria que opera en aplicaciones en la banda de 2.4GHz.

Tiene ventajas significativas en sistemas que ofrecen operación de bajo consumo de energía, alta seguridad, robustez y alta escalabilidad, aunque el costo de los dispositivos suele ser más elevado que con otros protocolos.

Las principales características del protocolo son:

Z-Wave

Z-Wave es una tecnología de comunicaciones de RF de baja potencia que está diseñada principalmente para la automatización del hogar para productos como controladores de lámparas y sensores.

Está optimizado para una comunicación confiable y de baja latencia de pequeños paquetes de datos, opera en la banda por debajo de 1 GHz y es impermeable a la interferencia de WiFi y otras tecnologías inalámbricas en el rango de 2.4 GHz como Bluetooth o ZigBee.

Admite redes de malla completa sin la necesidad de un nodo coordinador y es muy escalable, permitiendo el control de cientos de dispositivos. Z-Wave utiliza un protocolo simple, que puede permitir un desarrollo rápido y eficiente, aunque su desventaja es que el único fabricante de chips es Sigma Designs.

Las principales características del protocolo son:

6LowPAN

Una tecnología clave basada en IP es 6LowPAN (Red de área personal inalámbrica de baja potencia IPv6). En lugar de ser una tecnología de protocolos de aplicación de IoT como Bluetooth o ZigBee, 6LowPAN es un protocolo de red.

El estándar tiene libertad de banda de frecuencia y capa física; se puede utilizar en múltiples plataformas de comunicaciones y está diseñado para enviar paquetes IPv6 a través de redes basadas en IEEE 802.15.4. Implementa estándares de IP abiertos como TCP, UDP, HTTP, COAP, MQTT y WebSockets.

Las principales características del protocolo son:

Thread

Thread es un protocolo de red IPv6 basado en IP dirigido a la automatización de hogares. Basado en 6LowPAN (y al igual que), no es un protocolo de aplicaciones IoT como Bluetooth o ZigBee. Desde el punto de vista de la aplicación, está diseñado principalmente como un complemento de WiFi para dispositivos de consumo que tiene limitaciones para su uso en una configuración de domótica.

Lanzado a mediados de 2014 por Thread Group, el protocolo es libre y se basa en varios estándares, incluidos IEEE 802.15.4, IPv6 y 6LoWPAN, y ofrece una solución basada en IP resistente para IoT.

Thread admite una red de malla que utiliza transceptores de radio IEEE 802.15.4 y es capaz de manejar hasta 250 nodos con altos niveles de autenticación y cifrado.

Las principales características del protocolo son:

Wi-Fi/802.11

La conectividad WiFi es ampliamente utilizada, especialmente por la omnipresencia de WiFi dentro del entorno doméstico y empresarial. Existe una amplia infraestructura, además de ofrecer una transferencia de datos rápida y la capacidad de manejar grandes cantidades de datos.

El estándar WiFi más utilizado es 802.11n, que ofrece un rendimiento en el rango de cientos Mbps, lo cual está bien para transferencias de archivos, pero puede consumir demasiada energía para muchas aplicaciones de IoT. En estos casos, es preferible que los dispositivos que usan estas redes estén conectados a la red de energía eléctrica.

Las principales características del protocolo son:

Celular

Para aplicaciones que requieran operación en distancias largas se puede utilizar las capacidades de comunicación celular GSM/3G/4G/5G.

Si bien la tecnología celular es capaz de enviar grandes cantidades de datos, el gasto y  consumo de energía pueden ser demasiado altos para muchas aplicaciones, aunque puede ser ideal para proyectos de datos de bajo ancho de banda basados ​​en sensores que enviarán muy poco cantidades de datos a través de Internet. En los últimos años, las operadoras de redes celulares están desplegando soluciones orientadas a IoT, que se basan en utilizar bandas de frecuencia de guarda, con poco ancho de banda y un bajo consumo de energía.

Las principales características del protocolo son:

NFC

NFC (Near Field Communication) es una tecnología que permite interacciones bidireccionales simples y seguras entre dispositivos electrónicos, y especialmente aplicable para teléfonos inteligentes, permitiendo a los consumidores realizar transacciones de pago sin contacto, acceder a contenido digital y conectar dispositivos electrónicos.

Amplía la capacidad de la tecnología de tarjetas sin contacto y permite que los dispositivos compartan información a una distancia del orden de centímetros.

Las principales características del protocolo son:

Sigfox

Una tecnología de amplio alcance es Sigfox, que en términos de alcance se encuentra entre WiFi y celular. Utiliza las bandas ISM (frecuencias no licenciadas) para transmitir datos en un espectro muy estrecho desde y hacia objetos conectados.

Es muy útil para aplicaciones que se ejecutan con una batería pequeña y solo requieren bajos niveles de transferencia de datos. Sigfox utiliza una tecnología llamada Ultra Narrow Band (UNB) que está diseñada para manejar bajas velocidades de transferencia de datos. La duración de las baterías puede durar hasta años sin cambiarse.

La tecnología ofrece una red robusta, de bajo consumo y escalable que puede comunicarse con millones de dispositivos que funcionan con baterías en áreas de varios kilómetros cuadrados.

Las principales características del protocolo son:

Neul

Neul aprovecha porciones muy pequeñas del espectro de espacios en blanco de TV para brindar alta escalabilidad, alta cobertura, baja potencia y redes inalámbricas de bajo costo. Se comunica mediante la radio de espacio en blanco para acceder al espectro UHF de alta calidad, disponible debido a la transición de TV analógica a digital.

La tecnología de comunicaciones se llama Weightless, que es una nueva tecnología de redes inalámbricas de área amplia diseñada para IoT que compite en gran medida con las soluciones GPRS, 3G, CDMA y LTE WAN existentes, y los dispositivos pueden durar años alimentados a baterías.

Las principales características del protocolo son:

LoRaWAN

LoRaWAN apunta a aplicaciones de red de área amplia de bajo consumo, con características específicamente diseñadas para soportar comunicaciones bidireccionales, seguridad y bajo costo.

Optimizado para bajo consumo de energía y compatible con grandes redes con millones de dispositivos, las velocidades de datos oscilan entre 0,3 kbps y 50 kbps.

Las principales características del protocolo son:

EnOcean

EnOcean es una tecnología inalámbrica de recolección de energía que se utiliza principalmente en sistemas de automatización de edificios y también se aplica a otras aplicaciones en la industria, el transporte, la logística y los hogares inteligentes.

Los módulos basados en la tecnología EnOcean combinan microconvertidores de energía con electrónica de potencia ultrabaja y permiten las comunicaciones inalámbricas entre sensores, interruptores, controladores y puertas de enlace inalámbricos sin batería.

En marzo de 2012, el estándar inalámbrico EnOcean fue ratificado como estándar internacional ISO/IEC 14543-3-10. El estándar cubre las capas 1 a 3 de OSI (interconexión de sistemas abiertos), que son las capas físicas, de enlace de datos y de red.

Los módulos inalámbricos de recolección de energía son fabricados y comercializados por la empresa EnOcean, que ofrece su tecnología y licencias para las funciones patentadas dentro del marco de EnOcean Alliance.

Las principales características del protocolo son:

Comparación de protocolos

En la siguiente figura podés ver algunos de los protocolos nombrados, comparados por el ancho de banda de sus datos y el alcance de los mismos.

Capas de comunicación OSI en IoT

Los dispositivos de IoT se comunican mediante protocolos que garantizan que la información de un dispositivo sea leída y comprendida por otro. Dada la diversidad de dispositivos de IoT disponibles, es importante utilizar el protocolo adecuado en el contexto adecuado.

El protocolo a utilizar depende de la capa de arquitectura del sistema en la que los datos necesitan viajar. El modelo de capas OSI proporciona un mapa de las diversas capas que envían y reciben datos que podés ver en la siguiente figura.

En muchos casos, las capas de sesión, presentación y aplicación (5, 6 y 7) se las suele agrupar dentro de una misma capa.

Para que tengas un panorama general sobre en qué capa encajan los protocolos de IoT, en la siguiente figura podés ver los detalles de algunos de los protocolos más conocidos.

En la siguiente tabla vamos a ver cual es la función principal de cada capa y algunos de los protocolos IoT relacionados con cada una.

Capa de aplicación

La capa de aplicación sirve como interfaz entre el usuario y el dispositivo. A continuación podés ver algunos de los protocolos IoT que entran dentro de esta capa.

MQTT

Un protocolo de mensajería diseñado para una comunicación ligera M2M y que se utiliza principalmente para conexiones de ancho de banda bajo en ubicaciones remotas. MQTT utiliza un patrón de publicador-suscriptor y es ideal para dispositivos pequeños que requieren un uso eficiente de la batería y el ancho de banda.

AMQP

Una capa de software que crea interoperabilidad entre middleware de mensajería. Ayuda a que una variedad de sistemas y aplicaciones trabajen juntos, creando mensajes estandarizados a escala industrial.

CoAP

Es un protocolo diseñado para entornos con un ancho de banda restringido y dispositivos con capacidad limitada. CoAP es también un protocolo de transferencia de documentos que se ejecuta sobre el UDP.

Capa de transporte

La capa de transporte habilita y protege la comunicación de los datos mientras viajan entre capas.

TCP (Transmission Control Protocol)

El protocolo dominante para la mayoría de la conectividad a Internet. Ofrece comunicación de host a host, dividiendo grandes conjuntos de datos en paquetes individuales y reenviando y reuniendo paquetes según sea necesario.

UDP (User Datagram Protocol)

Un protocolo de comunicaciones que permite la comunicación de proceso a proceso y se ejecuta sobre IP. UDP mejora las tasas de transferencia de datos sobre TCP y se adapta mejor a las aplicaciones que requieren transmisiones de datos donde pueden existir pérdidas.

Capa de red

La capa de red ayuda a los dispositivos individuales a comunicarse con el router. Es la capa que le brinda a cada dispositivo un número (dirección) para poder comunicarse.

IPv6

Esta actualización reciente de IPv4 enruta el tráfico a través de Internet e identifica y ubica dispositivos en la red.

6LoWPAN

Una versión de IPv6 de menor potencia que reduce los tiempos de transmisión.

Capa de enlace de datos

Esta capa transfiere datos dentro de la arquitectura del sistema, identificando y corrigiendo los errores encontrados en la capa física.

IEEE 802.15.4

Un estándar de radio para conexión inalámbrica de baja potencia. Se utiliza con Zigbee, 6LoWPAN y otros estándares para construir redes inalámbricas integradas.

LPWAN

Este tipo de red permite la comunicación a través de un mínimo de 500 metros. LoRaWAN es un ejemplo de LPWAN optimizado para un bajo consumo de energía.

Capa física

La capa física establece un canal de comunicación que permite que los dispositivos se conecten dentro de un entorno (medio físico) específico.

Bluetooth low energy (BLE)

Reduce drásticamente el consumo de energía y el costo y mantiene un rango de conectividad similar al del Bluetooth clásico. BLE funciona de forma nativa en todos los sistemas operativos móviles y se está convirtiendo rápidamente en el favorito de la electrónica de consumo debido a su bajo costo y su larga duración de batería.

Ethernet

Esta conexión por cable es una opción poco costosa que proporciona una conexión de datos rápida y de baja latencia.

Long term evolution (LTE)

Un estándar de comunicación de banda ancha inalámbrica para dispositivos móviles y terminales de datos. LTE aumenta la capacidad y la velocidad de las redes inalámbricas y admite  multidifusión.

Near field communication (NFC)

Un conjunto de protocolos de comunicación que utilizan campos electromagnéticos que permiten que dos dispositivos se comuniquen entre sí a distancias muy cortas. Los dispositivos habilitados para NFC funcionan como tarjetas de identificación y se usan comúnmente para pagos móviles sin contacto, emisión de boletos y tarjetas inteligentes.

Identificación por radiofrecuencia (RFID)

Utiliza campos electromagnéticos para rastrear etiquetas electrónicas sin alimentación. El hardware compatible suministra energía y se comunica con estas etiquetas, leyendo su información para identificación y autenticación.

Wi-Fi/802.11

Un estándar en hogares y oficinas. Aunque es una opción económica, es posible que no se adapte a todos los escenarios debido a su alcance limitado y al consumo de energía.

Recomendaciones generales

Lo importante es que entiendas que no existe una solución única. Para definir la arquitectura de una aplicación es necesario que consideres distintos aspectos, como la dependencia de un fabricante, el costo de una implementación, la comunidad de usuarios, si el tipo de tecnología es abierto o propietario, entre otros.

En la medida de lo posible conviene que uses protocolos estándar, abiertos y que puedan implementarse sin depender de un fabricante en particular, ya que sino, la solución te puede quedar atada a un proveedor y probablemente tengas problemas de integración a futuro.

Para el caso de los dispositivos, siempre que puedas intentá que se conecten a la red eléctrica para que no tengas que preocuparte por el consumo de energía. El diseñar dispositivos pensando en el bajo consumo requiere de complejidad extra en el desarrollo. Si podés conectarlos a la red eléctrica conviene que utilices un protocolo basado en IP (como MQTT, HTTP, CoAP, entre otros), ya que el despliegue de la red resulta relativamente sencillo y económico respecto a otras soluciones.

Si tenés que recurrir a una solución inalámbrica es necesario que previo a decidirte por una tecnología sepas dónde se van a desplegar los dispositivos. No es lo mismo desplegar una solución en una ciudad que en zonas remotas. En este último caso es necesario que consideres aspectos como el alcance y el consumo de energía.

Por supuesto que hay muchos más puntos a tener en cuenta, pero las recomendaciones que nombramos te brindan un panorama general de cómo se puede pensar y diseñar una solución teniendo en cuenta los criterios más importantes.

Conclusiones

En este documento vimos varios temas relacionados con los protocolos de IoT, pero para listar los más importantes, vimos los siguientes:

Bibliografía

Licencia

Este material es distribuido bajo licencia Creative Commons BY-SA 4.0. Podés encontrar detalles sobre el uso del material en este link.