¿Cómo crear una puerta de enlace para proyectos de LoRa?

0
295
puerta de enlace 2
Imagen de Ezequiel Robles.
Concentrador RAK2245
Concentrador RAK2245

Para construir una puerta de enlace se requiere de un módulo concentrador LoRa y un dispositivo capaz de controlar al concentrador. Por ejemplo, el módulo concentrador RAK2245 con una tarjeta Raspberry Pi 3.

El protocolo recomienda el uso de concentradores para las puertas de enlace, ya que éstos son multicanales. Por ejemplo, este modelo cuenta con 8 canales para recepción de paquetes de forma paralela, lo que permite a la puerta de enlace manejar un gran número de nodos.

Concentrador RAK2245
Concentrador RAK2245

Para que la Raspberry pueda utilizar el concentrador requiere de dos programas: un controlador para habilitar la comunicación entre hardware y el sistema operativo, y el programa que realizará el reenvío de paquetes (función principal de la puerta de enlace).

El fabricante del módulo, RAK Wireless™, ofrece una imagen del sistema operativo Raspbian, el cual contiene el controlador y un reenviador de paquetes desarrollado por Semtech, así como las configuraciones necesarias para que éste funcione.

Esta imagen debe quemarse en una memoria microSD para luego introducirla en la Raspberry y energizarla. Una vez se haya iniciado el sistema, se dispondrá de la ventana de comandos para realizar las configuraciones para personalizar la puerta de enlace. Para acceder a estas configuraciones, gracias a la imagen del fabricante, se puede utilizar el comando sudo gateway-config, el cual abrirá una interfaz donde se debe configurar el plan de frecuencia utilizado.

Reenviador de paquetes

El reenviador de paquetes es un programa que se ejecuta en el host de una puerta de enlace LoRa que reenvía los paquetes de RF recibidos por el concentrador a un servidor a través de un enlace IP/UDP, y emite paquetes de RF que envía el servidor. También puede emitir una señal de beacon síncrona con GPS en toda la red utilizada para coordinar todos los nodos de la red. Este programa fue desarrollado por Semtech y puede encontrarse en su repositorio de Github.

Entre los archivos del repositorio del reenviador de paquetes se encuentra un archivo llamado global_conf.json, con el que se configura la puerta de enlace.

Ejemplo de programación para la puerta de enlace de LoRa
Archivo para la configuración de la puerta de enlace

De la información solicitada, los cuatro primeros son los más relevantes, para los otros puede dejarse los valores por defecto.

  1. ID de Puerta de enlace: Este parámetro es proporcionado por el fabricante de la puerta de enlace. Como este proyecto utiliza una Raspberry como host, entonces se coloca la dirección MAC de la Raspberry. Este valor debe ser el mismo que se le asigna a la puerta de enlace que creada en el servidor (por ejemplo, TTN).
  2. Dirección del servidor: Se debe llenar con la dirección IP o dominio del servidor. Si se utiliza TTN, se coloca el dominio del router US de TTN: “router.us.thethings.network”.
  3. Puerto de subida del servidor: TTN específica el puerto 1700 como puerto de subida.
  4. Puerto de bajada del servidor: TTN específica el puerto 1700 como puerto de bajada.

Una vez se configuran estos valores, se debe hacer un reinicio a la Raspberry para hacer efectivos los cambios realizados. Por defecto, la Raspberry inicializa el programa del reenviador de paquetes en cada inicio del sistema (esto es por las configuraciones de la imagen del fabricante). Hecho esto, se dispone de una puerta de enlace funcional, que reenviará cada paquete de cualquier nodo.