LoRaWAN 加入事件 - AWS IoT Wireless

LoRaWAN 加入事件

AWS IoT Core for LoRaWAN 可以發佈訊息,通知加入 AWS IoT 的 LoRaWAN 裝置事件。如果收到類型 0 或類型 2 的加入或重新加入請求,並且裝置已使用 AWS IoT Core for LoRaWAN 加入,加入事件會通知您。

加入事件的運作方式

當您使用 AWS IoT Core for LoRaWAN 將您的 LoRaWAN 裝置加入時,AWS IoT Core for LoRaWAN 會對您的裝置以 AWS IoT Core for LoRaWAN 執行加入程序。您的裝置便會啟用以供使用,並且可以傳送一則上行訊息,指示其可供使用。裝置加入後,您的裝置和 AWS IoT Core for LoRaWAN 之間可以交換上行和下行鏈路訊息。如需加入裝置的相關資訊,請參閱 將裝置加入 AWS IoT Core for LoRaWAN

您可以啟用事件,以在您的裝置加入 AWS IoT Core for LoRaWAN 時通知您。如果加入事件失敗、收到類型 0 或類型 2 的重新加入請求以及接受加入時,您也會收到通知。

啟用 LoRaWAN 加入事件

在 LoRaWAN 加入預留主題的訂閱者可以接收訊息之前,您必須先從 AWS Management Console 或透過使用 API 或 CLI 啟用事件通知。您可以為 AWS 帳戶 中的所有 LoRaWAN 資源或選定資源啟用這些事件。如需如何啟用這些事件的詳細資訊,請參閱 為無線資源啟用事件

LoRaWAN 事件的 MQTT 主題格式

LoRaWAN 裝置的預留 MQTT 主題使用以下格式。如果您訂閱了這些主題,則所有已註冊到 AWS 帳戶 的 LoRaWAN 裝置可以接收通知:

  • 資源層級主題

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

  • 識別符主題

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

其中:

{eventName}

{eventName} 必須是 join

{eventType}

{eventType} 可以是:

  • join_req_received

  • rejoin_req_0_received

  • rejoin_req_2_received

  • join_accepted

{resourceID}

{resourceID} 可以是 dev_euiwireless_device_id

例如,您可以訂閱以下主題,以便在 AWS IoT Core for LoRaWAN 接受來自您裝置的加入請求時接收事件通知。

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

您也可以使用 + 萬用字元同時訂閱多個主題。此 + 萬用字元會比對包含該字元的層級中的任何字串,例如下列主題:

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

注意

您不能使用萬用字元 # 訂閱預留主題。

如需有關在訂閱主題時使用 + 萬用字元的詳細資訊,請參閱《AWS IoT 開發人員指南》中的 MQTT 主題篩選器

LoRaWAN 加入事件的訊息承載

以下說明 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", } }

承載包含以下屬性:

eventId

由 AWS IoT Core for LoRaWAN (字串) 產生的唯一事件 ID。

eventType

發生的事件類型。可以是下列其中一個值:

  • join_req_received:這個欄位會顯示 EUI 參數 JoinEuiAppEui

  • rejoin_req_0_received

  • rejoin_req_2_received

  • join_accepted:這個欄位會顯示 NetIdDevAddr

wirelessDeviceId

LoRaWAN 裝置的 ID。

timestamp

事件發生時的 Unix 時間戳記。

DevEui

在裝置標籤或裝置文件中可找到的裝置唯一識別符。

DevAddr 和 EUI (選填)

這些欄位是選填的裝置位址和 EUI 參數 JoinEUIAppEUI