Haciendo IoT con LoRa: Capitulo 2.- Tipos y Clases de Nodos

Sabas
5 min readOct 2, 2017

--

(Capítulo anterior: Capítulo 1.- ¿Qué es LoRa y LoRaWAN?)
Importante: Si llegas acá por primera vez, empieza aquí. ¡No te adelantes!

En el capítulo anterior ya les explique qué es LoRa y LoRaWAN, en este capítulo voy a profundizar más en la parte de lo nodos como funcionan y como crearlos

Modo LoRa: comunicación punto a punto

En modo Lora los nodos pueden funcionar con una conexión punto-a-punto (P2P) o mesh la principal característica de este modo es que no se requiere un dispositivo intermediario que administre la comunicación, los dispositivos pueden enviar entre ellos informacion directamente, esto es perfecto para comunicaciones sencillas y simples por ejemplo controlar el encendido y apagado de un motor.

La otra manera es con un tipo de Mesh donde encontramos un nodo que se encarga de coordinar la red, sus desventaja es que esta limitada a 255 redes de 255 nodos* y a que el nodo coordinador solo puede escuchar un nodo a la vez.

Modo LoRaWAN

En modo LoRaWAN los nodos forzosamente se deben conectar a un gateway que soporta hasta 62,500* y puede escuchar 8 nodos a la vez, para poder unirse a la red y aprovechar las bondades del protocolo el nodo debe enviar una serie de llaves de identificación y seguridad, todos los nodos trabajan en un una conexión tipo estrella, los mismos nodos aun estando en movimiento se conectan al gateway más cercano y con mejor calidad de comunicación, muy similar a como funciona una red celular.

Clases

En protocolo LoRaWAN existen tres tipos de clases de nodo:

  • Clase A:

La más soportada en casi todos los dispositivos, este tipo de clase ofrece el mayor ahorro de energía debido a que solo entra en modo escucha (llamado ventana RX) después de enviar un datos hacia el gateway, por eso es ideal para dispositivos que usan una batería.

  • Clase B:

Este tipo de dispositivos tiene las ventanas de recepción con base a tiempos predeterminados con el gateway, este tipo de nodos puede usar una batería o una fuente externa dependiendo de los tiempos asignados de escucha. Hasta el momento no conozco ningún servicio para lorawan que soporte esta clase hasta el momento

Clase C:

Este tipo de clase ofrece el menor ahorro de energía debido a que siempre esta en modo escucha y solo cuando es necesario en modo transmitir, la recomendación es usarlo en dispositivos que cuentan con una fuente externa de alimentación.

Conexión ABP y OTAA

Existen dos maneras de conectarse a una red LoRaWAN como mencioné anteriormente para lograr entrar a la red se requieren una serie de claves y número de identificación por parte del nodo para lograr el correcto funcionamiento de la red y mantener su seguridad.

Modo OTAA

El modo OTAA (Over-The-Air-Activation) es la manera más segura de conectarse a la red los parámetros de configuración son:

DevEUI: Este es un identificador de fábrica, hace a cada dispositivo único. Esta configuración en algunos dispositivos se puede ajustar.

AppEUI: Identificador de aplicación unico utilizado para agrupar objetos. Esta dirección de 64 bits se, utiliza para clasificar los dispositivos por aplicación. Esta Configuración se puede ajustar

AppKey: Es una clave secreta AES de 128bits compartida entre el dispositivo periférico y la red. Se utiliza para determinar las claves de sesión. Esta configuración se puede ajustar.

Con estos datos de manera simple la conexión se realiza de la siguiente manera:

1.- El nodo solicita un join (o inicio de sesión) a la red con los datos de configuración y abre la ventana de recepción.

2.- El Gateway recibe la solicitud y la envía al servidor.

3.- El servidor verifica que el nodo este dado de alta y la llave de encriptación sea correcta.

4.- Si es correcta asigna una sesión temporal y la envía por medio del gateway al nodo, si los datos son incorrectos rechaza el join.

5.- El nodo recibe la sesión temporal y puede enviar datos a la red.

La principal ventaja de la conexión tipo OTAA es la seguridad ya que la sesión se dice: “se crea en el aire” y se renueva cada vez que el dispositivo pierde la conexión, es apagado o reiniciado, esto dificulta que alguien pueda robar la sesión y clonar el dispositivo.

ABP

El modo ABP (Activation By Personalization) es el modo más sencillo de conexión, los parámetros de conexión son:

DevAddress: Dirección lógica (equivalente a una dirección IP) que se utilizará para toda comunicación posterior con la red.

NetworkSessionKey: Clave de cifrado entre el dispositivo y el operador utilizado para las transmisiones y para validar la integridad de los mensajes.

ApplicationSessionKey: Clave de cifrado entre el dispositivo y el operador (a través de la aplicación) utilizada para transmisiones y para validar la integridad de los mensajes.

Con estos parámetros la conexión se realiza de la siguiente manera:

1.- El dispositivo envía datos hacia al Gateway
2.- El Gateway válida que los datos corresponda a la sesión

3.- Si es correcta la sesión se procesan los datos, sino se rechazan.

La principal ventaja de este tipo de conexión es que no se requiere hacer un join a la red para poder enviar datos, la confirmación del lado del servidor no es necesaria ya que la sesión ya está manualmente asignada, para dispositivos que están en movimiento o no tienen excelente recepción este tipo de conexión es ideonia. La desventaja es que al encontrarse la llave de encriptación en el dispositivo pudiera ser extraída y clonada por una atacante.

Fuente: https://www.jaguar-network.com/en/news/lorawan-in-a-nutshell-2-internet-of-things-iot/

Una vez que hemos cubierto lo básico sobre los nodos LoRa y los tipos de conexión disponible debes saber que a partir de de este punto los siguientes post solo aplica para redes LoRaWAN, Gateways, prototipos y visualización de datos estarán enfocados a ese modo

Siguiente capítulo: 3.- Tipos de Gateways

--

--

Sabas

Co-fundador ElectronicCats hardware libre en México, Promotor del Movimiento Maker, Hardware Libre y DIY. Co-fundador @inventorshouse Hackerspace