Fundamentos de IoT

Explicación de LoRaWAN

Thomas Michaslki
- 11 min read
Enviar por correo electrónico

A principios de los años 90, conectarse a Internet empezó siendo una simple vía directa. Hoy en día las cosas han avanzado y se han vuelto más complejas, pero también más capaces. En lugar de una única conexión Ethernet a Internet, los microcontroladores y otros dispositivos pueden conectarse a través de una larga lista de protocolos: Bluetooth, WiFi, BLE, ZigBee, 3G, 4G, 5G, NFC, RFID, SigFox, DigiMesh, Thread y 6LoWPAN, por nombrar algunos. Cada una de estas conexiones desempeña un valioso papel para la conexión de dispositivos y la transmisión de datos, pero un protocolo en ciernes que nos gustaría destacar es LoRaWan.

Al igual que las anteriores, LoRaWAN es una red de conexión inalámbrica para la comunicación de datos a Internet. LoRaWan se está diferenciando rápidamente a medida que se da a conocer y se adapta a las aplicaciones IoT (Internet de las Cosas) que requieren conectividad de largo alcance y bajo consumo a Internet sin WiFi. LoRaWan es una gran respuesta para sensores remotos alimentados por batería o dispositivos que se comunican a larga distancia o en lugares remotos. LoRaWan dicho de forma sencilla, los paquetes de datos se envían, cuando es necesario, a través de largas distancias a la gateway más cercana y disponible que reenvía dichos paquetes de datos al servidor para su almacenamiento, cálculo o visualización.

Para familiarizarnos con LoRaWAN, remontémonos a 2009, cuando comenzó en Francia la precursora de LoRaWAN llamada LPWAN:

  • LPWAN es una red de área amplia de telecomunicaciones inalámbricas diseñada para permitir comunicaciones de largo alcance a baja velocidad de bits para cosas (objetos conectados), como sensores que funcionan con batería y necesitan poca energía.
  • LPWAN permite la conectividad de redes de dispositivos que requieren menos ancho de banda del que proporcionan los equipos domésticos estándar
  • Las redes LPWAN también admiten más dispositivos en un área de cobertura mayor que las tecnologías móviles de consumo y tienen mejores capacidades de bidireccionalidad.
  • Redes como WiFi y Bluetooth son más adecuadas para aplicaciones IoT a nivel de consumidor, sin embargo, LPWAN abunda más en aplicaciones IoT industriales, cívicas y comerciales

LPWAN es la red acumulativa que engloba a LoRaWAN. Por tanto, no son sinónimos, sino dos redes distintas. LPWAN surgió primero y luego adoptó bajo ella varias redes que tenían cada una su propio origen histórico. Algunas de estas redes adoptadas incluyen AlarmNet (que más tarde pasó a ser propiedad de Honeywell), la red 2G y LoRaWAN, que fue creada por un grupo llamado LoRa alliance en 2014 y se encuentra entre los protocolos líderes y favoritos para dispositivos conectados.

Cómo funciona LoRaWAN:

NOTA: Al final de esta entrada se ha incluido una lista de términos y definiciones comunes a modo de glosario.

Según la infografía anterior, los sensores que se conectan a Internet se denominan dispositivosfinales. Cada vez que el sensor realiza una lectura, el dispositivo envía condicionalmente una señal (paquete de datos) que el gateways para capturar los datos. Ahora esos datos en el gateway utiliza FSK(Frequency Shift Keying) para transmitir esos datos tan eficientemente como sea posible al servidor utilizando un proceso llamado Chirp Spread Spectrum (CSS). Cuando el paquete de datos del dispositivo final entra en los circuitos de gateway, llega en "chirps", o símbolos que representan información digital (como los de abajo). A continuación, el chirp se analiza en el dominio de la frecuencia y se convierte en una señal modulada para un transporte eficaz de los datos.

El hardware LoRa, tras convertir la señal de entrada al dominio de la frecuencia, busca dentro de la banda de frecuencias otros canales de frecuencia mejores que puedan transportar la señal. Una vez que gateway encuentra uno, todo este proceso modula la frecuencia de la señal de entrada para hacerla más eficiente energéticamente y, a continuación, "desplaza" (de ahí la "S" de FSK) la señal a ese canal para una rápida transmisión de datos.

Los dispositivos finales y gateways interactúan continuamente entre sí para que la transmisión de datos pueda "saltar" a otros canales de frecuencia que mejor se adapten a las limitaciones de potencia, velocidad, ciclo de trabajo y alcance del sistema.

Durante esta modulación de frecuencia, otros circuitos integrados dentro de LoRa gateway realizan otras modulaciones de "mejora", como filtrar el ruido, o las irregularidades que se ven en una señal.

Otra razón por la que LoRaWAN es una red de bajo consumo y largo alcance es gracias a un proceso llamado ADR(Adaptive Data Rate). Al igual que el proceso FSK "cambia" la frecuencia de la señal de entrada para aumentar la eficiencia, ADR "habla" con el servidor de la red LoRaWAN para aumentar la velocidad de datos. Así es como "hablan" el dispositivo y el servidor:

  1. Los dispositivos finales (nodos) envían constantemente mensajes de enlace ascendente al servidor de red de LoRaWAN. Estos mensajes de subida contienen mucha información sobre las últimas 20 señales del nodo.
  2. El servidor de red analiza el historial reciente del nodo y hace comparaciones para ver cuánto "margen" hay para hacer cambios
  3. La red puede observar que existe un "margen" para sacrificar alcance por algo más útil, como una mayor velocidad de transmisión de datos. (Observa en el diagrama que el cubo de basura está enviando sus datos a más gateways que cualquiera de los otros dispositivos).
  4. En lugar de enviar mensajes más lentos a la lejana gateways, el servidor prefiere que el dispositivo final envíe un mensaje rápido a una gateway cercana.
  5. Por lo tanto, el proceso ADR aprovecha las oportunidades que aumentarán la velocidad de transmisión de datos. Si los sacrificios que se hacen ayudan a que el sistema funcione de forma más eficiente, entonces el sacrificio se hará utilizando la ADR.

Después de que el gateways reciba e interprete un paquete de datos utilizando la tecnología LoRa, el gateway reenvía los datos al servidor de red a través de conexiones IP estándar, como Ethernet o 3G. Si el servidor de red recibe el mismo paquete de datos de varios gateways, sólo procesará uno de ellos y no tendrá en cuenta las copias. Por lo tanto, si el servidor recibe tres paquetes de datos iguales porque el cubo de basura está conectado a tres gateways , sólo procesará uno de ellos, con lo que la transferencia de datos será muy precisa y eficaz.

Compromisos

Como en todas las aplicaciones de ingeniería, en el mundo de LoRaWAN hay que hacer concesiones en cuanto a potencia, velocidad y alcance. Este sencillo diagrama muestra los puntos a tener en cuenta.

Aumentar el tiempo del bit de datos ---> reduce la tasa de datos ---> menor velocidad
Disminuir el tiempo del bit de datos ---> aumenta la tasa de datos ---> mayor velocidad
Aumentar el alcance y reducir la potencia ---> menor velocidad
Aumentar el alcance y acelerar la velocidad ---> requiere mayor potencia
Aumentar la velocidad y reducir la potencia---> menor alcance

Bandas de frecuencia

LoRaWAN utiliza radiofrecuencias más bajas a mayor alcance, y las bandas de frecuencia difieren según los países.

  • Europa: bandas de 863-870 MHz y 433 MHz (868 MHz utilizada por The Things Network). Todos los dispositivos y redes deben admitir tres canales comunes de 125 kHz para la banda de 868 MHz (868,10, 868,30 y 868,50 MHz).
  • EE.UU.: banda 902-928 MHz, dividida en 8 subbandas. Cada una de estas subbandas tiene ocho canales de subida de 125 kHz, un canal de subida de 500 kHz y un canal de bajada de 500 kHz. A diferencia de los canales de frecuencia europeos, los de EE.UU. se clasifican en canales de subida y canales de bajada.
  • Australia: Banda de 915-928 MHz. Las frecuencias de subida en Australia son más altas que en la banda estadounidense. Sin embargo, las frecuencias de enlace descendente son las mismas que en la banda estadounidense.
  • China: banda de 779-787 MHz, con tres canales comunes de 125 kHz (779,5, 779,7 y 779,9 MHz), y también existe una banda de 470-510 MHz, con 96 canales de subida y 48 de bajada.

Clases

LoRaWAN clasifica sus dispositivos finales en tres clases diferentes para responder a las distintas necesidades reflejadas en la amplia gama de aplicaciones.

Clase A:

  • estos dispositivos admiten la comunicación bidireccional entre un dispositivo y un gateway
  • categoría de potencia más baja
  • Los dispositivos de clase A sólo funcionan en aplicaciones en las que envían una transmisión de enlace ascendente y esperan la comunicación de enlace descendente del servidor poco después.
  • los mensajes ascendentes pueden enviarse en cualquier momento
  • después de enviar un mensaje de enlace ascendente, los dispositivos de clase A abren dos ventanas de recepción en momentos determinados
  • el servidor puede responder en cualquiera de las dos ventanas
  • la ranura de transmisión (franja horaria) programada para cada ventana por el dispositivo final se basa en sus propias necesidades de comunicación
  • si el servidor no responde en ninguna de estas dos ventanas de recepción, la siguiente oportunidad será después de la siguiente transmisión de enlace ascendente

La primera línea del diagrama es el proceso cronológico del enlace ascendente/descendente del dispositivo final de clase A. En primer lugar, se envía una señal de enlace ascendente, se espera y, a continuación, se abre la primera ventana de recepción; se espera de nuevo y, a continuación, se abre una segunda ventana de recepción. Las dos líneas siguientes muestran la recepción satisfactoria de una señal de enlace descendente después de que la ventana de recepción capte las señales de enlace descendente. La última línea muestra la recepción fallida de una señal de enlace descendente porque el dispositivo final no la capta en ninguna de las ventanas de recepción.

Clase B:

  • Los dispositivos finales de clase B son bidireccionales con ranuras de recepción programadas, como los de clase A
  • La diferencia: Los dispositivos de clase B abren ventanas de recepción adicionales a horas programadas, además de las ventanas de recepción de clase A.
  • A diferencia de los dispositivos de clase A, que abren sus ventanas de recepción en función de sus propias necesidades de comunicación, los dispositivos de clase B reciben una baliza sincronizada en el tiempo desde gateway, lo que permite al servidor saber cuándo el dispositivo final está "escuchando".

Clase C:

  • Los dispositivos de clase C son bidireccionales con ranuras de recepción máximas
  • Estos dispositivos tienen ventanas de recepción casi siempre abiertas, que sólo se cierran al transmitir.
  • Esto permite una comunicación de baja latencia, pero consume mucha más energía que los dispositivos de la clase

Activación por aire (OTAA)

Para participar en una red LoRaWAN, cada dispositivo final debe personalizarse y activarse. La funcionalidad de este proceso se resume en estos pasos:

  1. Para la activación por aire, los dispositivos finales deben seguir un procedimiento de unión antes de participar en los intercambios de datos con el servidor de red.
  2. El procedimiento de unión requiere que el dispositivo final se personalice con la siguiente información antes de iniciar el procedimiento de unión: un identificador único global del dispositivo final(DevEUI), el identificador de la aplicación(AppEUI) y una clave AES-128(AppKey).
  3. El procedimiento de unión consta de dos mensajes MAC (control de acceso al medio) intercambiados con el servidor, a saber, una solicitud de unión y una aceptación de unión.
  4. El dispositivo final envía el mensaje join-request compuesto por AppEUI y DevEUI del dispositivo final seguido de DevNonce.
  5. El mensaje de solicitud de unión puede transmitirse utilizando cualquier velocidad de transmisión de datos y siguiendo una secuencia eficaz de saltos de frecuencia a través de los canales de unión especificados.
  6. El servidor de red responderá al mensaje join-request con un mensaje join-accept si el dispositivo final tiene permiso para unirse a una red.
  7. Tras la activación, se almacena la siguiente información en el dispositivo final: una dirección de dispositivo(DevAddr), un identificador de aplicación(AppEUI), una clave de sesión de red(NwkSKey) y una clave de sesión de aplicación(AppSKey).

Si el paso 7 se realiza correctamente, la OTAA se ha completado.

Activación por personalización (ABP)

En determinadas circunstancias, los dispositivos finales pueden activarse mediante personalización. La activación por personalización vincula directamente un dispositivo final a una red específica, evitando el procedimiento de solicitud de adhesión y aceptación de adhesión. Por lo tanto, a diferencia de OTAA, la DevAddr y las dos claves de sesión NwkSKey y AppSKey se almacenan directamente en el dispositivo final en lugar de DevEUI, AppEUI y AppKey. Simplemente, el dispositivo final ya está equipado con la información necesaria para participar en una red LoRa específica cuando se inicia.

La ventaja del ABP es su facilidad de conexión a la red, ya que el dispositivo puede ponerse en funcionamiento en poco tiempo, lo que resulta muy adecuado para determinadas aplicaciones. El inconveniente es que las claves de cifrado que permiten la comunicación con la red están preconfiguradas en el dispositivo, lo que debilita la seguridad.

Conclusión

En resumen, los puntos clave de LoRaWan:

  • LoRaWAN cubre largas distancias, por lo que es ideal tanto para soluciones urbanas como rurales
  • LoRaWAN consume menos energía, lo que la convierte en la tecnología ideal para dispositivos alimentados por batería.
  • LoRaWAN proporciona una comunicación de bajo ancho de banda que la convierte en la solución ideal para implantaciones prácticas de IoT que requieren menos datos
  • Costes de despliegue relativamente bajos en comparación con la telefonía móvil o WiFi debido al menor número de dispositivos Gateway necesarios.
  • LoRaWAN admite comunicación bidireccional
  • Una sola LoRaWAN Gateway puede alojar 1.000 dispositivos o nodos, múltiples Gateways proporcionan resistencia a las soluciones inteligentes

Glosario de términos

Consulte esta sección para obtener definiciones de términos técnicos que le ayudarán a comprender LoRaWAN. Para su comodidad, estas palabras aparecerán en negrita en el tutorial cuando se utilicen.

Velocidad de datos adaptativa (ADR): mecanismo para optimizar la velocidad de datos, el tiempo de emisión y el consumo de energía en la red.

AppEUI:es un ID de aplicación global que se dirige al espacio e identifica de forma única al proveedor de la aplicación (propietario) del dispositivo final.

AppKey: una clave de aplicación AES-128 específica para el dispositivo final que asigna el propietario de la aplicación. La AppKey se utiliza para derivar las claves de sesión NwkSKey y AppSKey específicas de ese dispositivo final para cifrar y verificar la comunicación de red y los datos de la aplicación.

AppSKey: la utilizan tanto el servidor de red como el dispositivo final para cifrar y descifrar el campo de carga útil de los mensajes de datos específicos de la aplicación.

Banda: gama de frecuencias con una frecuencia mínima y máxima determinadas.

Ancho de banda: mide la cantidad de datos que pueden enviarse a través de una conexión específica en un tiempo determinado (sinónimo de velocidad de datos).

Chirp Spread Spectrum: un tipo de tecnología de modulación responsable de la fiabilidad de la transmisión, así como del bajo consumo de energía.

Nube: una plataforma diseñada para almacenar y procesar datos IoT. La plataforma está construida para procesar volúmenes masivos de datos generados por dispositivos, sensores, sitios web, aplicaciones, clientes y socios e iniciar acciones para obtener respuestas en tiempo real.

Velocidad de transmisión de datos: cantidad de datos digitales que se mueven de un lugar a otro en un tiempo determinado; puede considerarse como la velocidad de desplazamiento de una determinada cantidad de datos de un lugar a otro, en función de la amplitud del ancho de banda.

DevAddr:contiene un identificador de red (NwkID) para separar las direcciones de redes territorialmente superpuestas de distintos operadores de red y solucionar los problemas de itinerancia. También contiene una dirección de red (NwkAddr) del dispositivo final.

DevEUI: un espacio de direcciones de ID de dispositivo final global que identifica de forma exclusiva el dispositivo final.

DevNonce: valor aleatorio asociado a un dispositivo final. Si un dispositivo final intenta conectarse al servidor con un valor DevNonce que ya ha utilizado anteriormente, el servidor ignorará la solicitud, evitando una catástrofe del sistema conocida como ataques de repetición.

Enlace descendente: el enlace (conexión) entre un satélite y una estación terrestre. La frecuencia de las señales de enlace descendente tiende a ser más amplia para cubrir una amplia zona de la Tierra y ofrecer el mayor número posible de servicios.

Ciclo de trabajo: porcentaje de la relación entre la duración del impulso, o anchura del impulso (PW), y el periodo total (T) de la forma de onda. Ciclo de trabajo = PW/T * 100%.

Aquí tienes un diagrama que te ayudará a visualizar mejor qué es un ciclo de trabajo:

Dispositivo final/nodo/punto final: dispositivo de hardware informático con capacidad de conexión a Internet. El término puede referirse a ordenadores de sobremesa, portátiles, teléfonos inteligentes, tabletas, clientes ligeros, impresoras o, literalmente, cualquier objeto que pueda conectarse a Internet.

Canal de frecuencia: cuando una banda está canalizada, significa que hay frecuencias discretas específicas que un dispositivo (como una radio) utilizará y por las que transmitirá datos. En lugar de elegir frecuencias al azar dentro de la banda, un dispositivo o una red se ciñe a un determinado tamaño de paso para aumentar la eficiencia y evitar el desperdicio de espacios entre distintas frecuencias. Por ejemplo, para una banda de 28-29 MHz, 3 canales diferentes de 100KHz podrían ser de 28,1 MHz, 28,2 MHz, 28,3 MHz, etc.

Front-end: los usuarios (como un ser humano o un programa) interactúan directamente con la aplicación.

LoRa: tecnología de modulación radioeléctrica de espectro ensanchado chirp (CSS) patentada para LPWAN utilizada por LoRaWAN. LoRa es la capa física, LoRaWAN es la red.

LoRaWAN(Long Range Wide Area Network): protocolo de capa de control de acceso al medio (MAC) para gestionar la comunicación entre LPWAN gateways y los dispositivos de los nodos finales, mantenido por la LoRa Alliance.

LPWAN(red de área extensa de bajo consumo): tecnología de red de área extensa inalámbrica especializada en la interconexión de dispositivos con conectividad de bajo ancho de banda, centrada en el alcance y la eficiencia energética.

NwkSKey:es utilizada tanto por el servidor de red como por el dispositivo final para calcular y verificar el MIC (código de integridad del mensaje) de todos los mensajes de datos para garantizar la integridad de los mismos.

Rendimiento: medida del número de unidades de información que un sistema puede procesar en un tiempo determinado.

Enlace ascendente: el enlace (conexión) desde una estación terrestre hasta un satélite. En las aplicaciones IoT, las señales deben atravesar la atmósfera, donde la atenuación es inevitable (por la lluvia, por ejemplo). Para evitar la mayor atenuación posible, las estaciones en tierra potencian sus señales de enlace ascendente con más potencia para que la frecuencia sea más estrecha (de modo que la señal pueda "caber" a través de las obstrucciones del entorno). Por eso, las señales de subida suelen tener frecuencias más altas que las de bajada.