Eventos de conexión a LoRaWAN - AWS IoT Wireless

Eventos de conexión a LoRaWAN

AWS IoT Core para LoRaWAN puede publicar mensajes para notificarle los eventos de conexión de los dispositivos LoRaWAN que haya incorporado a AWS IoT. Los eventos de conexión lo notifican cuando se recibe una solicitud de conexión o reconexión de tipo 0 o 2 y el dispositivo se ha conectado a AWS IoT Core para LoRaWAN.

Cómo funcionan los eventos de conexión

Cuando incorpora los dispositivos LoRaWAN a AWS IoT Core para LoRaWAN, AWS IoT Core para LoRaWAN realiza un procedimiento de conexión para el dispositivo con AWS IoT Core para LoRaWAN. A continuación, el dispositivo se activa para su uso y puede enviar un mensaje de enlace ascendente para indicar que está disponible. Una vez que el dispositivo se haya conectado, los mensajes de enlace ascendente y descendente se pueden intercambiar entre el mismo y AWS IoT Core para LoRaWAN. Para obtener más información sobre la configuración del proyecto, consulte Incorporar dispositivos a AWS IoT Core para LoRaWAN.

Puede habilitar eventos para que lo notifiquen cuando el dispositivo se conecte a AWS IoT Core para LoRaWAN. También recibirá una notificación si el evento de conexión produce un error, cuando se reciba una solicitud de reconexión de tipo 0 o tipo 2 y cuando se acepte.

Habilitación de los eventos de conexión a LoRaWAN

Para que los suscriptores de los temas reservados de conexión a LoRaWAN puedan recibir mensajes, debe habilitar las notificaciones de eventos para ellos desde la AWS Management Console o mediante la API o la CLI. Puede habilitar estos eventos para todos los recursos de LoRaWAN de la Cuenta de AWS o para algunos recursos seleccionados. Para obtener información sobre cómo habilitar estos eventos, consulte Habilitación de eventos para recursos inalámbricos.

Formato de los temas MQTT para eventos de LoRaWAN

Los temas MQTT reservados para dispositivos LoRaWAN utilizan el siguiente formato. Si se ha suscrito a estos temas, todos los dispositivos LoRaWAN que estén registrados en la Cuenta de AWS podrán recibir la notificación:

  • Temas de nivel de recursos

    $aws/iotwireless/events/{eventName}/{eventType}/lorawan/wireless_devices

  • Temas de identificador

    $aws/iotwireless/events/{eventName}/{eventType}/lorawan/wireless_devices/{resourceID}/{id}

Donde:

{eventName}

{eventName} debe ser join.

{eventType}

{eventType} puede ser:

  • join_req_received

  • rejoin_req_0_received

  • rejoin_req_2_received

  • join_accepted

{resourceID}

{resourceID} puede ser dev_eui o wireless_device_id.

Por ejemplo, puede suscribirse a los siguientes temas para recibir una notificación de evento cuando AWS IoT Core para LoRaWAN acepte una solicitud de conexión de sus dispositivos.

$aws/iotwireless/events/join/join_accepted/lorawan/wireless_devices/wireless_device_id/{id}

También puede usar el carácter comodín + para suscribirse a varios temas al mismo tiempo. El carácter comodín + coincide con cualquier cadena del nivel que contiene el carácter, por ejemplo, en el tema siguiente:

$aws/iotwireless/events/join/join_req_received/lorawan/wireless_devices/wireless_device_id/+

nota

No puede utilizar el carácter comodín # para suscribirse a los temas reservados.

Para obtener más información sobre el uso del comodín + al suscribirse a temas, consulte MQTT topic filters en la Guía del desarrollador de AWS IoT.

Carga de mensajes para el evento de conexión a LoRaWAN

A continuación se muestra la carga de mensajes para el evento de conexión a LoRaWAN.

{ // General fields "eventId": "string", "eventType": "join_req_received|rejoin_req_0_received|rejoin_req_2_received|join_accepted", "WirelessDeviceId": "string", "timestamp": "timestamp", // Event-specific fields "LoRaWAN": { "DevEui": "string", // The fields below are optional indicating that it can be a null value. "DevAddr": "string", "JoinEui": "string", "AppEui": "string", } }

La carga contiene los siguientes atributos:

eventId

Un ID de evento único generado por AWS IoT Core para LoRaWAN (cadena).

eventType

El tipo de evento que se produjo. Puede ser uno de los siguientes valores:

  • join_req_received: este campo mostrará los parámetros JoinEui o AppEui del EUI

  • rejoin_req_0_received

  • rejoin_req_2_received

  • join_accepted: este campo mostrará el NetId y la DevAddr.

wirelessDeviceId

El ID del dispositivo LoRaWAN.

timestamp

La marca de tiempo Unix de cuándo se produjo el evento.

DevEui

El identificador único del dispositivo que se encuentra en su etiqueta o documentación.

DevAddr y EUIs (opcional)

Estos campos son opcionales: la dirección del dispositivo y los parámetros JoinEUI o AppEUI del EUI.