Introducción a LoRaWAN

Agustin Bassi

Jun 05, 2021 ‧ 22 min estimados ‧ #lora #lorawan #lpwan #iot

Contenido

Objetivos

Contexto

LoRaWAN

Aspectos clave

Componentes

Arquitectura de la red

Clases de dispositivos

Factores importantes

Consumo de energía

Capacidad de la red

Seguridad

Comparación con otras tecnologías

Consideraciones

Conclusiones

Bibliografía

Licencia

Objetivos

LoRaWAN es un protocolo de red para soluciones que utilicen la tecnología LoRa como medio de comunicaciones. Lo que vamos a ver en este documento son los siguientes temas:

Contexto

Para que entiendas mejor este artículo es conveniente que leas la Intro a la tecnología LoRa donde te contamos los aspectos principales de la capa de comunicación LoRa.

Leyendo el artículo vas a entender las características generales, sus aspectos clave y sobre todo la diferencia con LoRaWAN, que a menudo se las nombra de manera indistinta pero no son lo mismo.

Para ponerte brevemente en contexto, LoRa es la capa física que se encarga de la comunicación por radiofrecuencia entre dispositivos, es la capa encargada de modular la señal, recibir y transmitir la información, el hardware en ciertas palabras. LoRaWAN es el protocolo de software que se utiliza para comunicarse entre los diferentes componentes de la red y que vamos a ver en este artículo.

LoRaWAN

La tecnología LoRa se trata de un medio para comunicar dispositivos a largas distancias con un reducido consumo de energía. Estas premisas la convierten en una tecnología ideal para el desarrollo de soluciones IoT.

LoRaWAN es el protocolo de red que brinda acceso al medio a los dispositivos que implementan LoRa y provee la infraestructura necesaria para poder operar, administrar y controlar redes de dispositivos remotos a través de internet de manera segura y escalable.

Las redes están formadas por los nodos finales - es decir los dispositivos remotos - que se conectan a gateways que brindan conectividad a los nodos. Los gateways luego se conectan a través de una comunicación IP con distintos servicios que posibilitan la administración y control de las redes.

El stack LoRaWAN está especificado por la organización LoRa Alliance, que se encarga de estandarizar y direccionar la tecnología para cumplir con requerimientos característicos de IoT como conexiones seguras, bajo consumo de energía, largo alcance, bajo ancho de banda, movilidad y servicios de localización​. En esta imagen vemos algunas aplicaciones que se pueden implementar con LoRaWAN.

LoRaWAN permite conectar dispositivos remotos sin necesidad de infraestructura compleja, y ofrece flexibilidad para adaptarla a las necesidades de cada proyecto. Por ejemplo se puede montar una red propia así como también acceder a redes públicas y privadas, administradores de red, aplicaciones listas para utilizar, entre muchas otras.

Veamos ahora algunos aspectos clave de la tecnología para poder analizar los potenciales y los posibles casos de uso.

Aspectos clave

LoRaWAN es un stack de tecnología muy amplio que abarca diferentes componentes y cada uno tiene sus respectivas características, pero a grandes rasgos podemos resaltar estos factores que la destacan.

Largo alcance

Conexión de dispositivos hasta 45 km en línea de visión en áreas rurales. Conexiones en zonas urbanas y en interiores.

Geolocalización

Provee geolocalización sin GPS en aplicaciones de seguimiento con un bajo consumo de baterías.

Bajo consumo

Requiere una mínima energía para funcionar, con duración de baterías de hasta 10 años dependiendo la aplicación.

Móvil

Mantiene comunicación con dispositivos en movimiento sin incrementar el consumo de energía.

Seguridad

Encriptado end-to-end bajo el protocolo AES128, con autenticación mutua, protección de integridad y confidencialidad.

Alta capacidad

Soporta millones de mensajes por estación base, alcanzando las necesidades de las redes públicas sirviendo a grandes mercados.

Estandarizado

Ofrece interoperabilidad entre dispositivos y conexiones globales a diferentes redes, acelerando el despliegue de aplicaciones.

Bajo costo

Reduce la inversión en infraestructura, el recambio de baterías y los costos operativos asociados al mantenimiento.

Componentes

El ecosistema está compuesto por diferentes actores que desempeñan funciones específicas dentro de la red, y en esta sección los describimos brevemente.

Dispositivos finales

Los dispositivos o nodos finales son sistemas que poseen integrada la capa física de comunicación LoRa que se usa para crear el enlace de comunicación. Son los dispositivos que se adaptan a las diversas aplicaciones de la industria, capaces de capturar y transmitir información relacionada con sensores y recibir información de control a través de los gateways.

Gateways

Los gateways - conocidos también como puertas de enlace, concentradores o estaciones base - son dispositivos que capturan y reciben información relacionada con los dispositivos finales y la envían a través de una comunicación TCP/IP por WiFi, Ethernet o celular al servidor de red.

Servidor de red

El servidor de red - o mejor network server - se conecta a varios gateways por TCP/IP, y se encarga de eliminar mensajes duplicados y decidir qué gateway debe responder a un mensaje de nodo final. También controla en los nodos finales la tasa de transmisión de datos para maximizar la capacidad de la red y extender la vida útil de sus baterías.

Servidores de aplicaciones

Los servidores de aplicaciones se conectan al servidor de red para enviar y recibir datos relacionados con las aplicaciones de los usuarios, por ejemplo la info para visualizar un dashboard de monitorización de dispositivos. Es posible desarrollar un software propio o utilizar algunas plataformas existentes que toman los datos de los dispositivos y aplican diferentes técnicas para resolver problemas de negocios.

Interacción de los componentes

Veamos con esta imagen las partes fundamentales de cada componente para entender a qué nivel y de qué manera suceden las comunicaciones en una solución con LoRaWAN.

Arquitectura de la red

La arquitectura de una solución LoRaWAN se compone de una red de redes en estrella. La primera estrella está formada por los nodos finales y los gateways; y la segunda estrella formada por los gateways y el network server. El servidor de red es el punto central que conecta a los dispositivos con las aplicaciones y que permite el control de la red. En esta imagen podemos ver cómo interactúan los componentes.

Las comunicaciones entre los dispositivos y el network server pueden ser unidireccionales o bidireccionales, y el estándar también soporta multicast, permitiendo la actualización de firmware por aire (firmware over the air o FUOTA) y difusión de mensajes en masa.

La comunicación entre los nodos finales y los gateways se hace en diferentes canales de frecuencias - conocidos como sub bandas - y a distintas velocidades de datos. La selección de la velocidad de datos es un compromiso entre el alcance, la duración y el consumo de energía del mensaje.

Algunas tecnologías de redes IoT utilizan una arquitectura de red mesh que permite aumentar el rango de comunicación y el tamaño de la red, pero en esos casos es necesario que los nodos finales sean capaces de reenviar mensajes a otros nodos, lo que afecta significativamente la vida útil de las baterías de los dispositivos. Al implementar una topología en estrella y delegar la lógica hacia el network server, LoRaWAN hace innecesaria la retransmisión de paquetes por parte de los dispositivos y el consumo se puede reducir al mínimo, prolongando por años la duración de las baterías.

En una red LoRaWAN los nodos finales no están asociados con un gateway en particular, sino que los datos que transmiten pueden ser recibidos por múltiples gateways al mismo tiempo en caso de estar en el rango de cobertura. Cada gateway envía los datos que recibe de los nodos finales hacia el network server, que se encarga de filtrar los paquetes duplicados, realizar comprobaciones de seguridad, reconocer el gateway óptimo, realizar adaptaciones de velocidad de datos y demás responsabilidades.

Clases de dispositivos

Al igual que en otro tipo de redes, los nodos finales en las redes LoRaWAN pueden tener diferentes funcionalidades. Cada clase de dispositivo es una compensación entre la latencia de comunicación y la vida útil de las baterías. En la siguiente figura podemos ver un gráfico con las principales descripciones de cada clase y su relación entre autonomía y latencia.

Clase A 

Los dispositivos Clase A pueden enviar información hacia los gateways en el momento que la aplicación necesite, y luego que transmiten se quedan esperando durante un tiempo para chequear si hay información que deben recibir a través del network server.

La transmisión del enlace descendente desde el network server en cualquier otro momento tiene que esperar hasta que ocurra la siguiente transmisión de enlace ascendente, es decir hasta que el nodo final vuelva a enviar información. Estos dispositivos ofrecen poca flexibilidad en las transmisiones de enlace descendente pero poseen el menor consumo de energía, y en esta figura vemos cómo funciona su esquema de recepción de datos.


Clase B

Los dispositivos Clase B tienen ventanas de recepción programadas cada determinado tiempo. Para este caso es necesario que el network server sincronice la red mediante un beacon para saber en qué momento estará escuchando un dispositivo final.

Esta configuración es útil para actuadores alimentados a batería que pueden responder de manera determinística a la recepción de un mensaje, y en esta figura vemos cómo funciona el esquema de recepción.

Clase C

Los dispositivos Clase C pueden estar escuchando constantemente el canal y pueden recibir un mensaje de enlace descendente en cualquier momento. Se utiliza en aplicaciones alimentadas con energía de red ya que se necesita mucha energía para mantener un nodo activo y con el receptor abierto en todo momento. En esta figura vemos cómo funciona el esquema de recepción.

Factores importantes

Veamos algunos aspectos que resultan importantes describir cómo se comportan y entender mejor el funcionamiento de LoRaWAN.

Consumo de energía

Los nodos en una red LoRaWAN se comunican con los gateways cuando tienen datos para enviar y esperan recibir datos provenientes del network server en los momentos indicados según la clase del dispositivo que vimos previamente. Este tipo de protocolo es típicamente conocido como el método Aloha.

En una red de mesh o con un síncrono red - como en las redes celulares - los nodos tienen que "despertarse" periódicamente para sincronizarse con la red y verificar si hay mensajes. Esta sincronización consume mucha energía y es el principal impulsor de la reducción de la vida útil de las baterías.

A través de las características que posee el stack LoRaWAN en su totalidad se abordan diferentes técnicas para llevar el consumo al mínimo. De manera predeterminada los nodos finales pueden ser configurados por el network server para ajustar dinámicamente la tasa de transmisión de datos - conocido como Adaptive Data Rate -, que controla en los dispositivos la configuración óptima para que se puedan comunicar con la red utilizando la menor energía posible. Así mismo, y esto es especialmente útil para las clases A y B de dispositivos que se alimentan a batería, las ventanas de recepción programadas redundan en un consumo de energía mínimo que se puede adecuar a las necesidades de cada solución y prolongar la vida útil de las baterías por mucho tiempo.

Podemos encontrar dispositivos alimentados con baterías como las 18650 o pilas de botón que pueden durar años sin necesidad de cambiarlas, y esto lo hace realmente útil cuando se tienen que desplegar aplicaciones en ubicaciones remotas a las que es difícil acceder.

En el gráfico a continuación podemos ver una comparativa entre el consumo de energía y la distancia de la comunicación evaluando distintas tecnologías inalámbricas, y podemos notar que LoRaWAN mantiene un consumo realmente bajo alcanzando grandes distancias.

Capacidad de la red

Para que la topología de estrella de LoRaWAN sea escalable los gateways deben tener capacidad suficiente para enviar y recibir mensajes de una elevada cantidad de nodos. Esta capacidad se logra modificando adecuadamente la tasa de datos adaptativa (ADR) y usando transceptores multicanal en los gateways para poder recibir mensajes en múltiples canales y al mismo tiempo. Los factores críticos que brindan capacidad a la red son el número de canales concurrentes, la velocidad de datos (time over the air), la longitud de los mensajes y la frecuencia a la cual los nodos transmiten.

Los gateways están preparados para recibir mensajes a múltiples velocidades de datos, en diferentes canales - o incluso en el mismo canal - y al mismo tiempo. Si un nodo tiene un buen enlace y está cerca de un gateway no hay razón para que siempre use la más baja velocidad de datos y utilice el canal - el espectro radioeléctrico - más tiempo del necesario. Al incrementar la velocidad de datos el tiempo en el aire disminuye, y esto permite que el canal de comunicación se encuentre liberado por más tiempo para que otros potenciales nodos puedan transmitir.

 [a]

Las soluciones LoRaWAN se pueden implementar con una infraestructura mínima y a medida que se necesite capacidad podés ir agregando más gateways, aumentar las velocidades de datos, reducir la sobrecarga en los gateways y aumentar la disponibilidad general de la red. En esta figura podemos ver un esquema complejo que contempla la comunicación entre dispositivos, gateways y el network server a diferentes niveles. Lo importante es que entiendas que podés armar una red con tan solo un nodo, un gateway y el network server, y a medida que vayas necesitando complejizar tu infraestructura en los lugares que necesites.

Otras alternativas LPWAN no tienen la escalabilidad de LoRaWAN debido a compensaciones tecnológicas que limitan la capacidad del enlace descendente o hacen que el rango del enlace descendente sea asimétrico al rango de enlace ascendente, como por ejemplo ocurre con Sigfox.

Seguridad

Una seguridad sólida es un elemento clave de cualquier diseño LPWAN. LoRaWAN utiliza cifrado AES de 128 bits y tiene dos capas independientes de seguridad. La clave de sesión de red (NwkSKey) se utiliza para la interacción entre el nodo y el network server para verificar la validez de los mensajes. La Clave de sesión de aplicación (AppSKey) se usa para el cifrado y descifrado de los mensajes de la aplicación propiamente dicha.

El flujo de datos desde un dispositivo final LoRa a la aplicación incluye cifrado y descifrado al principio y al final de la cadena, de modo que sólo el nodo final y la aplicación tengan acceso a los datos de texto sin formato. El network server y los gateways intercambian mensajes encriptados que no pueden entender.

En esta figura vemos con un ejemplo cómo funciona la seguridad en una red LoRaWAN desde un dispositivo que toma los datos de un sensor, los envía a través de LoRa, los recibe luego el network server a través del gateway y finalmente esos datos llegan al servidor de aplicación. Como podemos ver, quien accede a los datos del sensor en texto plano es únicamente el servidor de aplicación.

El nivel de seguridad de red garantiza la autenticidad del nodo para conectarse con el network server, mientras que la capa de seguridad de la aplicación garantiza que el operador de red no tiene acceso a los datos de aplicaciones del usuario final.

Para implementar la seguridad de las claves existen dos maneras:

Comparación con otras tecnologías

Para entender en dónde estamos parados, comparemos primero la tecnología de comunicación LoRaWAN con algunas soluciones existentes y desplegadas. Tal como observamos, la tecnología LoRa posee un bajo ancho de banda pero cubriendo un largo alcance de comunicación.

Considerando aspectos más particulares podemos entrar en el campo de las redes LPWAN. Acá encontramos tecnologías que usan bandas no licenciadas (ISM) como por ejemplo LoRa y Sigfox, o bien bandas licenciadas como Narrow Band IoT o LTE. En este gráfico tenemos una comparación entre las tecnologías nombradas.

Así mismo,  en esta tabla encontramos más aspectos sobre los cuales comparar a LoRaWAN con otras tecnologías. En este caso también incluímos a las soluciones LTE que se implementan con tecnología celular.

Consideraciones

En esta sección vamos a analizar algunos aspectos a tener en cuenta para evaluar si la tecnología LoRaWAN se puede adaptar a las necesidades de un proyecto.

Casos de uso

La tecnología lleva en el mercado desde 2009 y actualmente existen gran cantidad de casos de uso para distintas aplicaciones e industrias. Este es un buen punto de partida, ya que podés encontrar información sobre soluciones ya desplegadas, los problemas encontrados y cómo fueron resueltos.

Mecanismos de seguridad

Tal como vimos en la sección de seguridad, el stack LoRaWAN posee las claves NwkSKey que sirve para dar autenticidad al nodo ante el network server, y la clave AppSKey que permite que únicamente el servidor de aplicaciones tenga acceso a los datos sin encriptar. El resto de los componentes de la red - los gateways y el network server - sólo intercambian mensajes encriptados que no pueden entender. Esto ocurre tanto si creas una infraestructura propia como si utilizas la infraestructura de un proveedor.

Alcance de la red

El alcance de las comunicaciones depende de la infraestructura instalada y también del entorno donde se encuentre instalada. Por ejemplo en ambientes urbanos es posible tener alcance de aproximadamente 3 kilómetros e incluso la baja frecuencia que utiliza hace posible que la señal penetre a través de muros, pudiendo funcionar en interiores de edificios y subterráneos. En ambientes rurales el alcance incrementa significativamente llegando a cubrir distancias entre 10-15 kilómetros en líneas de visión. En ambos casos el alcance es realmente bueno y se pueden cubrir varios kilómetros cuadrados con poca infraestructura, por lo que realmente destaca en este punto.

Capacidad

Otro aspecto fundamental a la hora de analizar una tecnología es la capacidad para atender a cientos o miles de nodos sin generar congestiones. A través de por ejemplo la tasa de datos adaptativa (ADR) de los dispositivos, así como también la capacidad de los gateways de recibir datos en múltiples canales, a diferentes velocidades y al mismo tiempo le dan una gran capacidad a las redes para ser escalables.

Costos

En lo que se refiere a costos se puede comenzar con poca infraestructura e ir creciendo a medida que se lo necesita. Se pueden conseguir nodos finales por alrededor de 10 USD y gateways a partir de 200 USD. Algunos de ellos ya vienen integrados con un network server en el propio gateway y es posible también correr el servidor de aplicaciones, logrando así toda la infraestructura necesaria en un dispositivo.

Proveedores de servicios

Actualmente es posible contar con proveedores de servicios para todas las aristas de una solución IoT. Podés encontrar nodos finales con conectividad LoRa que sirven para una aplicación en particular, como por ejemplo seguimiento de activos. Así mismo podés encontrar redes públicas y privadas alrededor del mundo que permiten darle conectividad a los dispositivos sin necesidad de comprar tus propios gateways. Del mismo modo, es posible contratar servicios en la nube que corren y mantienen el network server así como también softwares que resuelven un caso de negocio en particular. Continuando con el ejemplo de seguimiento de activos, con algunas plataformas podríamos ver donde se encuentra cada dispositivo y sus datos asociados en un mapa interactivo que se actualiza en tiempo real.

Ecosistema

Hoy por hoy existe un gran ecosistema alrededor de la tecnología LoRaWAN. Por un lado, la LoRa Alliance es una organización con cientos de empresas miembro que define las características y especificaciones del protocolo. Por otro lado, podemos encontrar una gran variedad de foros y comunidades que se dedican a dar soluciones a distintas aplicaciones, por lo que el soporte y la longevidad de la tecnología están aseguradas.

Conclusiones

En las secciones anteriores realizamos una introducción general a LoRaWAN y analizamos varios aspectos para tener un panorama de la tecnología y obviamente queda mucho por cubrir. Más allá de eso, lo que vimos en este artículo fueron los siguientes temas:

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.

[a]agregar algo sobre ADR