Circular FAB LoRaWAN

CAPÍTULO 11

Incorporar nodos y sensores

Ficha de hardware, OTAA, perfiles, firmware, payloads, consumo y pruebas reales.

ResultadoUn nodo inventariado, unido por OTAA y con datos decodificados de forma verificable.Tiempo orientativoPendiente del hardware real

Datos que necesitamos del nodo

  • Modelo y revisión exactos de la placa, microcontrolador y chip LoRa.
  • Modelo de cada sensor, interfaz, tensión y dirección si usa I2C.
  • Fuente o batería, capacidad y sistema de carga.
  • Antena, carcasa, entorno y rango de temperatura.
  • Periodo de medida y de transmisión previsto.
  • Campos, unidades, resolución y valores inválidos del payload.

Alta OTAA en ChirpStack

  1. 1
    Crea el perfil

    EU868, LoRaWAN MAC correspondiente al firmware y clase A por defecto.

  2. 2
    Crea la aplicación

    Usa cfab-<sede>-<proyecto>.

  3. 3
    Añade el dispositivo

    Asigna nombre, DevEUI real y perfil correcto.

  4. 4
    Carga JoinEUI y AppKey

    Genera valores únicos y guárdalos fuera del repositorio.

  5. 5
    Programa el nodo

    Usa exactamente los mismos identificadores y EU868.

  6. 6
    Observa el join

    Verifica JoinRequest, JoinAccept y primer uplink.

Contrato de datos versionado

Ejemplo normalizado después de decodificar
{
  "schema_version": 1,
  "device_id": "cfab-sede-ambiente-01",
  "measured_at": "2026-09-12T10:30:00Z",
  "measurements": {
    "temperature_c": 22.4,
    "humidity_percent": 48.1
  }
}
  • El primer byte o campo identifica la versión del payload binario.
  • Las unidades forman parte del nombre o del contrato documentado.
  • El decodificador rechaza versiones desconocidas y longitudes inválidas.
  • Los tests incluyen mínimo, máximo, valor inválido y payload truncado.

Prueba de aceptación del nodo

  • Unión OTAA después de borrar la sesión anterior.
  • Tres uplinks consecutivos decodificados correctamente.
  • Recuperación después de apagar y encender.
  • RSSI y SNR registrados a corta distancia y en la ubicación prevista.
  • Consumo medido en reposo, sensor, join y transmisión.
  • Identificador físico, firmware, responsable y fecha anotados.