Novedad: el cortafuegos de IA supervisa cada módulo y explica cada incidente con palabras sencillas. Vea cómo funciona

API de LoRaWAN

Rutas REST para pasarelas, dispositivos, claves, sesiones, contadores ABP, modo de emparejamiento, ajustes de perfil y el registro de tramas LoRaWAN, con permisos y respuestas.

Esta página enumera en un solo lugar las rutas REST del servidor de red LoRaWAN de Hermetry. Cada tema tiene una página en la sección LoRaWAN con el significado completo de los campos; esta página enlaza a ellas. Las rutas cuelgan de https://<your host>/tenant/<tenantId>. Todas las respuestas de estas rutas se envían con Cache-Control: no-store.

Permisos

PermisoRol por defectoPermite
iot_lorawan.gateways.readUsuarioLeer las pasarelas y la dirección del servidor de red
iot_lorawan.gateways.manageAdministradorAñadir, editar, deshabilitar y eliminar pasarelas, rotar sus tokens
iot_lorawan.devices.readUsuarioLeer dispositivos LoRaWAN, ajustes de perfil y emparejamiento
iot_lorawan.devices.manageAdministradorAñadir, editar y eliminar dispositivos, establecer claves, finalizar sesiones, emparejamiento
iot_lorawan.keys.readAdministradorMostrar el AppKey de un dispositivo
iot_lorawan.frames.readUsuarioLeer el registro de tramas en vivo

Configuración

GET /api/iot/lorawan/setup (gateways read) responde con la dirección del servidor de red y la dirección de descubrimiento que necesita una pasarela Basics Station, si se ofrece un archivo tc.trust y la región. Nada secreto. Consulte Su dirección del servidor de red.

Pasarelas

MétodoRutaPermisoFunción
GET/api/iot/lorawan/gatewaysgateways readLista: { data, total, canManage }
POST/api/iot/lorawan/gatewaysgateways manageAñade una pasarela Basics Station: { gateway, token, stationConfig }
GET/api/iot/lorawan/gateways/{gatewayId}gateways read{ gateway, live, devicesHeard }
PATCH/api/iot/lorawan/gateways/{gatewayId}gateways managename, status (ACTIVE o DISABLED), latitude, longitude, altitude
DELETE/api/iot/lorawan/gateways/{gatewayId}gateways manageCierra su conexión, libera su EUI y la elimina
POST/api/iot/lorawan/gateways/{gatewayId}/credentialsgateways manageNuevo token: { gateway, token, stationConfig }

La lista admite page (desde 0), pageSize, search, sort (name, eui, protocol, mode, status, region, lastSeen, createdAt; por defecto name:asc) y los filtros protocol, mode, status, region, deviceId, online.

Cuerpo de creación:

{ "eui": "AA555A0000000101", "name": "Roof gateway", "latitude": 41.0151, "longitude": 28.9795, "altitude": 45 }

eui es obligatorio (16 caracteres hexadecimales; los guiones, dos puntos y espacios se ignoran), name de 1 a 128 caracteres. El protocolo por defecto es Basics Station, el modo cloud y la región EU868, la única ofrecida. El token aparece solo en esta respuesta. Los routers licenciados no se añaden aquí: pasan al modo cloud desde su propio panel, consulte Routers licenciados como pasarelas LoRaWAN. Rotar el token de una pasarela que no usa uno se rechaza: «This gateway does not use a token.» Consulte Añadir una pasarela y Credenciales de pasarela, deshabilitar y eliminar.

Dispositivos

MétodoRutaPermisoFunción
GET/api/iot/lorawan/devicesdevices readLista: { data, total, canManage }
POST/api/iot/lorawan/devicesdevices manageAñade un dispositivo OTAA o ABP (201 { device })
GET/api/iot/lorawan/devices/{deviceId}devices read{ device }: el registro y su sesión activa, nunca una clave
PATCH/api/iot/lorawan/devices/{deviceId}devices managename, joinEui, appKey, macVersion, class, anyJoinEui, codecId; para ABP devAddr, nwkSKey, appSKey juntos
DELETE/api/iot/lorawan/devices/{deviceId}devices manageElimina el dispositivo, sus sesiones y su reserva de DevEUI
POST/api/iot/lorawan/devices/{deviceId}/keykeys readMuestra el AppKey: { appKey }; cada llamada queda auditada
DELETE/api/iot/lorawan/devices/{deviceId}/sessiondevices manageFinaliza la sesión; el dispositivo debe volver a unirse
DELETE/api/iot/lorawan/devices/{deviceId}/countersdevices manageRestablece los contadores de trama de un dispositivo ABP
POST/api/iot/lorawan/devices/{deviceId}/approvedevices manageAprueba un dispositivo que añadió el modo de emparejamiento

La lista admite page (desde 0), pageSize, search, sort (name, devEui, macVersion, class, createdAt; por defecto createdAt:desc), y los filtros macVersion, class y joinState (joined, refused, never).

Añadir un dispositivo OTAA

{
  "name": "Cold room 3",
  "devEui": "1122334455667701",
  "appKey": "2B7E151628AED2A6ABF7158809CF4F3C",
  "joinEui": "0000000000000000",
  "macVersion": "1.0.3",
  "class": "A",
  "codecId": "auto",
  "anyJoinEui": false
}

Solo name, devEui y appKey son obligatorios; el resto muestra los valores por defecto. macVersion es 1.0.2, 1.0.3 o 1.0.4; class es A o C. La respuesta nunca incluye el AppKey, solo hasAppKey: true. Un nuevo AppKey restablece el historial de nonces de unión del dispositivo. Consulte Añadir un dispositivo OTAA.

Añadir un dispositivo ABP

{
  "name": "Water meter 12",
  "activation": "ABP",
  "devEui": "1122334455667712",
  "devAddr": "26011F3A",
  "nwkSKey": "…32 hexadecimal characters…",
  "appSKey": "…32 hexadecimal characters…"
}

Se rechaza un cuerpo ABP con appKey, o un cuerpo OTAA con claves de sesión. Consulte Añadir un dispositivo ABP.

Ajustes de perfil y emparejamiento

MétodoRutaPermisoFunción
GET/api/iot/lorawan/profiles/{profileId}/settingsdevices read{ settings } de la pestaña LoRaWAN del perfil
PUT/api/iot/lorawan/profiles/{profileId}/settingsdevices manageCámbialos; sharedAppKey es solo de escritura
GET/api/iot/lorawan/profiles/{profileId}/pairingdevices read{ pairing }: la ventana y los dispositivos que añadió
POST/api/iot/lorawan/profiles/{profileId}/pairingdevices manage{ "minutes": 1–120 } abre la ventana o mueve su fin
DELETE/api/iot/lorawan/profiles/{profileId}/pairingdevices manageCierra la ventana ahora

Los campos de ajustes, incluidos los que solo define la API, se describen en Perfiles de dispositivo LoRaWAN. El emparejamiento se explica en Modo de emparejamiento y Aprobar dispositivos emparejados.

Registro de tramas

GET /api/iot/lorawan/frames?deviceId={deviceId}&gatewayId={gatewayId}&limit=200

{ frames }: sus tramas recientes, la más nueva primero, de un registro en vivo breve que no se almacena. Una trama descartada de un dispositivo de otra organización muestra solo su motivo. Consulte El registro de tramas.

  • Los downlinks de aplicación son comandos con el método lora.downlink: { "fPort": 1–223, "data": "<hex or base64>", "confirmed": false }, enviados con la API de comandos. Consulte Downlinks.
  • Los codecs tienen sus propias rutas: API de codecs.

Rechazos

Los rechazos de LoRaWAN llevan mensajes sencillos, por ejemplo «A Basics Station gateway always runs in cloud mode.», «This gateway does not use a token.» o una clave que no tiene 32 caracteres hexadecimales. Los campos que no cumplen las reglas devuelven un 400 con issues. Consulte Errores y límites de uso.