Decodificador LoRaWAN
Analizar y construir paquetes de protocolo LoRaWAN
Pegue el PHYPayload capturado desde gateway, servidor de red o registros del packet forwarder
Paquetes de ejemplo
Resultado decodificado
Ingrese datos del paquete y haga clic en Decodificar para ver resultados
Visor de bytes
Resultado codificado
Configure parámetros y haga clic en Construir paquete para generar
Visor de bytes
Resultado de tiempo en aire
Tiempo de símbolo
-
Tiempo de preámbulo
-
Símbolos de carga útil
-
Tiempo de carga útil
-
Tiempo en aire total
-
Tasa de datos efectiva
-
Documentación del protocolo LoRaWAN
Visión general del protocolo LoRaWAN
LoRaWAN (Long Range Wide Area Network) es un protocolo de control de acceso al medio (MAC) para redes de área amplia diseñado para dispositivos de bajo consumo. Construido sobre la modulación de capa física LoRa, permite comunicación de largo alcance con consumo mínimo de energía. El protocolo está estandarizado por la LoRa Alliance y ampliamente desplegado en ciudades inteligentes, monitoreo agrícola, IoT industrial y medición de servicios públicos.
Estructura del PHYPayload
Cada paquete LoRaWAN (PHYPayload) consta de tres partes principales: un encabezado MAC de 1 byte (MHDR), una carga útil MAC de longitud variable y un código de integridad de mensaje de 4 bytes (MIC). El MHDR define el tipo de mensaje y versión del protocolo, mientras que el MIC proporciona autenticación y verificación de integridad.
1 byte
4 bytes
1 byte
2 bytes
0-15 bytes
0-1 byte
N bytes
4 bytes
Tipos de mensajes
LoRaWAN soporta varios tipos de mensajes para diferentes propósitos. Join Request y Join Accept manejan la activación de dispositivos (OTAA). Los mensajes de datos transportan cargas útiles de aplicación y pueden ser confirmados (requiriendo acuse de recibo) o no confirmados. Los mensajes propietarios permiten extensiones específicas del proveedor.
| MType | Binary | Description |
|---|---|---|
| 000 | 0x00 | Solicitud de unión |
| 001 | 0x20 | Aceptación de unión |
| 010 | 0x40 | Datos no confirmados ascendentes |
| 011 | 0x60 | Datos no confirmados descendentes |
| 100 | 0x80 | Datos confirmados ascendentes |
| 101 | 0xA0 | Datos confirmados descendentes |
| 110 | 0xC0 | Solicitud de re-unión |
| 111 | 0xE0 | Propietario |
Formato de carga útil MAC
Para mensajes de datos, la carga útil MAC contiene un encabezado de trama (FHDR), un puerto de trama opcional (FPort) y la carga útil de trama cifrada (FRMPayload). El FHDR incluye la dirección del dispositivo, byte de control de trama, contador de trama y comandos MAC opcionales (FOpts).
Modelo de seguridad
LoRaWAN emplea cifrado AES-128 con dos claves de sesión: NwkSKey para seguridad a nivel de red (cálculo MIC, cifrado de comandos MAC) y AppSKey para cifrado de carga útil a nivel de aplicación. Esta arquitectura de doble clave asegura que los operadores de red no puedan acceder a datos de aplicación.
Cálculo de tiempo en aire
El tiempo en aire representa la duración real de transmisión RF. Depende del factor de dispersión (SF), ancho de banda (BW), tasa de codificación (CR), tamaño de carga útil y configuración del encabezado. El cálculo preciso del tiempo en aire es esencial para el cumplimiento del ciclo de trabajo en bandas ISM y la planificación de capacidad de red.
Parámetros regionales
LoRaWAN opera en diferentes frecuencias según la región. EU868 usa 868 MHz con ciclo de trabajo del 1%, US915 usa 902-928 MHz con salto de frecuencia, AS923 sirve mercados de Asia-Pacífico y AU915 cubre Australia. Cada región especifica canales obligatorios, tasas de datos y restricciones regulatorias.
Herramientas Relacionadas
Codec MQTT
Codificar y decodificar paquetes del protocolo MQTT con análisis detallado de campos, visor hex y constructor de paquetes
Codec CBOR
Codificador/decodificador CBOR binario con conversión JSON, visor hex y tags semánticos para desarrollo IoT
Codec MessagePack
Codificador/decodificador MessagePack - serialización binaria compacta y rápida para intercambio de datos multi-lenguaje
Convertidor de Base
Convertir entre sistemas binario, octal, decimal y hexadecimal con soporte de bases personalizadas (2-36)