Desarrollar con LoRa para aplicaciones IoT de baja tasa y largo alcance

Por Paul Pickering

Colaboración de Editores de Digi-Key de América del Norte

Los diseñadores tienen una amplia variedad de tecnologías inalámbricas para conectar un producto a Internet de las cosas (IoT). Cada tecnología se adapta a diferentes aplicaciones, que requieren que los diseñadores deban considerar cuidadosamente los factores tales como la distancia y la velocidad de datos, el costo, el consumo energético, el volumen y el factor de forma.

Este artículo presentará el protocolo LoRa, para comparar sus ventajas respecto a otros protocolos, y discutir varios productos y kits de desarrollo que permiten a los ingenieros iniciar rápidamente el desarrollo de sistemas basados en LoRa.

Consideraciones a tener en cuenta para IoT inalámbrica

Cada tecnología inalámbrica tiene puntos fuertes y débiles. El estándar Wi-Fi, por ejemplo, puede transmitir grandes cantidades de datos a alta velocidad, pero tiene un alcance limitado. Una red celular combina alta velocidad y larga distancia, pero se queda corta en potencia.

Las aplicaciones IoT tales como la adquisición de datos remotos, el control de iluminación urbana, la vigilancia meteorológica, y la agricultura, tienen cada una un conjunto diferente de prioridades. Las cantidades que se miden o controlan en estas aplicaciones tales como las condiciones climáticas, los niveles de humedad en el suelo, o la instalación de luminarias, todo cambia muy lentamente durante un período de tiempo prolongado.

Además, los nodos de sensores están a menudo a kilómetros de distancia y están operados a batería, por lo que el protocolo inalámbrico óptimo debe ser capaz de enviar pequeños paquetes de datos de forma eficiente a través de largas distancias con el mínimo consumo de energía. El protocolo LoRa fue diseñado exactamente para estos requisitos.

Descripción general de la tecnología LoRa

LoRa está pensado para aplicaciones de baja potencia, de red de área amplia (LPWAN). Tiene un rango de más de 15 kilómetros y una capacidad de hasta 1 millones de nodos. La combinación de baja potencia y largo alcance limita la velocidad de datos máxima a 50 kilobits por segundo (Kbps).

LoRa es una tecnología exclusiva y patentada de propiedad de Semtech Corporation, que funciona en la banda ISM. La asignación de frecuencias y los requisitos reglamentarios para ISM varían por región (Figura 1). Dos de las más populares son las frecuencias de 868 megahercios (MHz) utilizada en Europa y 915 MHz utilizada en América del Norte. Otras regiones, especialmente Asia, tienen diferentes requisitos. 

Europa América del Norte
Banda de frecuencia 867-869 MHz 902-928 MHz
Canales 10 64 + 8 + 8
Canal banda ancha ascendente 125/250 kHz 125/500 kHz
Canal banda ancha descendente 125 kHz 500 kHz
TX encendido +14 dBm +20 dBm típ
(+30 dBm permitidos)
TX desconectar +14 dBm +27 dBm
SF Up 7-12 7-10
Velocidad de datos 250 bps - 50 kbps 980 bps - 21.9 kbps
Link Budget Up 155 dB 154 dB
Link Budget Dn 155 dB 157 dB

Figura 1: Una comparación de las especificaciones LoRa para Europa y Estados Unidos, dos regiones donde se utilizan bandas ISM ampliamente. (Fuente de la imagen: LoRa Alliance)

La capa física LoRa utiliza modulación de espectro ensanchado (SSM) (Figura 2). SSM codifica la señal base con una secuencia de alta frecuencia, que deliberadamente propaga la señal base a través de un mayor ancho de banda, reduce el consumo de energía y aumenta la resistencia a las interferencias electromagnéticas.

Diagrama del sistema de espectro ensanchado que multiplica los datos de entrada

Figura 2: Un sistema de espetro ensanchado multiplica los datos de entrada en una secuencia de código mucho más rápida que propaga la señal de ancho de banda. (Fuente de la imagen: Semtech Corporation)

El factor de propagación (SF) de la señal base es variable y representa una solución de compromiso.  Para un ancho de banda disponible, una mayor difusión factor reduce la tasa de bits, y también reduce la duración de la batería incrementando el tiempo de transmisión.

Un determinado factor de propagación (SF) y el ancho de banda (BW) darán una tasa de bits definidos por:

Ecuación 1

LoRa permite seis factores de propagación (SF7 - SF12) y tres diferentes anchos de banda (125 kHz, 250 kHz, 500 kHz). Los factores de propagación y anchos de banda permitidos están definidos por las agencias reguladoras. América del Norte, por ejemplo, especifica un ancho de banda de 500 kHz y factores de propagación de 7 a 10.

Debido a la tecnología de espectro de propagación, los mensajes con diferentes velocidades de datos son ortogonales y no interfieren unos con otros, creando un conjunto de canales "virtuales", aumentando la capacidad de la puerta de enlace.

El esquema LoRa se basa en una variante de SSM llamada modulación de chirp spread spectrum (CSS) (Figura 3). CSS codifica los datos con un "pitido” o chirp, que es esencialmente una señal sinusoidal de frecuencia modulada en banda ancha que aumenta o disminuye con el tiempo.

Imagen de CSS "upchirp" exhibiendo una relación lineal de frecuencia vs. tiempo

Figura 3: Un CSS "upchirp" puede derivarse de una expresión polinómica para frecuencia vs. tiempo, o exhibir una relación lineal como se muestra aquí. (Fuente de la imagen: Wikipedia).

CSS es muy adecuado para aplicaciones de velocidad de datos baja (<1 Mb/s) que requieren un bajo consumo de energía. IEEE 802.15.4a, otro estándar de velocidad baja, lo especifica como técnica para su uso en redes de área personal inalámbricas (LR-WPAN). CSS se ha utilizado durante muchos años para proporcionar comunicación sólida de largo alcance en las aplicaciones militares y espaciales, pero LoRa es la primera implementación comercial de bajo costo.

LoRaWAN y Arquitectura de red LoRa

La especificación LoRaWAN define la capa de control de acceso al medio (MAC) para LPWAN. LoRaWAN se implementa en la parte superior de la capa física LoRa y especifica el protocolo de comunicaciones y la arquitectura de red. Estas funciones tienen un alto grado de influencia sobre varios parámetros de rendimiento, que incluyen:

  • La vida útil de la batería de un nodo
  • La capacidad de la red
  • La seguridad de la red
  • Las aplicaciones a las que sirven

La arquitectura de red LoRaWAN utiliza una topología de estrella en la que cada nodo final se comunica con varias puertas de enlace que se comunican con el servidor de red.

LoRa tiene cuatro elementos de red (Figura 4):

  • Los nodos finales recopilan datos de sensor, lo transmiten upstream y downstream, y reciben la comunicación desde el servidor de aplicaciones. Los dispositivos de Endpoint usan comunicación inalámbrica single-hop con una o carias compuertas.
  • El Concentrador/Compuerta actúa como un puente transparente y retransmite los datos bidireccionales entre los nodos finales y los servidores upstream.
  • El servidor de red se conecta a varias puertas de enlace a través de una conexión TCP/IP segura, ya sea por cable o inalámbrica; elimina los mensajes duplicados; decide qué compuerta debe responder a un mensaje de nodo final; y gestiona el nodo final, las velocidades de transmisión de datos con una velocidad de datos adaptable (ADR), destinadas a maximizar la capacidad de la red y extender la vida útil de la batería del nodo final.
  • El servidor de la aplicación recopila y analiza los datos de los nodos finales y determina las acciones del nodo final.

Diagrama de los cuatro bloques principales y dos capas de seguridad de la red LoRa

Figura 4: Una red LoRa tiene cuatro bloques principales y dos capas de seguridad. (Fuente de la imagen: LoRa Alliance)

La comunicación de extremos normalmente es bidireccional, pero LoRa también admite el funcionamiento de multidifusión para funciones tales como actualizaciones de software. Muchos de los protocolos existentes, tales como ZigBee, emplean una topología de malla en los que cada uno de los nodos finales recibe y retransmite información desde otros nodos finales. Este enfoque aumenta el rango y el tamaño de la celda de la red, pero la sobrecarga de comunicación adicional añade complejidad, reduce la capacidad de la red y aumenta el consumo de energía de cada uno de los nodos.

Clasificaciones nodo final de LoRa

Hay tres clases de dispositivos de nodo final. Las tres clases permiten la comunicación bidireccional y puede iniciar una subida a los servidores a través de la puerta de enlace. Difieren en relación a cuándo aceptar mensajes entrantes del servidor.

Una dispositivo LoRaWAN Clase A consume menos energía. Un nodo final sólo permite la comunicación desde el servidor durante dos breves ventanas de recepción, que se abren durante un corto período de tiempo después de una transmisión de enlace ascendente. Los mensajes desde el servidor en cualquier otro momento deben esperar hasta la próxima hora programada de enlace ascendente. Un dispositivo de Clase A es asincrónico. Un extremo comienza una transmisión cuando tiene datos para enviar, entonces espera a una hora preestablecida y espera una respuesta.

Un dispositivo LoRa Clase B ofrece una funcionalidad de clase, pero también abre ventanas de recepción extra a las horas programadas. Para sincronizar con la red, el nodo Clase B recibe un contador sincronizado en tiempo desde la compuerta cada 128 segundos. Se le asigna un espacio de tiempo dentro de 128 segundos que permiten que el servidor sepa cuando el dispositivo final está escuchando.

Un dispositivo LoRa de Clase C proporciona ventanas de recepción casi continuamente abiertas. Las ventanas sólo se cierran durante las transmisiones de punto final. Un dispositivo de Clase C es adecuado donde se requiere una gran cantidad de datos para recibir, en lugar de transmitirse.

Seguridad LoRaWAN

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, una clave de sesión de red (NwkSKey) y una clave de sesión de aplicación (AppSKey) (Figura 5).

Diagrama de flujo de datos desde un dispositivo final LoRa a la aplicación

Figura 5: 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 del sensor y la aplicación tengan acceso a los datos de texto sin formato. (Fuente de la imagen: Microchip Technology)

El nivel de seguridad de red garantiza la autenticidad del nodo en la red, y la aplicación de la capa de seguridad garantiza que el operador de red no tiene acceso a los datos de aplicaciones del usuario final.

Hay dos métodos para implementar las claves:

  • Activación mediante personalización (ABP): Aquí, los dispositivos finales LoRaWAN pueden ser programados en fábrica con la información de autenticación para una determinada red LoRaWAN.
  • Activación inalámbrica (OTAA): Este utiliza un ID de aplicación, un único ID de dispositivo, y una red de dispositivo asignado para obtener la dirección y NwkSKey AppSKey. Este es el método preferido porque las teclas no están predeterminadas y pueden ser regeneradas.

Introducción al desarrollo de LoRa

Los fabricantes ofrecen a los diseñadores una amplia gama de opciones de LoRa con niveles de integración que van desde dispositivos individuales hasta juegos de desarrollo completos.

Semtech Corporation ofrece el transceptor LoRa de chip único SX1279 capaz de cubrir las bandas ISM europeas y norteamericanas (Figura 6). En función de la normativa aplicable, el dispositivo ofrece anchos de banda que van desde 7,8 kHz a 500 kHz, y factores de propagación que van desde 6 a 12.

Diagrama de SX1279 de Semtech (hacer clic para ver tamaño completo)

Figura 6: La serie SX1279 Semtech ofrece velocidades de bits efectiva de 18 bits/seg. a 37,5 Kilobits/seg., una gama más amplia que la permitida por LoRaWAN. (Fuente de la imagen: Semtech Corporation)

En el nivel de módulo, Microchip, un licenciatario de LoRa IP, ofrece la RN2483 para aplicaciones europeas de 868 MHz y LoRa RN2903 para aplicaciones de 915 MHz de América del Norte (Figura 7). Ambos módulos contienen un microcontrolador de aplicación específica con la pila de protocolo LoRa, un transceptor de radio compatible con LoRa, una EEPROM serial que proporciona el dispositivo con un único identificador EUI-64, y catorce pines de entrada/salida (E/S) para entradas analógicas o digitales de sensores, interruptores, o indicadores de estado.

Estos módulos están diseñados para uso de Clase A y logra el funcionamiento de largo alcance con un sistema integrado de +18.5 milivatios-decibelios (dBm) de salida de amplificador de potencia de alta eficiencia (+14 dBm en la RN2483), junto con un receptor de sensibilidad de -146 dBm.

Diagrama de nodo final RN2903 de Microchip

Figura 7: Un nodo final típico RN2903 puede incluir funciones tanto de entrada como de salida. El puerto ICSP opcional se puede utilizar para actualizar el firmware. (Fuente de la imagen: Microchip Technology)

A nivel de la placa, Microchip ofrece el Mote DM164139, un dispositivo final Clase A basado en el módem LoRa RN2903. Mote es un nodo alimentado por batería independiente que proporciona una cómoda plataforma de demostración para capacidad de largo alcance de RN2903.

Mote incluye sensores de luz y temperatura. La transmisión de datos puede ser iniciada por un botón, o transmitida en un horario fijo. Una pantalla LCD muestra información como el estado de la conexión, los valores de los sensores, o bajada de datos.

La placa se conecta a una computadora mediante un conector USB 2.0 micro-B que proporciona acceso a la interfaz UART de RN2903. El UART permite una instalación rápida y el control de la pila del protocolo LoRaWAN en placa de alto nivel a través de un conjunto de comandos ASCII.

El módem RN2483 módem tiene su propia placa Mote, el DM164138.

Por último, el Kit de evaluación de red LoRa DV164140-2, también de Microchip, incluye dos placas Mote RN2903 y una placa de puerta de enlace (Figura 8). Esto hace que sea más fácil para los diseñadores evaluar la capacidad de un completo sistema LoRa de 915 MHz. Un kit relacionado, el DV164140-1, cubre aplicaciones de 868 MHz.

Imagen de Kits de evaluación LoRa 164140-2 DV (915MHz) y DV164140-1 (868 MHz) de Microchip

Figura 8: Los kits de evaluación LoRa DV164140-2 (915MHz) y DV164140-1 (868 MHz) de Microchip incluyen dos placas Mote una placa núcleo de compuerta, y la placa de radio (de izquierda a derecha). (Fuente de la imagen: Microchip Technology)

La placa de compuerta se compone de una placa Core y una placa de radio conectada. Incluye una pantalla LCD, una tarjeta SD para datos de configuración, una conexión Ethernet, una antena, y radios de captura de banda completa.

La placa de compuerta se conecta con el PC host a través de un cable USB que suministra la alimentación y comunicación. Además, un cable Ethernet se conecta entre la placa central y el conector de la red de área local (LAN), para la comunicación entre la compuerta y el servidor.

La placa de desarrollo Mote está conectada a la computadora host a través de su conexión USB.

Software de kit de evaluación de red

El kit de evaluación software consta de la Suite de desarrollo LoRa de Microchip, que puede descargarse gratuitamente de la Página de productos DV164140-2 de Digi-Key. Disponible para Mac, Windows o Linux, la suite configura una versión local del servidor de red LoRaWAN que se ejecuta en el sistema operativo host sin una conexión de red externa. La suite de desarrollo crea una red de demostración autocontenida que permite probar la red LoRa de forma rápida y sencilla.

Internamente, la suite de desarrollo LoRa hace uso de Docker, una plataforma de desarrollo de código abierto para ejecutar aplicaciones en contenedores. Docker permite al Oracle Virtual Machine (VM) funcionar en un entorno Windows, Mac o Linux (Figura 9). La VM aloja el motor Docker que a su vez ejecuta el servidor de evaluación LoRa. El servidor de evaluación se comunica con el servidor de directorio de compuerta a través del puerto Ethernet, que transmite datos al módulo RN a través del enlace LoRa.

Diagrama de kit de evaluación de red LoRa de Microchip

Figura 9: El kit de evaluación de red LoRa implementa un servidor de evaluación LoRa que se ejecuta en el sistema operativo del equipo host. (Fuente de la imagen: Microchip Technology)

La Función de Desarrollo LoRa se ejecuta dentro del entorno de ejecución de Java (JRE), un conjunto de herramientas de software que permite el desarrollo de aplicaciones Java. La utilidad permite al usuario realizar una variedad de tareas tales como: explorar la red para nuevos dispositivos finales; concederles acceso a la red; crear un nuevo servidor de aplicaciones; y configurar la red (Figura 10).

Imagen de Función de Desarrollo LoRa

Figura 10: La Función de Desarrollo LoRa que se puede descargar desde la página de producto de los Kits de evaluación LoRa controla muchas funciones del Kit de evaluación, incluida la configuración de red. (Fuente de la imagen: Microchip Technology)

Conclusión

El protocolo LoRa satisface una importante necesidad de IoT para aplicaciones de largo alcance, baja potencia y baja tasa de datos. Este artículo ha examinado la capa física LoRa y las especificaciones LoRaWAN que hacen esto posible, y ha señalado una amplia gama de dispositivos y kits que ayudan a los diseñadores a evaluar rápidamente el rendimiento de LoRa en una amplia gama de aplicaciones de destino.

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de Digi-Key Electronics o de las políticas oficiales de Digi-Key Electronics.

Acerca de este autor

Paul Pickering

Acerca de este editor

Editores de Digi-Key de América del Norte