En tutoriales anteriores realizamos la revisión de nuestro Gateway utilizando el RAK833, el modulo de Radio creado por RAK Wireless, adicionando un Raspberry Pi podemos crear un gateway profesiona y funcional para nuestras implementaciones LoRaWAN.
Importante: Este tutorial solo esta enfocado en los RAK833 que cuentan con comunicacion USB y SPI, para la versión SPI se requiere otro driver y otra base socket adicional, en nuestro caso utilizamos el USB.
En este caso instalaremos los controladores USB para RAK833 e instalaremos el Semtech Packet Forwarder o Reenviador de Paquetes de Semtech y lo configuraremos con los archivos local_conf.json y global_conf.json y tendremos listo nuestro Gateway LoRaWAN para conexión con plataformas como The Things Network, ChirpStack
Tutoriales Recomendados
También he creado un tutorial, de instalación de Raspbian OS version sin escritorio, la cual es la versión mas eficiente, dado que no utilizaremos un escritorio todo se realizara mediante comandos via SSH.
Tutoriales Recomendado para Windows
Tutorial Recomendado para Linux
Drivers USB Github RAK Wireless para RAK833
La empresa RAK Wireless ha dispuesto en github los controladores (drivers) para la comunicación USB entre el RAK833 y nuestro Raspberry Pi, estos drivers solo son validos para RAK833 version SPI/USB.
Github: RAKWireless/RAK2247-RAK833-LoRaGateway-RPi-USB
Semtech UDP Packet Forwarder
El reenviador de paquetes UDP de Semtech es el primer reenviador de paquetes y se conecta a los servidores a través del protocolo Semtech UDP . Aunque este protocolo tiene varios defectos, muchas puertas de enlace incluyen una versión precompilada del reenviador de paquetes, lo que facilita la prueba de una puerta de enlace con este protocolo.
En este caso lo instalaremos en conjunto con los controladores USB para el RAK833.
1 Module RAK833-SPI/USB + antenna IPEX
1 mPCIe to USB converter board for RAK833
Others Recomended LoRaWAN
Node LoRaWAN RAK811 (AT Commands) + breakout
Module ESP32 ESP-WROOM-32
Module ESP32 LoRa HELTEC – 915 MHz
Module/Radio RFM95 Hope Electronics 915Mhz
RAK2245 LoRa Pi Hat GATEWAY LoRa LoRaWAN
LoRaWAN Button RAK
Antenna 5.8dBi Fiberglass LoRa LoRaWAN
Video: LoRaWAN #2: Review RAK833 SPI/USB Concentrator LoRa
Importante Recomendado
Antes de iniciar con LoraWAN leer:
Configurar Gateway LoRaWAN
Previamente hemos instalado Raspbian sin escritorio y tenemos configurado Wifi e ingreso remoto mediante cliente SSH.
Linux y Windows 10 permiten conectarse via SSH mediante terminal de comandos, en caso de ser un usuario de versiones anteriores de Windows utilizar Putty, el cual permitiría conectar con su Raspberry Pi.
Paso 1: Ingresar mediante SSH.
Se requiere la dirección IP, usuario y contraseña de nuestro Raspberry Pi.
- Conexión directa a Raspberry Pi mediante SSH en Windows 10.
- Conexión directa a Raspberry Pi mediante SSH en Lubuntu (Linux).
- Conexión a Raspberry Pi utilizando Putty.
Actualizar Paquetes raspberry Pi.
sudo apt-get update
sudo apt-get upgrade
Descargar Drivers SX1301 y Semtech UDP Packet Forwarder
Se descargara el repositorio que contiene los drivers para el SX1301 y archivos para el Semtech UDP Packet Forwarder.
Instalar Git en Raspberry Pi, permite descargar repositorios de Github:
sudo apt-get install git
Descargar
git clone https://github.com/RAKWireless/RAK833-LoRaGateway-RPi.git ~/rak833-loragateway
Ingresar a la carpeta rak833-loragateway
:
cd ~/rak833-loragateway
Quitar LoRaServer
Importante: Por defecto el repositorio permite instalar LoRaServer, en mi caso y lo recomiendo, instalar de manera independiente ChirpStack la versión actualizada de LoRaServer.
editar el Archivo de instalacion install.sh
y eliminaremos la instalacion de LoRaServer.
sudo nano install.sh
Archivo por defecto:
Archivo modificado:
Ejecutar instalador
sudo ./install.sh
Configurar Semtech UDP Packet Forwarder
Para configurar el reenviador de paquetes, se deben modificar según nuestras necesidades, principalmente nuestra frecuencia de trabajo (915 u 868 etc) los siguientes archivos
- local_conf.json
- global_conf.json
El Semtech Packet Forwader técnicamente es el componente de convierte las Tramas Uplink & Downlink LoRa a tramas UDP/IP enviadas a los Servidores ( TTN, Chirpstack, etc).
Ubicados en la ruta:
- /opt/ttn-gateway/packet_forwarder/lora_pkt_fwd
local_conf.json
Este archivo tiene la información del ID de nuestro gateway con el cual lo registramos en las plataformas LoRaWAN.
Al instalar el Packet Forwarder, este archivo por defecto viene configurado para una red a 868Mhz:
global_conf.json
Este archivo contiene, toda la configuración referente a los 2 módulos SX1257, en pocas palabras toda la configuración de modulación y frecuencias.
Al instalar el Packet Forwarder, este archivo por defecto viene configurado para una red a 868Mhz:
Modificaciones para 915 MHz
Por defecto la configuración de global_conf.json y local_conf.json están predefinidos para zonas con la frecuencia a 868MHz, en mi caso las Bandas ISM de mi pais son a 915MHz, se requieren algunas modificaciones para esta configuración, continuación indicare el proceso de modificacion.
global_conf.json
Existen muchas variaciones o variedades de este archivo global_conf.json que contiene la configuración de el SX1301 y los 2 chip SX1257.
Nota Importante: No modificar ningún valor de configuración y/o parámetro, si desconoce su funcionamiento.
Archivo global_conf.json para 915
Nota: descargar global_conf.json para 915 al final del articulo.
Mover de PC a Raspberry Pi global_conf.json
En nuestro caso remplazaremos el archivo por defecto 868 por esta versión para 915, para esto moveremos el archivo desde nuestro PC a la carpeta de usuario de Raspberry Pi.
Utilizaremos el metodo SCP, Secure Copy Protocol o Simple Communication Protocol, permite mover archivos entre nuestro PC y Raspberry Pi y viceversa sin complicaciones.
archivo usuario(raspberry)@ direccionIP
(raspberry)
Ejemplo: mover archivo desde PC a Raspberry Pi, desde terminal de comandos PC.
sudo scp global_conf.json pi@192.168.0.106
Copiar global_conf.json
El archivo estará en la carpeta del usuario pi, debemos moverlo a la ruta:
/opt/ttn-gateway/packet_forwarder/lora_pkt_fwd
Copiar con el siguiente comando:
sudo cp -r global_conf.json /opt/ttn/packet_forwarder/lora_pkt_fwd/global_con.json
Al mover y remplazar el archivo estaría lista la configuración para 915MhZ
local_conf.json
Este archivo contiene la configuracion de ID de nuestro Gateway y Servidor se diseccionaran los paquetes LoRaWAN,
Modificación: En este caso la versión por defecto tenia menos parámetros de configuración, editaremos el archivo local_con.json y adicionaremos los parametros faltantes.
sudo nano local_conf.json
Archivo por defecto:
Archivo Modificado:
Nota: descargar local_conf.json al final del articulo.
Configuracion Completa
Terminando la configuración de estos 2 archivos estaría listo nuestro Gateway LoRaWAN, solo requiere configurar el servidor al cual enviaremos datos de nuestros nodos. cambiando la dirección IP 127.0.0.1 por ejemplo router.us.thethings.network en el caso de The Things Network o la dirección IP de nuestro servidor ChirpStack.
Video Completo
Explicacion paso por paso, para la configuración:
Conclusion
Este es el primer paso tener nuestra propia Pasarela o Gateway LoRaWAN listo para transmitir, a los servidores LoRaWAN.
Resumiendo actividades:
- Descargar e instalar Drivers USB, en el caso de el RAK833 versión USB /SPI.
- Descargar e instalar Semtech UDP Packet Forwarder, reenviadore de paquetes LoRa.
- Configurar Frecuencia de trabajo en archivo global_conf.json.
- Configurar Servidor de envio de paquetes LoRa por UDP en archivo local_conf.json.
Nota: todas las actividades de especificaran detalladamente en el video:
Descargas
3 Archivos de Configuración para gateway:
- global_conf.json 915mHz
- global_conf.json 868mHz
- local_conf.json full version