

# 如何使用公有網路支援
<a name="lorawan-roaming-use"></a>

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

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

**Topics**
+ [漫遊參數](#lorawan-roaming-parameters)
+ [啟用裝置的公有網路支援](#lorawan-roaming-enable)

## 漫遊參數
<a name="lorawan-roaming-parameters"></a>

請在為裝置建立服務設定檔時，指定下列參數。在從 AWS IoT 主控台的[設定檔](https://console.aws.amazon.com/iot/home#/wireless/profiles)中樞或使用 AWS IoT Wireless API 操作 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) 或 AWS CLI 命令 [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html) 新增服務設定檔時，指定這些參數。

**注意**  
AWS IoT Core for LoRaWAN 不支援切換漫遊。建立服務設定檔時，您無法啟用 `HrAllowed` 參數來指定是否使用切換漫遊。
+ 允許漫遊啟用 (`RaAllowed`)：此參數指定是否啟用漫遊啟用。漫遊啟用可讓終端裝置在 vNS 涵蓋範圍內啟動。使用漫遊功能時，`RaAllowed` 必須設定為 `true`。
+ 允許被動漫遊 (`PrAllowed`)：此參數指定是否啟用被動漫遊。使用漫遊功能時，`PrAllowed` 必須設定為 `true`。

## 啟用裝置的公有網路支援
<a name="lorawan-roaming-enable"></a>

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

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

1. 

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

   啟用漫遊參數以建立服務設定檔。
**注意**  
當您為要與此服務設定檔產生關聯的裝置建立裝置設定檔時，建議您指定較大的 `RxDelay1` 參數值，至少大於 2 秒。
   + 

**使用 AWS IoT 主控台**  
前往 AWS IoT 主控台的[設定檔](https://console.aws.amazon.com/iot/home#/wireless/profiles)中樞，然後選擇**新增服務設定檔**。建立設定檔時，選擇**啟用公有網路**。
   + 

**使用 AWS IoT Wireless API**  
若要在建立服務設定檔時啟用漫遊，請使用 [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) API 操作或 [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html) 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"
     }
     ```

1. 

**檢查服務設定檔中的漫遊參數**

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

**使用 AWS IoT 主控台**  
前往 AWS IoT 主控台的[設定檔](https://console.aws.amazon.com/iot/home#/wireless/profiles)中樞，然後選擇您建立的設定檔。在詳細資料頁面的**設定檔設定**索引標籤中，您會看到 **RaAllowed** 和 **PrAllowed** 設定為 `true`。
   + 

**使用 AWS IoT Wireless API**  
若要檢視您啟用的漫遊參數，請使用 [GetServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html) API 操作或 [https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html) CLI 命令，如下列範例所示。

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

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

     ```
     {
         "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
         }
     }
     ```

1. 

**將服務設定檔附加至裝置**

   將您使用漫遊參數建立的服務設定檔附加到終端裝置。您也可以建立裝置設定檔並新增無線裝置的目的地。您會使用此目的地來路由從裝置傳送的上行訊息。如需有關建立裝置設定檔和目的地的詳細資訊，請參閱 [新增裝置設定檔](lorawan-define-profiles.md#lorawan-device-profiles) 和 [新增目的地至 AWS IoT Core for LoRaWAN](lorawan-create-destinations.md)。
   + 

**加入新裝置**  
如果您尚未加入裝置，請在將裝置新增至 AWS IoT Core for LoRaWAN 時指定使用的服務設定檔。以下命令顯示如何使用 `create-wireless-device` CLI 命令，使用您建立之服務設定檔的 ID 新增裝置。如需有關使用主控台來新增服務設定檔的資訊，請參閱 [使用主控台將您的無線裝置規格新增至 AWS IoT Core for LoRaWAN](lorawan-end-devices-add.md#lorawan-end-device-spec-console)。

     ```
     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 命令來取得更新的資訊。

1. 

**使用 Everynet 將裝置連線到雲端**

   由於漫遊已啟用，您的裝置現在必須執行聯結才能取得新的 `DevAddr`。如果您使用 OTAA，LoRaWAN 裝置會傳送聯結要求，且網路伺服器可以允許該要求。然後它就可以使用 Everynet 提供的網路涵蓋範圍連線到 AWS 雲端。如需如何為裝置執行啟用程序或聯結的指示，請參閱裝置文件。
**注意**  
您只能為使用 OTAA 作為啟用方法的裝置啟用漫遊功能並連線至公有網路。不支援 ABP 裝置。如需如何為裝置執行啟用程序或聯結的指示，請參閱裝置文件。請參閱[啟用模式](lorawan-manage-end-devices.md#lorawan-activation-modes)。
若要停用裝置的漫遊功能，您可以取消裝置與此服務設定檔的關聯，然後將裝置與其他漫遊參數設定為 `false` 的服務設定檔產生關聯。切換至此服務設定檔後，您的裝置必須執行另一次加入，如此裝置才不會繼續在公有網路上執行。

1. 

**交換上行和下行訊息**

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

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

     您可以使用 AWS IoT 規則名稱檢視訊息，或使用 MQTT 用戶端來訂閱建立目的地時指定的 MQTT 主題。如需有關規則名稱和您指定之其他目的地詳細資訊的詳細資訊，請參閱 [使用主控台新增目的地](lorawan-create-destinations.md#lorawan-create-destination-console)。

     如需檢視上行訊息和格式的詳細資訊，請參閱 [檢視從 LoRaWAN 裝置傳送的上行訊息格式](lorawan-uplink-metadata-format.md)。
   + 

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

     下列程式碼顯示如何使用 `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`，資料封包繩也可能會被丟棄。如需疑難排解此類案例及解決這些情況的相關資訊，請參閱 [下行訊息佇列錯誤疑難排解](lorawan-downlink-queue.md#lorawan-downlink-queue-troubleshoot)。

     ```
     {
         MessageId: "6011dd36-0043d6eb-0072-0008"
     }
     ```
   + 

**檢視涵蓋範圍資訊**  
啟用公有網路之後，您可以在 AWS IoT 主控台中檢視網路涵蓋範圍資訊。前往 AWS IoT 主控台的[https://console.aws.amazon.com/iot/home#/wireless/network-coverage](https://console.aws.amazon.com/iot/home#/wireless/network-coverage)中樞，然後搜尋位置，即可在地圖上查看裝置的涵蓋範圍資訊。
**注意**  
此功能使用 Amazon Location Service 在 Amazon Location 地圖上顯示裝置的涵蓋範圍資訊。使用 Amazon Location 地圖之前，請先檢閱 Amazon Location Service 的條款與條件。請注意，AWS 可能會將您的 API 查詢傳輸給您選擇的第三方資料提供者，該提供者可能不在您目前使用的 AWS 區域 內。如需詳細資訊，請參閱 [AWS服務條款](https://aws.amazon.com/service-terms)。