LoRaWAN e Internet de las Cosas

Si ha estado jugando con algunas placas de desarrollo de Internet de las cosas y redes de sensores inal谩mbricos, ya deber铆a haber o铆do hablar del protocolo de comunicaci贸n LoRaWAN y otros protocolos de comunicaci贸n inal谩mbrica.

Pero, 驴qu茅 es LoRaWAN? 驴C贸mo puede una plaquita de 15 鈧 tener un alcance operativo de muchos kil贸metros?驴Cu谩l es la diferencia entre LoRaWAN y LoRa? 驴Son la misma cosa?

Intentar茅 responder a todas estas preguntas en este art铆culo, donde explicar茅 lo que aprend铆 durante mi exploraci贸n y estudio de este maravilloso pero limitado protocolo de comunicaci贸n de largo alcance  ampliamente utilizado en muchas aplicaciones de Internet de las cosas.

LoRaWAN: el protocolo de comunicaci贸n de largo alcance de Internet de las cosas m谩s barato

驴Cu谩l es la diferencia entre LoRa y LoRaWAN?

LoRaWAN es un protocolo de comunicaci贸n de largo alcance que se utiliza a menudo para crear  redes de 谩rea amplia de bajo consumo (LPWAN)  con un alcance operativo que va  desde los 300 metros hasta los 10 kil贸metros. Entre los principales protocolos LPWAN, LoRaWAN es uno de los m谩s conocidos y utilizados, dada su  arquitectura abierta. A hablar de LoRa y LoRaWAN, se debe especificar que los dos t茅rminos se refieren a cosas diferentes:  LoRaWAN es un protocolo cuya capa PHY se basa en la modulaci贸n LoRa  mientras que la  capa de Control de Acceso al Medio (MAC) es una arquitectura de red abierta regulada por LoRa Alliance. LoRa en cambio, es una  modulaci贸n patentada basada en Chirp Spread Spectrum (CSS)  que se refiere a la  capa f铆sica. El protocolo LoRa tambi茅n est谩 patentado por Semtech Corporation, que es el 煤nico productor de chips transceptores LoRa. Por lo tanto, en la pila de protocolos OSI,  LoRaWAN (Capa de red) se basa en LoRa (Capa f铆sica), como se ve a continuaci贸n, ya que define las reglas de acceso a los medios de red, el m茅todo de autenticaci贸n, el perfil del dispositivo y el cifrado de datos.

Pila de protocolos LoRa LoRaWAN
Pila de protocolos LoRa LoRaWAN

Otra diferencia entre LoRa y LoRaWAN es la topolog铆a de red, ya que  LoRa solo permite enlaces punto a punto, mientras que LoRaWAN, dada su naturaleza de capas de red, define todas las reglas necesarias para crear una topolog铆a de red de m煤ltiples estrellas compuesta por muchos nodos finales LoRaWAN y gateways (pasarelas). Las puertas de enlace act煤an como  puente entre la red LoRaWAN y las redes basadas en IP, entregando datos desde los nodos finales a uno o m谩s servidores y viceversa.


驴C贸mo funciona la modulaci贸n LoRa?

Los m贸dems LoRa modulan los s铆mbolos en un aumento y disminuci贸n de frecuencias chirps, llamados respectivamente up-chirps y down-chirps, como es visible en la ilustraci贸n siguiente.

Modulaci贸n LoRa
Modulaci贸n LoRa

Cada transmisi贸n LoRa tiene un Pre谩mbulo y un Delimitador de Marco de Inicio (Start-Frame-Delimiter, SFD), que preceden a los datos centrales codificados para iniciar y enganchar el receptor LoRa, para escuchar correctamente la transmisi贸n entrante. A su vez, el SFD y el Pre谩mbulo tienen diferente polaridad, por lo que utilizan up-chirps y down-chirps, respectivamente, dependiendo de estos ajustes de polaridad.

La modulaci贸n LoRa tiene muchos par谩metros, que pueden modificarse parcialmente, dependiendo tambi茅n de la regi贸n operativa del sistema. Son los siguientes:

  • Frecuencia portadora: define la frecuencia portadora del medio utilizado tanto para las operaciones de transmisi贸n como para las de escucha. Tambi茅n depende de la regi贸n operativa: en Europa, la frecuencia portadora operativa de LoRa es la banda ISM de la UE 863-870MHz, mientras que en EE. UU. Es la banda ISM de 902-928 ~ MHz;
  • Ancho de banda de la se帽al: representa el ancho de las se帽ales de RF LoRa. Por lo general, se establece en 125 kHz, pero se puede aumentar hasta 250 kHz o incluso 500 kHz en algunas regiones para par谩metros de modulaci贸n particulares;
  • Coding Rate: es un par谩metro que define la tasa de correcci贸n de errores delantera (FEC) utilizada por los transmisores y receptores LoRa para reducir los efectos perniciosos de las interferencias de RF. Esto afecta el tiempo en antena del s铆mbolo, ya que aumenta la sobrecarga del s铆mbolo para hacerlo m谩s resistente al ruido. De forma predeterminada, su valor se establece en 4/5;
  • Factor de propagaci贸n: representa el par谩metro de propagaci贸n del chirp, que define cu谩ntos chirps se env铆an por segundo. Oscila entre SF7 y SF12. En detalle, un SF grande aumenta el tiempo en el aire del s铆mbolo y el consumo de energ铆a, mejorando as铆 el rango de comunicaci贸n, pero reduciendo la velocidad de datos disponible y el tama帽o de la carga 煤til de los mensajes;
  • Potencia de transmisi贸n; es la energ铆a irradiada por la antena del nodo LoRa. Adem谩s, puede variar desde -4 dBm hasta +20 dBm (+14 dBm en Europa), pero diferentes regiones pueden tener diferentes l铆mites de potencia;
  • Polaridad Chirp: define la polaridad de los Chirps transmitidos. A menudo se define por las diferentes implementaciones de protocolos, ya que, por ejemplo, las puertas de enlace LoRaWAN transmiten paquetes a los nodos finales utilizando una modulaci贸n de polaridad invertida, de modo que estos mensajes son descartados por las puertas de enlace vecinas, mientras que los dispositivos finales transmiten paquetes utilizando polaridad no invertida, para ser recibidos solo por las pasarelas;
  • Sync Word: es un par谩metro de valor de un byte definido por los dos 煤ltimos Chirps ascendentes del Pre谩mbulo y utilizado para diferenciar redes LoRa que utilizan las mismas bandas de frecuencia. Cualquier dispositivo configurado con una palabra de sincronizaci贸n determinada descartar谩 cualquier transmisi贸n entrante si la palabra de sincronizaci贸n es diferente a la definida. Normalmente, el par谩metro Sync Word para redes LoRa privadas es 0x12 para dispositivos Semtech SX127x y 0x1424 para dispositivos SX126x, mientras que las redes LoRa p煤blicas (como LoRaWAN o TTN) est谩n representadas por valores iguales a 0x34 para dispositivos Semtech SX127x y 0x3444 para dispositivos SX126x.

驴Cu谩ntas clases de dispositivos LoRaWAN existen?

Los nodos finales LoRaWAN tambi茅n se pueden clasificar en tres categor铆as:  Clase A, B, y C. Todos los dispositivos LoRaWAN deben implementar la clase A, mientras que las clases B y C son extensiones de los dispositivos de clase A. Estas clases definen el comportamiento de los paquetes de enlace descendente desde las puertas de enlace hasta los nodos finales. Un  dispositivo de Clase A admite comunicaci贸n bidireccional   pero, aunque los  mensajes de enlace ascendente se pueden enviar en cualquier momento, los mensajes de enlace descendente solo se pueden recibir durante dos ventanas espec铆ficas en momentos espec铆ficos despu茅s de una transmisi贸n de enlace ascendente, lo que permite el modo de menor consumo de energ铆a. Los dispositivos de clase B son adecuados para actividades relacionadas con el enlace descendente, ya que peri贸dicamente se abre una ventana de recepci贸n sincronizada en el tiempo a trav茅s de balizas. En su lugar, los dispositivos de clase C mantienen la ventana de recepci贸n abierta a menos que est茅n transmitiendo de nuevo, lo que aumenta considerablemente el consumo de energ铆a. Por lo general, las  puertas de enlace LoRaWAN act煤an como dispositivos de Clase C, ya que est谩n constantemente escuchando la transmisi贸n entrante.

Clases de transmision LoRaWan
Clases de transmisi贸n LoRaWan

Para transmitir y recibir datos a trav茅s de la red LoRaWAN, los  nodos finales de LoRaWAN deben estar registrados y habilitados en el proveedor del servidor de aplicaciones, que administra las puertas de enlace de la red abierta. Por lo tanto, el dispositivo LoRaWAN puede unirse a la red de dos maneras: a  trav茅s de una activaci贸n por aire (OTAA) o con un m茅todo de activaci贸n por personalizaci贸n (ABP). Ambos m茅todos funcionan bien, pero el primero es m谩s seguro, ya que cada vez que el nodo final env铆a un join-request, recibe un join-accept con un NetID, DevAddr y un AppNonce que son usados 鈥嬧媝or el dispositivo para generar una NwkSKey y AppSKey de forma segura. En cambio, un dispositivo ABP ya tiene DevAddr, AppSkey y NwkSkey, que se env铆an a trav茅s de la red en cada transmisi贸n para identificarse.

LoRaWAN OTAA
LoRaWAN_OTAA

驴Cu谩les son la carga 煤til, los rangos y las tasas de bits de LoRaWAN?

La modulaci贸n LoRa se caracteriza por un factor de propagaci贸n (Spreading Factor, SF) que define la duraci贸n del tiempo de emisi贸n del chirp. Aumentar el SF aumenta el tiempo del s铆mbolo, lo que permite que la se帽al viaje una distancia m谩s larga. Limitando el estudio a la banda europea libre de 868 MHz utilizada por LoRa, SF puede variar entre 7 y 12. Cuando SF igual a 7 permite la mayor velocidad de datos y menor tiempo de transmisi贸n de s铆mbolos, mientras que SF igual a 12 devuelve la mayor sensibilidad  y rango de transmisi贸n con la tasa de datos m谩s baja y el mayor consumo de energ铆a, dado por la mayor duraci贸n de transmisi贸n. SF y las velocidades de bits correspondientes se muestran en la siguiente ilustraci贸n, que tambi茅n muestra otra informaci贸n de modulaci贸n, como el ancho de banda de la se帽al (t铆picamente 125 kHz en Europa), la sensibilidad m铆nima del receptor, el rango operativo relativo, el consumo de energ铆a y el tiempo en el aire.

Parametros LoRa
Par谩metros LoRa

Una de las cosas m谩s importantes que debe saber al trabajar con LoRaWAN es la carga 煤til m谩xima de paquetes (maximum packet payload) para cada SF. Dada la naturaleza de LoRa de baja potencia y baja velocidad de datos, 贸ptima para muchas aplicaciones de Internet de las cosas, la carga 煤til del paquete es muy susceptible al SF utilizado, ya que este par谩metro act煤a sobre la velocidad de transmisi贸n de datos. La capa de red LoRaWAN generalmente usa 13 bytes como encabezado de paquete para la operaci贸n del protocolo, un valor no despreciable que a un SF alto afecta significativamente la carga 煤til m谩xima del paquete. El tama帽o m谩ximo de carga 煤til se alcanza con SF7, que permite hasta 222 bytes de datos de usuario dentro de un solo paquete Lora. El m铆nimo, en cambio, se alcanza con SF establecido en 12, con un l铆mite de 51 bytes para los datos de usuario. Los l铆mites de carga 煤til, velocidades de datos, velocidades de bits, sensibilidad del receptor y rango operativo t铆pico relacionado con cada SF con un ancho de banda de 125 kHz a una frecuencia portadora de 868 MHz, se muestran en la siguiente tabla.

Valores representativos LoRaWAN Internet of Things
Valores representativos LoRaWAN Internet of Things

A pesar de esto, los rangos de operaci贸n de LoRaWAN en el mundo real podr铆an ser muy diferentes. En mi prueba de alcance de l铆nea de visi贸n LoRaWAN, por ejemplo, pude lograr un alcance operativo de varias decenas de kil贸metros sin ning煤n obst谩culo en el medio, con un pico de aproximadamente 75 kil贸metros. Sin embargo, en un entorno semiurbano, los rangos operativos son diferentes.


驴Cu谩les son los canales y frecuencias Europeos de LoRaWAN?

El protocolo LoRaWAN utiliza ocho canales de enlace ascendente (desde los nodos finales hasta las puertas de enlace) definidos dentro de la banda ISM libre EU863-870 MHz. Los canales de enlace ascendente tambi茅n se pueden utilizar como canales de enlace descendente en la primera ventana de recepci贸n, pero tambi茅n hay un noveno canal definido a la frecuencia de 869,525 MHz que se utiliza solo para la segunda ventana de recepci贸n. En la siguiente imagen se muestran los canales de enlace ascendente y descendente de la banda ISM libre EU863-870 MHz.

Frecuencias LoRa
Frecuencias LoRa

Tambi茅n hay un noveno canal de enlace ascendente, que tiene una frecuencia fija de 868,8 MHz, pero utiliza una modulaci贸n FSK. Otra caracter铆stica clave del protocolo LoRaWAN es el acceso al medio de radio, basado en el protocolo ALOHA, que se desarroll贸 en la Universidad de Haw谩i en la d茅cada de 1970.


驴Cu谩les son las pol铆ticas de uso adecuado de LoRaWAN?

La red LoRaWAN tiene algunas reglas estrictamente pol铆ticas, que deben respetarse para un uso justo de la red. Estas son:

  • Cualquier dispositivo tiene un tiempo de uso acumulado m谩ximo diario de 30 s para mensajes de enlace ascendente ;
  • Cualquier dispositivo tiene un m谩ximo de 10 mensajes de enlace descendente diarios, que incluyen ACK.

Dado que el tiempo en el aire depende del SF y de la carga 煤til de los mensajes, el l铆mite de mensajes diarios depende estrictamente de estos dos par谩metros. Por ejemplo, para una carga 煤til fija de 10 bytes, esto se traduce en hasta 20 mensajes de enlace ascendente diarios con SF configurado en 12 o alrededor de 500 mensajes de enlace ascendente diarios con SF7. Adem谩s, los dispositivos LoRaWAN deben respetar el ciclo de trabajo del ancho de banda, que depende de una regi贸n a otra. Para la banda libre EU868 MHz, el ciclo de trabajo va del 0,1% al 10%, seg煤n el canal utilizado. Esto significa que cada vez que un dispositivo transmite a trav茅s de un canal LoRaWAN, no puede transmitir en este canal durante un cierto per铆odo de tiempo, que generalmente es calculado por el propio dispositivo a partir del tiempo en aire de la transmisi贸n anterior.

Por 煤ltimo, otro par谩metro que deben respetar los dispositivos LoRaWAN es la potencia m谩xima de transmisi贸n, que, para la banda EU868 MHz, se establece en +14 dBm, seg煤n lo establecido por las leyes del Instituto Europeo de Normas de Telecomunicaciones (ETSI).


Deja un comentario