Infraestructura abierta · Extremadura

Conectar territorio. Compartir capacidad.

Una arquitectura LoRaWAN EU868 documentada para que cada Circular FAB pueda desplegar, comprobar y mantener su propia infraestructura sin depender de conocimiento implícito.

Precisión antes que promesas. LoRaWAN conecta nodos con gateways; no es una red mesh entre dispositivos. Cualquier capa multi-salto se trata como experimento independiente.

Regla de diseño

Arquitectura del sistema

Cada capa tiene una responsabilidad.

La radio transporta mensajes pequeños. IP enlaza el gateway. ChirpStack gestiona la red. MQTT abre los datos a integraciones posteriores.

Secuencia ilustrada: un nodo transmite por radio a un gateway con ordenador de placa única; la red IP lleva el mensaje al servidor y finalmente a una aplicación de datos
FIG. 01 · El viaje del datoDe izquierda a derecha: sensor → radio LoRaWAN → gateway con Raspberry Pi y concentrador SX130x → ChirpStack → aplicación.
01 · NODOMide y crea la trama
02 · GATEWAYEscucha y reenvía
03 · SERVIDORValida y organiza
04 · APLICACIÓNInterpreta y muestra

Academia práctica · desde cero

De una tarjeta vacía a una red que habla.

Versión3.0
NivelPrincipiante
RegiónEU868
Actualizado13 SEP 2026

Manual vivo

Instalar es solo el principio.

El proceso está organizado para avanzar con evidencia: preparar, conectar, observar, validar y saber volver atrás.

Manual operativo

00 · Antes de tocar nada

Vamos a construirlo entendiendo cada pieza.

No hace falta ser informático, electrónico ni experto en radio. La ruta está pensada para que distintas personas del Circular FAB puedan colaborar, dejar evidencia y continuar el trabajo de otra persona.

Meta de toda la ruta

Un Heltec envía un dato por radio, el gateway con concentrador SX130x lo escucha, ChirpStack lo acepta y el equipo puede verlo, explicarlo, repetirlo y recuperarlo después de un reinicio.

La analogía de la oficina de correos

El Heltec escribe una postal. LoRaWAN es la forma de enviarla. La antena y el concentrador SX130x la oyen. La Raspberry Pi hace de furgoneta. ChirpStack es la oficina que comprueba el destinatario. MQTT es el tablón donde otras aplicaciones recogen el mensaje.

Un equipo multidisciplinar, tres miradas

Facilitación

Guía la sesión

Lee los pasos, mantiene el ritmo y comprueba que nadie avance sin entender qué ha cambiado.

Técnica

Opera el equipo

Monta, escribe comandos y explica la salida en palabras sencillas. No trabaja en silencio.

Documentación

Guarda la evidencia

Anota modelos, decisiones, resultados y errores, pero nunca copia contraseñas ni AppKeys.

Regla del taller: una sola persona manipula alimentación y antenas; otra lee el paso; una tercera registra el resultado. Si algo no coincide con “deberías ver”, se para.

01 · Conocer el gateway

Preparar el gateway sin adivinar.

El equipo del piloto no es una caja misteriosa: es un pequeño ordenador con un oído de radio especializado. Antes de instalar nada, vamos a reconocerlo.

Antes de encender: conecta una antena apta para EU868 al puerto LoRa. Operar el concentrador sin carga RF puede dañarlo.

ElementoPiloto actualValidación mínima
GatewayRaspberry Pi + concentrador LoRa multicanalCarcasa, alimentación y Ethernet sin daños
ComputaciónRaspberry Pi 4 · 4 GBArranque estable y reloj sincronizado
ConcentradorFamilia SX1302/SX1303 · EU868Interfaz SPI visible; plan regional EU868
AlmacenamientomicroSD industrial recomendadaImagen identificada y copia verificable
Vista técnica desmontada de una Raspberry Pi, un adaptador HAT de 40 pines, un concentrador SX130x, el latiguillo de radio, la antena EU868, microSD, Ethernet y alimentación
FIG. 02 · Gateway por capasLa marca exterior no define el sistema: lo importante es reconocer el ordenador, la interfaz, el concentrador multicanal, la antena y la red.
01Antena EU868La oreja que recibe señales de los nodos.
02Concentrador SX130xLa radio multicanal: escucha muchas señales LoRa.
03HAT / interfaz SPIEl adaptador que une la radio con la Raspberry Pi.
04Raspberry Pi 4El ordenador que ejecuta Linux y mueve los mensajes.
05Red IPEthernet o Wi-Fi hacia ChirpStack.
¿Por qué esta arquitectura?

Un concentrador de la familia SX1302/SX1303 puede escuchar varios canales a la vez. Un Heltec es como un walkie-talkie individual; el concentrador es como una torre de control preparada para escuchar a muchos nodos LoRaWAN. Por eso no se sustituyen entre sí.

Inventariar

Fotografía etiqueta y montaje; registra modelo, revisión, número de activo y ubicación. No publiques identificadores sensibles.

Preparar el sistema

Usa una imagen de 64 bits mantenida. Define hostname único, usuario nominal y acceso SSH por clave.

Validar la base

Confirma red, DNS, hora y dispositivo SPI antes de añadir packet forwarder o ChirpStack.

Capturar evidencia

Guarda fecha, versión, salida esperada y responsable. Un resultado sin evidencia no desbloquea la siguiente fase.

Comprobación base · Raspberry Pi OS
hostnamectl
timedatectl status
ip -brief address
getent hosts deb.debian.org
ls -l /dev/spidev*

Salida esperada

Hostname de sede, zona horaria correcta, una interfaz con IP, resolución DNS y al menos un dispositivo /dev/spidev*.

Si no coincide

Detén el despliegue. Corrige primero energía, almacenamiento, red, hora o SPI. No compenses un fallo de base en capas superiores.

02 · Crear la microSD

Instalar Raspberry Pi OS desde una tarjeta vacía.

La microSD es el disco duro del gateway. “Grabar una imagen” significa copiar en ella un sistema operativo completo y arrancable.

Al terminar

Tendrás una microSD con Raspberry Pi OS Lite de 64 bits, un nombre de equipo único, usuario propio, red configurada y SSH activado.

Secuencia visual en seis pasos: microSD, escritura desde un ordenador, inserción en Raspberry Pi, conexión Ethernet, terminal remota y comprobación final
FIG. 03 · De tarjeta a ordenadorLa microSD recibe el sistema, entra en la Raspberry Pi y permite administrar el gateway por Ethernet y una terminal segura.
NecesitasPara qué sirveRecomendación
OrdenadorEjecutar Raspberry Pi ImagerWindows, macOS o Linux actualizado
Lector microSDConectar la tarjeta al ordenadorNo retirarlo durante la escritura
microSDGuardar el sistema16 GB mínimo; mejor una tarjeta fiable
Cable EthernetPrimera conexión establePreferible a Wi-Fi para el gateway
  1. Descarga Raspberry Pi Imager. Hazlo desde la web oficial de Raspberry Pi e instálalo en el ordenador.
  2. Conecta la microSD. Comprueba su capacidad. Desconecta otros discos externos para que sea más difícil equivocarse.
  3. Elige el dispositivo. Selecciona Raspberry Pi 4.
  4. Elige el sistema. Selecciona Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit). “Lite” no tiene escritorio: consume menos y se administra por red.
  5. Elige el almacenamiento. Señala únicamente la microSD. Imager va a borrar por completo el dispositivo seleccionado.
  6. Abre la personalización. Define lorafab-sede como patrón de nombre, sustituyendo sede por una palabra corta y única. Crea un usuario nominal y una contraseña larga.
  7. Configura la red. Si usarás Ethernet, no necesitas guardar Wi-Fi. Si es imprescindible, añade SSID, contraseña y país ES sin documentar esas credenciales.
  8. Activa SSH. Preferiblemente con clave pública. Si el equipo aún no usa claves, permite contraseña solo durante el taller y planifica el cambio.
  9. Ajusta idioma y hora. Zona horaria Europe/Madrid y teclado correspondiente al equipo.
  10. Escribe y verifica. Confirma el borrado, espera la escritura y deja que Imager complete su verificación. Expulsa la tarjeta de forma segura.
Deberías ver

Raspberry Pi Imager termina con un mensaje de escritura verificada y permite retirar la tarjeta.

No avances si…

No reconoces con certeza el almacenamiento, la verificación falla o has olvidado el usuario, hostname o forma de acceso. Repite la grabación; todavía es el momento barato para corregir.

03 · Montaje seguro

Montar el “sándwich” de ordenador y radio.

Si el gateway ya está ensamblado, no lo desmontes: inspecciona visualmente y continúa. Si las piezas están separadas, trabaja sobre una mesa limpia, sin alimentación y sin forzar conectores.

Piensa en capas

Abajo está la Raspberry Pi, encima el HAT de interfaz y sobre él el módulo concentrador SX130x. La antena no se conecta a la Raspberry: se conecta al diminuto puerto RF del módulo concentrador.

Todo apagado

Retira USB-C y Ethernet. Descarga electricidad estática tocando una superficie metálica conectada a tierra.

Inserta el concentrador SX130x

Si utiliza formato mini-PCIe, entra en el conector del HAT con unos 45 grados; después baja la tarjeta y fíjala con sus tornillos. El formato físico no significa que sea un módem móvil.

Conecta los latiguillos RF

Alinea el conector u.FL verticalmente y presiona suave. Comprueba las etiquetas LoRa y GPS; no los intercambies.

Une el HAT a la Raspberry Pi

Alinea los 40 pines sin desplazar una fila. Todos deben entrar rectos.

Conecta la antena EU868

Primero la antena, después la alimentación. La antena debe ser de la banda europea y quedar firme, no apretada con herramientas.

Inserta la microSD

Con la Pi apagada, introduce la tarjeta hasta que quede asentada. Conecta Ethernet y por último USB-C.

Para inmediatamente si…

Un conector queda inclinado, faltan separadores, un cable RF se resiste o no sabes qué puerto es LoRa. Una fotografía nítida y la guía del modelo son mejores que aplicar fuerza.

04 · Primer arranque

Entrar en la Raspberry Pi y comprobar que está sana.

SSH permite usar la Raspberry desde otro ordenador. Verás una terminal: una conversación de texto donde escribimos una orden y el sistema responde.

Recomendado

Ethernet + SSH

Menos variables, conexión estable y sin monitor dedicado.

Alternativa

Monitor + teclado

Útil cuando no aparece en la red o el taller todavía no tiene SSH.

  1. Espera el primer arranque. Conecta la alimentación y espera dos o tres minutos. No retires la corriente durante esta preparación inicial.
  2. Localiza el equipo. Desde otro ordenador prueba ping lorafab-sede.local. Si no responde, busca la dirección IP en el router o conecta monitor.
  3. Entra por SSH. Usa el usuario creado en Imager: ssh TU_USUARIO@lorafab-sede.local. Acepta la huella solo si estás en la red correcta.
  4. Actualiza la lista de software. Ejecuta los comandos del bloque siguiente. Puede tardar; lee cualquier pregunta antes de responder.
  5. Abre la configuración. En raspi-config activa SPI e I²C. En Serial, desactiva la consola de login y activa el hardware del puerto serie.
  6. Reinicia de forma limpia. Usa sudo reboot, espera y vuelve a entrar por SSH.
Primer mantenimiento
sudo apt update
sudo apt full-upgrade -y
sudo raspi-config
sudo reboot
Comprobación tras reinicio
hostnamectl
timedatectl status
ip -brief address
getent hosts deb.debian.org
ls -l /dev/spidev*
Deberías ver

El hostname acordado, zona Europe/Madrid, una IP, resolución de internet y al menos un dispositivo cuyo nombre empieza por /dev/spidev.

No avances hasta que…

La hora sea correcta, la red funcione y SPI aparezca. ChirpStack no puede arreglar un cable, una fuente insuficiente o una interfaz desactivada.

05 · Cómo viaja el dato

Entender la ruta antes de instalarla.

El mismo kit puede servir como laboratorio autocontenido o como gateway de una red territorial. La decisión cambia dónde viven ChirpStack, MQTT y las copias.

Arquitectura LoRaWAN en cinco etapas: nodo sensor, gateway con Raspberry Pi y concentrador SX130x, conexión IP, servidor de red y aplicación de datos
FIG. 04 · Una cadena, cinco trabajosLas ondas terminan en el gateway. Desde ahí el mensaje viaja por IP: LoRaWAN no crea saltos entre nodos.
Laboratorio

Sede autónoma

Gateway y servicios locales en la misma Raspberry Pi.

  • Ideal para aprender y ensayar sin depender de WAN.
  • Mayor carga operativa por sede.
  • No representa todavía la arquitectura territorial.

Contrato entre capas

Radio: el nodo emite una trama LoRaWAN. Gateway: añade metadatos RF y reenvía. Servidor: valida sesión, deduplica y descifra. Integración: recibe eventos por MQTT. Ninguna capa debe asumir el trabajo de la siguiente.

Identidad del gateway

Debe ser única, estable y coincidir exactamente entre el packet forwarder y ChirpStack. Regístrala en inventario, no en capturas públicas.

Plan regional

Todos los perfiles —gateway, tenant, device profile y firmware— deben usar EU868. Una mezcla regional produce fallos silenciosos.

RADIOHeltecCrea y cifra una pequeña trama.
EU868Concentrador SX130xEscucha la señal; no la descifra.
UDP 1700Gateway BridgeTraduce el formato del packet forwarder.
MQTTChirpStackComprueba identidad, sesión y duplicados.
DATOSAplicaciónGuarda, dibuja o transforma el mensaje.

LoRaWAN no es una red mesh. Los nodos hablan con gateways; no reenvían mensajes de nodo a nodo. Meshtastic o Reticulum pueden investigarse aparte, con otro firmware y un experimento claramente separado.

06 · Software del gateway

Enseñar a la Raspberry Pi a usar el concentrador SX130x.

Instalaremos la capa HAL y el packet forwarder de referencia para SX1302/SX1303. La HAL permite que Linux hable con el chip; el packet forwarder toma las tramas escuchadas y las entrega por red al Gateway Bridge.

Al terminar

El concentrador trabajará en EU868, tendrá un Gateway EUI único y enviará paquetes UDP al equipo donde funciona ChirpStack Gateway Bridge.

El chip no define todo el montaje: antes de compilar registra si la interfaz es SPI o USB, el modelo de radios auxiliares, el pin de reset y el archivo EU868 correspondiente a la placa. No existe una configuración universal segura para todos los HAT SX130x.

Descargar y compilar la HAL SX1302/SX1303
sudo apt update
sudo apt install git build-essential pkg-config libusb-1.0-0-dev -y
git clone https://github.com/Lora-net/sx1302_hal.git ~/sx1302_hal
cd ~/sx1302_hal
make -j2
  1. Confirma que la compilación termina. La última parte no debe contener Error. Si falla, conserva desde la primera línea roja y no continúes.
  2. Elige la configuración física correcta. Dentro de packet_forwarder parte del ejemplo EU868 que coincida con interfaz, radios y reloj de la placa. Copiar un archivo “parecido” puede permitir arrancar y aun así medir o transmitir mal.
  3. Configura el reset. Ajusta reset_lgw.sh a los pines documentados del HAT. El concentrador debe reiniciarse antes de abrir la HAL.
  4. Define una identidad estable. Escribe un Gateway EUI único de 16 caracteres hexadecimales en local_conf.json y en el inventario. Nunca reutilices el de otra sede.
  5. Indica el destino. En el laboratorio todo-en-uno usa 127.0.0.1 y los puertos 1700. Si ChirpStack vive en otro servidor, usa su IP fija.
  6. Prueba en primer plano. Arranca manualmente; observa la detección del SX1302/SX1303, la región EU868 y los mensajes PUSH_DATA/PULL_DATA antes de crear un servicio automático.
Configuración local del destino
{
  "gateway_conf": {
    "gateway_ID": "REEMPLAZAR_POR_16_HEX",
    "server_address": "127.0.0.1",
    "serv_port_up": 1700,
    "serv_port_down": 1700
  }
}
Prueba manual del packet forwarder
cd ~/sx1302_hal/packet_forwarder
sudo ./lora_pkt_fwd -c global_conf.json
Deberías ver

La HAL reconoce un SX1302 o SX1303, carga los canales EU868 y el forwarder intenta intercambiar paquetes con 127.0.0.1:1700. Sal con Ctrl+C después de guardar la evidencia.

No avances si…

Falla el reset, no se detecta el chip, la interfaz no coincide o el archivo no es EU868. No cambies pines, reloj o ganancias al azar: vuelve al esquema del HAT y modifica una sola variable.

07 · Instalar ChirpStack

Crear la oficina de correos de la red.

Para aprender, instalaremos todos los servicios en la misma Raspberry Pi. Más adelante ChirpStack puede vivir en un servidor central y el gateway permanecer en cada sede.

Cuatro ayudantes

PostgreSQL guarda la libreta, Redis mantiene memoria rápida, Mosquitto transporta mensajes MQTT y Gateway Bridge traduce lo que llega del gateway. ChirpStack coordina el conjunto.

Antes de copiar: decide una contraseña de base de datos larga, guárdala en el gestor de contraseñas del proyecto y sustituye CAMBIAR_ESTA_CONTRASENA. No la escribas en actas, capturas ni repositorios.

7.1 · Instalar las dependencias

Base de datos, caché y MQTT
sudo apt update
sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql -y
sudo systemctl enable --now mosquitto redis-server postgresql

7.2 · Crear la base de datos

Entrar en PostgreSQL
sudo -u postgres psql
CREATE ROLE chirpstack WITH LOGIN PASSWORD 'CAMBIAR_ESTA_CONTRASENA';
CREATE DATABASE chirpstack WITH OWNER chirpstack;
\c chirpstack
CREATE EXTENSION pg_trgm;
\q

7.3 · Añadir el repositorio oficial

Clave y repositorio ChirpStack 4
sudo apt install gpg wget -y
sudo mkdir -p /etc/apt/keyrings
sudo sh -c 'wget -q -O - https://artifacts.chirpstack.io/packages/chirpstack.key | gpg --dearmor > /etc/apt/keyrings/chirpstack.gpg'
sudo nano /etc/apt/sources.list.d/chirpstack.sources

Dentro de nano, pega estas cinco líneas. Guarda con Ctrl+O, Enter, y sal con Ctrl+X.

Contenido de chirpstack.sources
Types: deb
URIs: https://artifacts.chirpstack.io/packages/4.x/deb
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/chirpstack.gpg

7.4 · Instalar y configurar Gateway Bridge

Instalar Gateway Bridge
sudo apt update
sudo apt install chirpstack-gateway-bridge -y
sudo nano /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml

En la sección MQTT, confirma que los tópicos empiezan por eu868. No borres las demás opciones del archivo.

Fragmento MQTT EU868
[integration.mqtt]
event_topic_template="eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}"
command_topic_template="eu868/gateway/{{ .GatewayID }}/command/#"

7.5 · Instalar el servidor

ChirpStack 4
sudo apt install chirpstack -y
sudo nano /etc/chirpstack/chirpstack.toml

En chirpstack.toml, activa únicamente EU868 y usa la misma contraseña de PostgreSQL. Conserva el resto de la configuración generada.

Ajustes esenciales
enabled_regions=["eu868"]

[postgresql]
dsn="postgres://chirpstack:CAMBIAR_ESTA_CONTRASENA@localhost/chirpstack?sslmode=disable"
Arrancar y comprobar
sudo systemctl enable --now chirpstack-gateway-bridge chirpstack
systemctl --failed
systemctl status chirpstack-gateway-bridge chirpstack --no-pager
mosquitto_sub -v -t "+/gateway/#"
Deberías ver

Ambos servicios aparecen como active (running). La orden MQTT queda esperando mensajes; sal con Ctrl+C.

Si un servicio falla

Lee primero su diario: sudo journalctl -u chirpstack -n 100 --no-pager o cambia el nombre por chirpstack-gateway-bridge. Corrige el primer error, reinicia el servicio y vuelve a comprobar.

08 · Enlazar el gateway

Hacer que el gateway aparezca en ChirpStack.

Ahora conectaremos la identidad guardada en el paso 06 con la interfaz web del servidor. Copiar exactamente el Gateway EUI es más importante que memorizarlo.

  1. Abre la interfaz. Desde un ordenador de la misma red visita http://IP_DE_LA_RASPBERRY:8080.
  2. Entra por primera vez. La instalación inicial usa admin / admin. Cambia esa contraseña inmediatamente y guárdala de forma segura.
  3. Crea una organización de trabajo. Usa nombres que cualquier persona reconozca: por ejemplo, tenant Circular FAB y ubicación Sede piloto.
  4. Añade el gateway. Copia el Gateway EUI exacto que guardaste en local_conf.json y en el inventario, selecciona EU868 y escribe una descripción física útil.
  5. Espera una señal. Abre el gateway y observa Last seen at. Normalmente se actualiza en menos de un minuto si ya hay tráfico de estadísticas.
  6. Mira las tramas. La pestaña de frames LoRaWAN permite distinguir que la radio escucha, incluso antes de registrar un dispositivo.
Mirar UDP 1700 sin modificar nada
sudo tcpdump -ni any udp port 1700
sudo journalctl -f -u chirpstack-gateway-bridge
Éxito visible

El gateway muestra una fecha reciente en Last seen at. Después de reiniciar la Raspberry Pi, vuelve a aparecer sin ejecutar comandos manuales.

No publiques el panel: el puerto 8080 es para la red de administración. No abras una redirección en el router ni lo expongas directamente a internet.

09 · Operación

Mantener es parte de instalar.

La sede se considera sostenible cuando otra persona puede comprobarla, reiniciarla y restaurarla siguiendo este manual.

Política de secretos: AppKey, tokens MQTT, contraseñas, claves SSH privadas y credenciales Wi-Fi se entregan por canal seguro. Nunca entran en la web, capturas o repositorios.

RUN / 01Comprobación diaria

Comprueba alimentación, enlace IP, hora, servicio de reenvío y última trama recibida. Registra solo incidencias; evita generar ruido operativo sin señal útil.

RUN / 02Reinicio controlado

Anota el motivo y la hora. Reinicia desde el sistema, no retirando alimentación. Confirma retorno de red, sincronización de reloj, servicio activo y recepción de una nueva trama.

RUN / 03Actualización

Crea copia, revisa notas de versión y ventana de mantenimiento, actualiza una sede piloto y valida antes de extender. Evita actualizar radio, sistema y servidor de red a la vez.

RUN / 04Copia y restauración

La copia debe incluir inventario, versiones, configuración sin secretos y exportaciones necesarias. Una copia no existe hasta completar una restauración de ensayo y documentar el resultado.

Estado de servicios
systemctl --failed
systemctl status chirpstack-gateway-bridge --no-pager
journalctl -u chirpstack-gateway-bridge -n 80 --no-pager

10 · Primer nodo Heltec

Preparar un Heltec V3 y ver su primer “hola”.

El Heltec WiFi LoRa 32 V3 combina un microcontrolador ESP32-S3, una radio SX1262, pantalla OLED y USB-C. Empezaremos con uno solo; cuando funcione, repetiremos con los otros tres.

Al terminar

El nodo hará un Join OTAA y ChirpStack recibirá un uplink real con contador, RSSI y SNR.

10.1 · Preparar Arduino IDE

  1. Instala Arduino IDE. Descárgalo desde su web oficial y abre File/Archivo → Preferences/Preferencias.
  2. Añade el índice de Heltec. En “Additional Boards Manager URLs” pega https://resource.heltec.cn/download/package_heltec_esp32_index.json.
  3. Instala la placa. Abre Boards Manager, busca heltec esp32 e instala el paquete.
  4. Instala la biblioteca. En Library Manager busca HELTEC ESP32.
  5. Conecta el nodo. Usa un cable USB-C de datos; algunos cables solo cargan y el ordenador no verá la placa.
  6. Selecciona modelo y puerto. Elige exactamente WiFi LoRa 32 (V3) y el puerto que aparece al conectar la placa.

Si no sube el programa: mantén pulsado PRG/BOOT, pulsa RST una vez, suelta PRG/BOOT y vuelve a cargar. Esta secuencia pone la placa en modo bootloader.

10.2 · Crear las identidades OTAA

Tres datos, tres trabajos

DevEUI es el DNI del dispositivo. JoinEUI indica a qué oficina pide entrar. AppKey es la llave secreta que demuestra que tiene permiso.

Crear aplicación y perfil EU868

En ChirpStack crea una aplicación, después un Device Profile de clase A compatible con el firmware y región EU868.

Registrar el dispositivo

Asigna un nombre físico, introduce DevEUI y JoinEUI exactos y selecciona el perfil. Evita ceros añadidos o bytes invertidos.

Añadir la AppKey

Introdúcela tanto en ChirpStack como en el firmware, carácter por carácter. Guárdala en el gestor de secretos y no en este manual.

Configurar el ejemplo LoRaWAN

Selecciona OTAA y EU868. Empieza con un mensaje simple cada 60 segundos; no conectes sensores todavía.

Cargar y observar

Abre el monitor serie, reinicia el nodo y busca JoinRequest seguido de JoinAccept. En ChirpStack abre los eventos del dispositivo.

Validar el primer uplink

Registra hora UTC, contador, payload, RSSI, SNR y gateway receptor. Repite tres veces.

Ejemplos, no credenciales

DevEUI: 0000000000000000
JoinEUI: 0000000000000000
AppKey: <ENTREGAR_POR_CANAL_SEGURO>

Evidencia de radio

Conserva RSSI y SNR como contexto, no como aprobado/rechazado aislado. La repetibilidad importa más que una lectura puntual.

Deberías ver

El dispositivo aparece activo y recibe varios uplinks con un contador que aumenta. Si solo hay JoinRequest, la radio llega pero la autorización OTAA no se completa.

No clones las identidades

Los cuatro Heltec necesitan DevEUI y AppKey individuales. Copiar el mismo conjunto en varias placas produce colisiones y elimina la trazabilidad.

11 · Laboratorio

Experimentos que el equipo puede crear.

Cada experimento empieza con una pregunta, modifica una sola variable y termina con una evidencia. Así pueden participar diseño, territorio, electrónica, datos, educación y comunicación sin confundir demostración con resultado científico.

Tres experimentos de campo: un sensor en huerto, otro en taller y una persona recorriendo el territorio; todos transmiten al gateway de un edificio y los datos aparecen como gráfica
FIG. 05 · El territorio como laboratorioLos nodos no se hablan entre sí: cada uno envía al gateway. El recorrido, los obstáculos y la ubicación forman parte de la evidencia.
Nivel 1 · 30 min

El primer “hola”

Envía un número creciente cada minuto. Aprende la ruta completa sin sensores.

Evidencia: 10 uplinks consecutivos y sus contadores.

Nivel 1 · 1 h

Semáforo de cobertura

Camina por tres lugares conocidos y compara RSSI/SNR, altura y obstáculos.

Evidencia: tabla o mapa con lugar, hora y tres medidas.

Nivel 2 · 2 h

Clima del taller

Añade temperatura y humedad, define unidades y un intervalo responsable.

Evidencia: dato decodificado y gráfico de una hora.

Nivel 2 · 2 h

Batería versus frecuencia

Compara envío cada minuto y cada quince minutos, sin cambiar otro parámetro.

Evidencia: consumo medido y autonomía estimada.

Nivel 2 · 2 h

Encender un LED

Envía un downlink de clase A y observa cuándo puede recibirlo el nodo.

Evidencia: orden, confirmación visual y latencia.

Nivel 3 · 1 día

Dos gateways, un mensaje

Haz que dos sedes escuchen el mismo nodo y observa cómo ChirpStack deduplica.

Evidencia: una aplicación y dos metadatos de recepción.

Nivel 3 · 1 día

Del MQTT a FIWARE

Transforma un evento validado en una entidad NGSI-LD sin tocar la capa radio.

Evidencia: correspondencia payload → atributo.

Nivel 3 · 1 día

Caída y recuperación

Reinicia de forma controlada y mide cuánto tarda la cadena en volver.

Evidencia: cronología y primer uplink posterior.

Pista separada

Mesh experimental

Prueba Meshtastic o Reticulum con nodos dedicados, sin llamarlo LoRaWAN ni mezclar firmware.

Evidencia: hipótesis, topología y límites claramente separados.

Plantilla mínima de experimento

  1. Pregunta: ¿qué queremos averiguar?
  2. Variable: ¿qué única cosa cambia?
  3. Constantes: ¿qué dejamos igual?
  4. Medida: ¿qué datos y unidades guardamos?
  5. Criterio: ¿qué resultado apoyaría o refutaría la idea?
  6. Repetición: ¿otra persona puede repetirlo?

12 · Aceptación

Definición verificable de terminado.

Marca la lista durante la intervención. Se guarda únicamente en este navegador; no sustituye el acta de aceptación del proyecto.

0 de 7 comprobaciones

13 · Diagnóstico

Encontrar la capa que falla.

Empieza por lo físico y avanza en una sola dirección. Cambiar varias capas a la vez destruye la evidencia necesaria para aislar el problema.

AlimentaciónEthernetHoraForwarderGateway IDDestino IP

Señal decisiva: si ChirpStack no registra actividad, confirma primero que el forwarder genera tráfico y que su destino es alcanzable. Un reinicio no corrige un ID o endpoint incorrectos.

Glosario · Palabras sin misterio

Traducir el idioma técnico.

Gateway

Puente entre las ondas de radio LoRaWAN y una red IP. Escucha; no es el servidor de aplicación.

Concentrador

La radio multicanal del gateway. En este montaje pertenece a la familia SX1302/SX1303.

Raspberry Pi

Ordenador pequeño que ejecuta Linux y los programas del gateway.

LoRa

La modulación de radio: la forma física de convertir bits en una señal de largo alcance.

LoRaWAN

Las reglas de red sobre LoRa: identidades, seguridad, canales y conversación con el servidor.

EU868

Plan regional europeo alrededor de 868 MHz. Todos los componentes deben coincidir.

Packet forwarder

Programa que reenvía por IP los paquetes escuchados por el concentrador.

Gateway Bridge

Traductor entre el packet forwarder y el sistema de mensajes que usa ChirpStack.

ChirpStack

Servidor de red LoRaWAN: valida dispositivos, gestiona sesiones y entrega datos.

MQTT

Sistema de publicación y suscripción. Los programas dejan y recogen mensajes por temas.

OTAA

Forma recomendada de incorporarse: el nodo solicita entrar y recibe una sesión nueva.

Uplink / downlink

Uplink va del nodo hacia la red; downlink vuelve desde la red hacia el nodo.

RSSI

Potencia recibida. Ayuda a comparar lugares, pero no explica por sí sola la calidad.

SNR

Relación señal/ruido. Indica cuánto destaca la señal sobre el ruido de fondo.

SSH

Acceso seguro por terminal a otro ordenador a través de la red.

Si aparece una palabra nueva: no la saltes. Escríbela, busca qué capa describe y añade una explicación de una sola frase al glosario del equipo.

Hoja de ruta verificable

Seis hitos. Una sola cadena de evidencia.

Cada fase termina con una prueba observable. Las fechas se fijan cuando existen responsables y dependencias confirmadas.

Fase 01 · En curso

Base SX130x

Inventario, sistema, red, reloj y SPI.

Fase 02

ChirpStack

Gateway visible y tráfico estable.

Fase 03

Heltec

Join OTAA y uplink real.

Fase 04

Segunda sede

Réplica por otra persona.

Fase 05

Datos

MQTT normalizado y observable.

Fase 06

FIWARE

Adaptación y entidades NGSI-LD.

Siguiente acción

Validar primero. Replicar después.

Empieza por el inventario físico y no avances hasta conservar una evidencia clara de cada comprobación.

Abrir preparación