Construye una puerta de enlace LoRa con el módulo RAK831 en Raspberry Pi 3 – Guía paso a paso
Esta guía te lleva por cada paso para poner en marcha un módulo RAK831 LoRa Gateway en una Raspberry Pi 3 usando Wi‑Fi como backhaul.
Introducción
Diseñada para desarrolladores que quieren crear una puerta de enlace LoRa personalizada, este tutorial asume familiaridad básica con el ecosistema Raspberry Pi, sus pines GPIO y el sistema operativo basado en Debian que incluye. Vamos a ello.
¿Qué es LoRa?
LoRa Alliance™ impulsa LoRaWAN™ —una especificación de red de área amplia de bajo consumo (LPWAN) que soporta dispositivos IoT alimentados por batería a escala regional, nacional o global. LoRaWAN ofrece comunicación bidireccional segura, movilidad y servicios de localización que cubren los requisitos centrales de los despliegues IoT modernos.
El diagrama anterior ilustra los componentes clave de una red LoRa. A continuación, los aspectos más importantes:
Características clave de la tecnología LoRa y el protocolo LoRaWAN
- Geolocalización: seguimiento de activos móviles sin GPS y bajo consumo.
- Bajo coste: reduce infraestructura, gastos operativos y coste de sensores.
- Estandarizado: interoperabilidad global que acelera la adopción.
- Bajo consumo: diseñado para baterías que duran hasta 20 años.
- Largo alcance: una sola estación base puede alcanzar zonas rurales hasta 30 millas y penetrar entornos urbanos densos y edificios.
- Seguro: cifrado AES‑128 de extremo a extremo integrado.
- Alta capacidad: soporta millones de mensajes por estación base, ideal para operadores de redes públicas.
El RAK 831 es un frontend de radio LoRa. Recibe paquetes LoRa entrantes y los reenvía a un sistema huésped —como una Raspberry Pi 3— que también puede instruir al RAK 831 para transmitir. En este tutorial la Pi es la placa huésped que controla el RAK 831.
Elección del backhaul
Backhaul se refiere a la conexión a Internet que vincula tu Raspberry Pi a la red más amplia. Esta guía se centra en Wi‑Fi, pero Ethernet o 3G/4G son alternativas viables. Si hay un puerto Ethernet disponible, es preferible porque elimina la señal de radio adicional dentro del recinto que puede introducir ruido. En entornos ruidosos, el software puede compensar, pero un enlace más limpio siempre mejora la fiabilidad. Para Wi‑Fi, usa un dongle con antena externa y coloca la antena fuera del recinto.
Configuración del hardware
Antes de encender ningún dispositivo, configura la Raspberry Pi y el RAK 831 como sigue:
Raspberry Pi
- Consigue una Raspberry Pi 3 y graba una tarjeta microSD de 8 GB con Raspberry Pi OS (antes Raspbian). Tarjetas “Noobs” pre‑cargadas están disponibles, o puedes seguir esta guía para flashear el SO.
- Conecta una fuente de 5 V, 2 A. El RAK 831 puede consumir hasta 700 mA en picos de transmisión, por lo que una fuente robusta es esencial.
RAK 831
- Conecta la antena que viene con el kit al terminal de tornillo —este paso es obligatorio.
Detalles de conexión
La siguiente tabla muestra cómo cablear el RAK 831 a la Raspberry Pi 3. Para el pinout de la Pi, consulta esta documentación.
Notas
- El pin de reset puede conectarse a cualquier GPIO disponible.
- Verifica los pines de alimentación para evitar dañar el RAK 831.
Habilitar SPI
La interfaz SPI viene deshabilitada por defecto. Actívala así:
- Ejecuta
sudo raspi-config. - Navega a
Advanced Options → SPIy seleccionaYescuando se te pida habilitar SPI y cargar el módulo del kernel. - Finaliza y reinicia.
Tras reiniciar, verifica la interfaz:
> ls /dev/*spi* /dev/spidev0.0 /dev/spidev0.1
Estos son los dispositivos SPI para los pines de chip enable 0 y 1.
Opciones de alimentación
Como los módulos inalámbricos a menudo consumen más energía de la que los pines de la Pi pueden suministrar, tienes dos opciones:
- Usar el rail de 5 V de la Pi para alimentar ambos dispositivos.
- Proveer rails de 5 V separados para la Pi y el RAK 831.
Instalación de software
En la Raspberry Pi, realiza los siguientes pasos:
- Habilita SPI (como se describió) y expande el sistema de archivos (
Advanced options → Expand filesystem). - Actualiza el sistema e instala
git:
sudo apt-get update sudo apt-get upgrade sudo apt-get install git
/etc/wpa_supplicant/wpa_supplicant.conf:network={ ssid="El_SSID_de_tu_wifi" psk="Tu_contraseña_wifi" }
spi:git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway cd ~/ic880a-gateway sudo ./install.sh spi
Si optaste por configuración remota, crea un archivo JSON nombrado con el EUI de tu gateway (ej. B827EBFFFE7B80CD.json) en el repositorio gateway‑remote‑config. Haz fork del repo, añade tu archivo, haz commit y envía un pull request. Un ejemplo de configuración:
{ "gateway_conf": { "gateway_ID": "tu_gateway_EUI_aquí", "servers": [ { "server_address": "tu_direccion_router_aquí", "serv_port_up": 1700, "serv_port_down": 1700, "serv_enabled": true } ], "ref_latitude": tu_latitud, "ref_longitude": tu_longitud, "ref_altitude": 40, "contact_email": "tu_email@example.com", "description": "breve descripción" } }
Para una lista de direcciones de servidor válidas, consulta el wiki de The Things Network.
Por defecto, el instalador cambia el hostname de la Pi a ttn-gateway para evitar colisiones. Puedes sobrescribirlo si prefieres un nombre personalizado. Tras la instalación, reinicia la puerta de enlace al día siguiente para asegurar que el archivo JSON se descarga correctamente.
Ajusta global_config.json según necesites. Para despliegues en EE. UU., edita el archivo ubicado en US‑global_conf.json. Si prefieres el forwarder mp_pkt_fwd, sigue las instrucciones en este repositorio y copia el global_conf.json actualizado a la carpeta bin tras compilar.
Entidades configurables en global_conf.json
Tras la instalación, el archivo ./bin/global_conf.json contiene varias secciones que podrías necesitar ajustar:
- Configuración de radio (
radio_0oradio_1) – ajustaFrequencyy parámetros de barrido min/max. - Identidad de la puerta de enlace – actualiza
gateway_IDo el EUI del gateway. - Puertos del servidor – modifica
serv_port_upyserv_port_downjunto con la dirección del servidor.
Con estos pasos completados, tu puerta de enlace LoRa RAK 831 debería estar plenamente operativa, lista para transmitir y recibir datos a través del backhaul elegido.
Proceso de manufactura
- Monitorizar eficientemente temperaturas de salas con Raspberry Pi y Nagios
- Centro de Energía Doméstica: Monitorización de paneles solares fotovoltaicos, térmicos y temperaturas con Raspberry Pi y Moteino
- Integración de datos de sensores en Raspberry Pi: Guía práctica
- Construya un Controlador Domótico 433 MHz con Sensorflare y Raspberry Pi
- Seguimiento Facial Pan/Tilt en Tiempo Real en Raspberry Pi – Guía Práctica
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Integrar radar pulsado Acconeer A111 con Raspberry Pi: guía práctica
- Primeros Pasos con TJBot: Construye, Configura y Controla por Voz tu Robot IA
- NanoPi K1 Plus por $35: SBC tipo Raspberry Pi con 2 GB RAM, CPU Allwinner H5, HDMI, Gigabit Ethernet
- Construye una Pasarela LoRa de Canal Único de Bajo Coste con Raspberry Pi
- Guía Paso a Paso para Desplegar una Pasarela LoRa RAK 831 en Raspberry Pi 3