El Protocolo Inalámbrico RadioShuttle

Software de protocolo inalámbrico LoRa peer-to-peer

No utilizamos el protocolo LoRaWAN estandarizado porque carece de eficiencia, no soporta la comunicación directa nodo a nodo, y es demasiado costoso y demasiado complicado para muchas aplicaciones. Para ello hemos desarrollado nuestro propio software de protocolo inalámbrico LoRa (“RadioShuttle”), que es capaz de enviar mensajes de forma eficiente, rápida y segura, entre módulos LoRa simples. Este software es igualmente adecuado como nodo o como estación (servidor).

Software de protocolo inalámbrico (RadioShuttle)

  • Transmisión segura de mensajes (máximo 232 bytes de datos de usuario), se acusará recibo y los datos perdidos se repetirán automáticamente
  • Transmisión insegura de mensajes (requiere menos tiempo/energía), para aplicaciones que a menudo envían mensajes de forma regular, y donde la pérdida de un mensaje no es un problema (por ejemplo, datos de temperatura)
  • Envío paralelo de diferentes mensajes a una estación idéntica o diferente (funciona en segundo plano, para ahorrar energía)
  • ID de dispositivo único de 32 bits (número de dispositivo) por miembro de LoRa, ID de aplicación único de 16 bits (número de programa para la comunicación)

Seguridad de datos

  • Login desde el nodo a la estación requerido (puede ser desactivado)
  • Login con contraseña encriptada (encriptado SHA-256 con un número aleatorio)
  • Transmisión de mensajes encriptada (configurable por mensaje)
    Encriptación AES 128-bit, los mensajes AES requieren un mínimo de 16 bytes de datos, sin usar AES, se pueden enviar mensajes más pequeños.
    No se transfieren contraseñas. Asegurado contra hackers: el registro y la repetición de mensajes AES cifrados o inicios de sesión no tendrán éxito

Control de tráfico aéreo

Los nodos sólo envían si no hay señal LoRa activa en ese canal. Las estaciones crean un plan de red automático, definiendo qué nodos y estaciones pueden comunicarse y cuándo. (Planeado)

Protocolo optimizado

  • Envío de mensajes dentro de 110 ms (SF7, 125 kHz, siempre y cuando el canal esté despejado)
    • Los mensajes sólo requieren 2 x 12 bytes (sobrecarga de protocolo)
  • Factor de dispersión LoRa por defecto SF7 (SF7-SF12 ajustable)
  • Ancho de banda LoRa por defecto 125 kHz (125/250/500 kHz ajustable)
    • Los anchos de banda estrechos permiten un mayor alcance
  • El ajuste automático de la potencia de transmisión ahorra energía y reduce el tráfico en las estaciones vecinas

Modo de funcionamiento

  • Funcionamiento como estación, se recomienda una fuente de alimentación constante (12 mA en modo de recepción, modo de transmisión (20 a 100 mA)
  • Funcionamiento como “Node Online”, se recomienda una fuente de alimentación constante
    • El nodo recibe permanentemente
    • En caso contrario, comportamiento como “Node Offline” (12 mA en modo de recepción, modo de transmisión (20 a 100 mA)
  • Funcionamiento como sensor inalámbrico (comprobación de “Node Offline”)
    • El nodo informa regularmente, para posiblemente recibir datos
    • La recepción de mensajes puede durar hasta 30 segundos
    • En caso contrario, se comporta como “Node Offline” (1 µA en modo de espera, funcionamiento con batería durante años)
  • Funcionamiento como sensor inalámbrico (“Node Offline”)
    • El nodo sólo está activo si se informan eventos (1 µA en modo de espera, funcionamiento con batería durante años)

Recursos de la biblioteca de RadioShuttle

  • Necesidad de memoria (a partir del 08/2017)
    • 100 kB de Flash para la biblioteca de RadioShuttle con SHA256 y AES
    • 10 kB de RAM para funcionamiento “Node Offline”/“Comprobación”/“Node Online”
    • 10 kB de RAM para el modo Station Basic (la RAM depende del número de nodos)
    • 1 MB de RAM para el modo Station Server (Raspberry PI, 10.000 nodos LoRa)
  • Temporizador preciso con pasos de 0,5 ms e interrupción

Tarjetas LoRa y MCU soportadas

  • Semtech SX1276MB1MAS y SX1276MB1LAS (basado en SX1276)
  • MURATA CMWX1ZZABZ-078
  • HopeRF RFM95
  • Kit de descubrimiento STM para LoRaWAN (STMicroelectronics B-L072Z-LRWAN1)
  • La tarjeta LongRa
  • La tarjeta ECO Power
  • La tarjeta Turtle

Sistemas operativos soportados

  • Arduino, Arduino Zero o superior
  • ARM Mbed OS, las MCU soportadas (ej. STM32L0, STM32L4)
  • Linux (Raspberry PI/Orange PI planeado)

Ejemplos de configuración

  1. Red simple con estación y nodos | ilustración o PDF
  2. Red con estación y 2 nodos (en línea/fuera de línea) | ilustración o PDF
  3. Red avanzada con estación y 5 nodos (en línea/fuera de línea) | ilustración o PDF
  4. Dos redes avanzadas que se comunican entre sí | ilustración o PDF

Protocolos: LoRaWANTM vs RadioShuttle

La comparación de los protocolos LoRaWANTM y RadioShuttle revela las diferencias entre ambos:

Descargar ilustración | imagen o PDF

LoRaWANTMRadioShuttle
Requiere concentradorNo requiere concentrador, la estación utiliza un módulo LoRa normal
Tarifas de suscripción a la redNo hay cuotas mensuales
Una célula de radio grandeMuchas pequeñas células de radio independientes
Red ocupada en un radio de muchos kilómetrosRedes pequeñas sin interferencias
Riesgo de fallo (Concentrador)Ajuste automático de la potencia de transmisión – mayor duración de la batería
Alta latencia, mayor factor de dispersión, p. ej. SF11 (1320 ms)Baja latencia, pequeño factor de dispersión, p. ej. SF7 (120 ms)