LoRaWAN-Join-Ereignisse
AWS IoT Core for LoRaWAN kann Nachrichten veröffentlichen, um Sie über Join-Ereignisse für LoRaWAN-Geräte zu informieren, die Sie zu AWS IoT hinzufügen. Join-Ereignisse benachrichtigen Sie, wenn eine Anfrage zum Beitritt oder Wiederbeitritt vom Typ 0 oder Typ 2 eingeht und das Gerät mit AWS IoT Core for LoRaWAN beigetreten ist.
Funktionsweise von Join-Ereignissen
Wenn Sie Ihre LoRaWAN-Geräte mit AWS IoT Core for LoRaWAN einbinden, führt AWS IoT Core for LoRaWAN mit AWS IoT Core for LoRaWAN ein Join-Verfahren für Ihr Gerät durch. Ihr Gerät wird dann für die Nutzung aktiviert und kann eine Uplink-Nachricht senden, um anzuzeigen, dass es verfügbar ist. Nachdem das Gerät beigetreten ist, können Uplink- und Downlink-Nachrichten zwischen Ihrem Gerät und AWS IoT Core for LoRaWAN ausgetauscht werden. Weitere Informationen zum Onboarding von Geräten finden Sie unter Einbinden Ihrer Geräte in AWS IoT Core for LoRaWAN.
Sie können Ereignisse aktivieren, um Sie zu benachrichtigen, wenn Ihr Gerät mit AWS IoT Core for LoRaWAN beigetreten ist. Sie werden auch benachrichtigt, wenn das Join-Ereignis fehlschlägt und wenn eine Wiederbeitrittsanfrage vom Typ 0 oder Typ 2 eingeht und wenn sie akzeptiert wird.
LoRaWAN-Join-Ereignisse aktivieren
Bevor Subscriber der reservierten LoRaWAN-Join-Themen Nachrichten empfangen können, müssen Sie für sie Ereignisbenachrichtigungen über die AWS Management Console oder mithilfe der API oder CLI aktivieren. Sie können diese Ereignisse für alle LoRaWAN-Ressourcen in Ihren AWS-Konto oder für ausgewählte Ressourcen aktivieren. Weitere Informationen darüber, wie Sie diese Ereignisse einrichten finden Sie unter Ereignisse für Drahtlos-Ressourcen aktivieren.
Format der MQTT-Themen für LoRaWAN-Ereignisse
Für LoRaWAN-Geräte reservierte MQTT-Themen wird das folgende Format verwendet: Wenn Sie diese Themen abonniert haben, können alle LoRaWAN-Geräte, die bei Ihrem AWS-Konto registriert sind, die Benachrichtigung erhalten:
-
Themen auf Ressourcenebene
$aws/iotwireless/events/{eventName}/{eventType}/lorawan/wireless_devices
-
Kennungsthemen
$aws/iotwireless/events/{eventName}/{eventType}/lorawan/wireless_devices/{resourceID}/{id}
Wobei gilt:
- {eventName}
-
{eventName} muss
join
sein. - {eventType}
-
{eventType} kann sein.
-
join_req_received
-
rejoin_req_0_received
-
rejoin_req_2_received
-
join_accepted
-
- {resourceID}
-
{resourceID} kann
dev_eui
oderwireless_device_id
sein.
Sie können beispielsweise die folgenden Themen abonnieren, um eine Ereignisbenachrichtigung zu erhalten, wenn Sie AWS IoT Core for LoRaWAN eine Join-Anfrage von Ihren Geräten akzeptiert haben.
$aws/iotwireless/events/join/join_accepted/lorawan/wireless_devices/wireless_device_id/{id}
Sie können auch das Platzhalterzeichen +
verwenden, um mehrere Themen gleichzeitig zu abonnieren. Das Platzhalterzeichen +
entspricht einer beliebigen Zeichenfolge in der Ebene, die das Zeichen enthält, z. B. im folgenden Thema:
$aws/iotwireless/events/join/join_req_received/lorawan/wireless_devices/wireless_device_id/+
Anmerkung
Sie können das Platzhalterzeichen #
nicht verwenden, um die reservierten Themen zu abonnieren.
Weitere Informationen zur Verwendung des Platzhalters +
beim Abonnieren von Themen finden Sie unter MQTT-Themenfilter im AWS IoT-Entwicklerhandbuch.
Nachrichten-Payload für das LoRaWAN-Join-Ereignis
Im Folgenden wird die Nachrichtennutzlast für das LoRaWAN-Join-Ereignis angezeigt.
{ // 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", } }
Die Nutzlast enthält die folgenden Attribute:
- eventId
-
Eine eindeutige Ereignis-ID, die von AWS IoT Core for LoRaWAN (Zeichenfolge) generiert wird.
- eventType
-
Die Art des Ereignisses, das eingetreten ist. Dabei kann es sich um einen der folgenden Werte handeln:
-
join_req_received
: In diesem Feld werden die EUI-ParameterJoinEui
oderAppEui
angezeigt -
rejoin_req_0_received
-
rejoin_req_2_received
-
join_accepted
: In diesem Feld wird dasNetId
undDevAddr
angezeigt.
-
- wirelessDeviceId
-
Die ID des LoRaWAN-Geräts.
- timestamp
-
Der Unix-Zeitstempel für den Zeitpunkt, an dem das Ereignis aufgetreten ist.
- DevEui
-
Die eindeutige Kennung des Geräts, die auf dem Geräteetikett oder der Gerätedokumentation zu finden ist.
- DevAddr und EUIs (optional)
-
Diese Felder sind die optionale Geräteadresse und die EUI-Parameter
JoinEUI
oderAppEUI
.