如何使用公有網路支援 - AWS IoT Wireless

如何使用公有網路支援

若要啟用 Everynet 的公有網路支援,請在建立服務設定檔時啟用特定漫遊參數。在此 Beta 版中,當您使用 AWS IoT Wireless API 或 AWS CLI 時,您可以使用這些參數。下列各節說明您必須啟用的參數,以及如何使用 AWS CLI 啟用公有網路。

注意

您只能在建立新的服務設定檔時啟用公有網路支援。您無法使用這些參數更新現有的設定檔來啟用公有網路。

漫遊參數

請在為裝置建立服務設定檔時,指定下列參數。在從 AWS IoT 主控台的設定檔中樞或使用 AWS IoT Wireless API 操作 CreateServiceProfile 或 AWS CLI 命令 create-service-profile 新增服務設定檔時,指定這些參數。

注意

AWS IoT Core for LoRaWAN 不支援切換漫遊。建立服務設定檔時,您無法啟用 HrAllowed 參數來指定是否使用切換漫遊。

  • 允許漫遊啟用 (RaAllowed):此參數指定是否啟用漫遊啟用。漫遊啟用可讓終端裝置在 vNS 涵蓋範圍內啟動。使用漫遊功能時,RaAllowed 必須設定為 true

  • 允許被動漫遊 (PrAllowed):此參數指定是否啟用被動漫遊。使用漫遊功能時,PrAllowed 必須設定為 true

啟用裝置的公有網路支援

若要在您的裝置上啟用公有 LoRaWAN 網路支援,請執行下列程序。

注意

您只能針對 OTAA 裝置啟用公有網路功能。使用 ABP 作為啟用方法的裝置不支援此功能。

  1. 使用漫遊參數建立服務設定檔

    啟用漫遊參數以建立服務設定檔。

    注意

    當您為要與此服務設定檔產生關聯的裝置建立裝置設定檔時,建議您指定較大的 RxDelay1 參數值,至少大於 2 秒。

    • 使用 AWS IoT 主控台

      前往 AWS IoT 主控台的設定檔中樞,然後選擇新增服務設定檔。建立設定檔時,選擇啟用公有網路

    • 使用 AWS IoT Wireless API

      若要在建立服務設定檔時啟用漫遊,請使用 CreateServiceProfile API 操作或 create-service-profile CLI 命令,如下列範例所示。

      aws iotwireless create-service-profile \ --region us-east-1 \ --name roamingprofile1 \ --lorawan '{"AddGwMetadata":true,"PrAllowed":true,"RaAllowed":true}'

      執行這個命令會傳回服務設定檔的 ARN 和 ID 作為輸出。

      { "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d", "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d" }
  2. 檢查服務設定檔中的漫遊參數

    若要檢查您指定的漫遊參數,您可以在主控台中檢視服務設定檔,或使用get-service-profile CLI 命令,如下列範例所示。

    • 使用 AWS IoT 主控台

      前往 AWS IoT 主控台的設定檔中樞,然後選擇您建立的設定檔。在詳細資料頁面的設定檔設定索引標籤中,您會看到 RaAllowedPrAllowed 設定為 true

    • 使用 AWS IoT Wireless API

      若要檢視您啟用的漫遊參數,請使用 GetServiceProfile API 操作或 get-service-profile CLI 命令,如下列範例所示。

      aws iotwireless get-service-profile \ --region us-east-1 \ --id 12345678-a1b2-3c45-67d8-e90fa1b2c34d

      執行此命令會傳回服務設定檔詳細資訊作為輸出,包括漫遊參數 RaAllowedPrAllowed 的值。

      { "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d", "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d", "Name": "roamingprofile1" "LoRaWAN": { "UlRate": 60, "UlBucketSize": 4096, "DlRate": 60, "DlBucketSize": 4096, "AddGwMetadata": true, "DevStatusReqFreq": 24, "ReportDevStatusBattery": false, "ReportDevStatusMargin": false, "DrMin": 0, "DrMax": 15, "PrAllowed": true, "RaAllowed": true, "NwkGeoLoc": false, "TargetPer": 5, "MinGwDiversity": 1 } }
  3. 將服務設定檔附加至裝置

    將您使用漫遊參數建立的服務設定檔附加到終端裝置。您也可以建立裝置設定檔並新增無線裝置的目的地。您會使用此目的地來路由從裝置傳送的上行訊息。如需有關建立裝置設定檔和目的地的詳細資訊,請參閱 新增裝置設定檔新增目的地至 AWS IoT Core for LoRaWAN

    • 加入新裝置

      如果您尚未加入裝置,請在將裝置新增至 AWS IoT Core for LoRaWAN 時指定使用的服務設定檔。以下命令顯示如何使用 create-wireless-device CLI 命令,使用您建立之服務設定檔的 ID 新增裝置。如需有關使用主控台來新增服務設定檔的資訊,請參閱 使用主控台將您的無線裝置規格新增至 AWS IoT Core for LoRaWAN

      aws iotwireless create-wireless-device --cli-input-json file://createdevice.json

      下列顯示 createdevice.json 檔案的內容。

      createdevice.json 的內容

      { "Name": "DeviceA", "Type": LoRaWAN, "DestinationName": "RoamingDestination1", "LoRaWAN": { "DeviceProfileId": "ab0c23d3-b001-45ef-6a01-2bc3de4f5333", "ServiceProfileId": "12345678-a1b2-3c45-67d8-e90fa1b2c34d", "OtaaV1_1": { "AppKey": "3f4ca100e2fc675ea123f4eb12c4a012", "JoinEui": "b4c231a359bc2e3d", "NwkKey": "01c3f004a2d6efffe32c4eda14bcd2b4" }, "DevEui": "ac12efc654d23fc2" }, }

      執行此命令的輸出會產生無線裝置的 ARN 和 ID 做為輸出。

      { "Arn": "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/1ffd32c8-8130-4194-96df-622f072a315f", "Id": "1ffd32c8-8130-4194-96df-622f072a315f" }
    • 更新現有裝置

      如果您已經加入裝置,您可以更新現有的無線裝置以使用此服務設定檔。下列命令顯示如何使用 update-wireless-device CLI 命令,使用您建立的服務設定檔 ID 來更新裝置。

      aws iotwireless update-wireless-device \ --id "1ffd32c8-8130-4194-96df-622f072a315f" \ --service-profile-id "12345678-a1b2-3c45-67d8-e90fa1b2c34d" \ --description "Using roaming service profile A"

      此命令不會產生任何輸出。您可以使用 GetWirelessDevice API 或 get-wireless-device CLI 命令來取得更新的資訊。

  4. 使用 Everynet 將裝置連線到雲端

    由於漫遊已啟用,您的裝置現在必須執行聯結才能取得新的 DevAddr。如果您使用 OTAA,LoRaWAN 裝置會傳送聯結要求,且網路伺服器可以允許該要求。然後它就可以使用 Everynet 提供的網路涵蓋範圍連線到 AWS 雲端。如需如何為裝置執行啟用程序或聯結的指示,請參閱裝置文件。

    注意
    • 您只能為使用 OTAA 作為啟用方法的裝置啟用漫遊功能並連線至公有網路。不支援 ABP 裝置。如需如何為裝置執行啟用程序或聯結的指示,請參閱裝置文件。請參閱啟用模式

    • 若要停用裝置的漫遊功能,您可以取消裝置與此服務設定檔的關聯,然後將裝置與其他漫遊參數設定為 false 的服務設定檔產生關聯。切換至此服務設定檔後,您的裝置必須執行另一次加入,如此裝置才不會繼續在公有網路上執行。

  5. 交換上行和下行訊息

    裝置加入 AWS IoT Core for LoRaWAN 後,您就可以開始在裝置和雲端之間交換訊息。

    • 檢視上行訊息

      當您從裝置傳送上行訊息時,AWS IoT Core for LoRaWAN 會使用您先前設定的目的地,將這些訊息傳遞給您的 AWS 帳戶。這些訊息將透過 Everynet 的網路從您的裝置傳送到雲端。

      您可以使用 AWS IoT 規則名稱檢視訊息,或使用 MQTT 用戶端來訂閱建立目的地時指定的 MQTT 主題。如需有關規則名稱和您指定之其他目的地詳細資訊的詳細資訊,請參閱 使用主控台新增目的地

      如需檢視上行訊息和格式的詳細資訊,請參閱 檢視從 LoRaWAN 裝置傳送的上行訊息格式

    • 傳送下行訊息

      您可以使用主控台,或使用 AWS IoT Wireless API 命令 SendDataToWirelessDevice 或 AWS CLI 命令 send-data-to-wireless-device,將下行訊息排入佇列,並將其傳送至裝置。如需佇列和傳送下行訊息的詳細資訊,請參閱 將要傳送至 LoRaWAN 裝置的下行訊息排入佇列

      下列程式碼顯示如何使用 send-data-to-wireless-device CLI 命令傳送下行訊息的範例。您可以指定接收資料的無線裝置 ID、承載、是否使用確認模式以及無線中繼資料。

      aws iotwireless send-data-to-wireless-device \ --id "1ffd32c8-8130-4194-96df-622f072a315f" \ --transmit-mode "1" \ --payload-data "SGVsbG8gVG8gRGV2c2lt" \ --wireless-metadata LoRaWAN={FPort=1}

      執行此命令的輸出會為下行訊息產生 MessageId

      注意

      在某些情況下,即使您收到 MessageId,資料封包繩也可能會被丟棄。如需疑難排解此類案例及解決這些情況的相關資訊,請參閱 下行訊息佇列錯誤疑難排解

      { MessageId: "6011dd36-0043d6eb-0072-0008" }
    • 檢視涵蓋範圍資訊

      啟用公有網路之後,您可以在 AWS IoT 主控台中檢視網路涵蓋範圍資訊。前往 AWS IoT 主控台的涵蓋範圍中樞,然後搜尋位置,即可在地圖上查看裝置的涵蓋範圍資訊。

      注意

      此功能使用 Amazon Location Service 在 Amazon Location 地圖上顯示裝置的涵蓋範圍資訊。使用 Amazon Location 地圖之前,請先檢閱 Amazon Location Service 的條款與條件。請注意,AWS 可能會將您的 API 查詢傳輸給您選擇的第三方資料提供者,該提供者可能不在您目前使用的 AWS 區域 內。如需詳細資訊,請參閱 AWS服務條款