

# Como usar o suporte de rede pública
<a name="lorawan-roaming-use"></a>

Para habilitar a compatibilidade com a rede pública Everynet, especifique determinados parâmetros de roaming ao criar um perfil de serviço. Nesta versão beta, esses parâmetros estão disponíveis quando você utiliza a API do AWS IoT Wireless ou a AWS CLI. As seções a seguir mostram os parâmetros que devem ser habilitados e como habilitar a rede pública utilizando a AWS CLI.

**nota**  
Só é possível ativar o suporte de rede pública ao criar um novo perfil de serviço. Não é possível atualizar um perfil existente para habilitar a rede pública usando esses parâmetros.

**Topics**
+ [Parâmetros de roaming](#lorawan-roaming-parameters)
+ [Habilitar o suporte de rede pública para dispositivos](#lorawan-roaming-enable)

## Parâmetros de roaming
<a name="lorawan-roaming-parameters"></a>

Especifique os seguintes parâmetros quando criar um perfil de serviço para um dispositivo. Especifique esses parâmetros ao adicionar um perfil de serviço no hub [Perfis](https://console.aws.amazon.com/iot/home#/wireless/profiles) do console do AWS IoT ou utilizando a operação de 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) ou o comando [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html) da AWS CLI.

**nota**  
O AWS IoT Core for LoRaWAN não é compatível com roaming de transferência. Na criação do perfil de serviço, não é possível ativar o parâmetro `HrAllowed` que especifica se o roaming de transferência deve ser usado.
+ Ativação de roaming permitida (`RaAllowed`): esse parâmetro especifica se a ativação de roaming deve ser habilitada. A ativação de roaming possibilita que um dispositivo final seja ativado sob a cobertura de uma vNS. Ao usar o atributo de roaming, `RaAllowed` deve ser definido como `true`.
+ Roaming passivo permitido (`PrAllowed`): esse parâmetro especifica se o roaming passivo deve ser habilitado. Ao usar o atributo de roaming, `PrAllowed` deve ser definido como `true`.

## Habilitar o suporte de rede pública para dispositivos
<a name="lorawan-roaming-enable"></a>

Para habilitar o suporte de rede pública LoRaWAN nos dispositivos, execute o procedimento a seguir.

**nota**  
Só é possível ativar o recurso de rede pública para dispositivos OTAA. Esse atributo não é compatível com dispositivos que usem ABP como método de ativação.

1. 

**Crie um perfil de serviço com parâmetros de roaming**

   Crie um perfil de serviço habilitando os parâmetros de roaming.
**nota**  
Na criação de um perfil de dispositivo para o dispositivo que você associará a esse perfil de serviço, recomendamos especificar um valor grande para o parâmetro `RxDelay1`, ao menos maior que 2 segundos.
   + 

**Usar o console de AWS IoT**  
Vá para o hub [Perfis](https://console.aws.amazon.com/iot/home#/wireless/profiles) do console do AWS IoT e selecione **Adicionar perfil de serviço**. Na criação do perfil, selecione **Habilitar rede pública**.
   + 

**Uso da API AWS IoT Wireless**  
Para habilitar o roaming ao criar um perfil de serviço, utilize a operação de API [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) ou o comando [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html) da CLI, conforme mostrado no exemplo a seguir.

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

     A saída da execução desse comando retorna o ARN e o ID do perfil de serviço.

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
     }
     ```

1. 

**Verifique os parâmetros de roaming no perfil de serviço**

   Para verificar os parâmetros de roaming especificados, é possível visualizar o perfil do serviço no console ou usar o comando `get-service-profile` da CLI, conforme exibido no exemplo abaixo.
   + 

**Usar o console de AWS IoT**  
Vá para o hub [Perfis](https://console.aws.amazon.com/iot/home#/wireless/profiles) do console do AWS IoT e selecione o perfil que você criou. Na guia **Configuração do perfil** da página de detalhes, você poderá ver **RaAllowed** **PrAllowed** definidos como `true`.
   + 

**Uso da API AWS IoT Wireless**  
Para visualizar os parâmetros de roaming ativados por você, use a operação de API [GetServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html) ou o comando [https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html) da CLI, conforme exibido no exemplo abaixo.

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

     A saída da execução desse comando retorna os detalhes do perfil de serviço, incluindo os valores dos parâmetros de roaming. `RaAllowed` e `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. 

**Anexe o perfil de serviço aos dispositivos**

   Anexe o perfil de serviço criado com os parâmetros de roaming aos dispositivos finais. Também é possível criar um perfil de dispositivo e adicionar um destino para os dispositivos sem fio. Você usará esse destino para rotear mensagens de uplink que são enviadas a partir do seu dispositivo. Para acessar mais informações sobre como criar perfis de dispositivos e um destino, consulte [Adicionar perfis de dispositivos](lorawan-define-profiles.md#lorawan-device-profiles) e [Adicionar destinos ao AWS IoT Core for LoRaWAN](lorawan-create-destinations.md).
   + 

**Integração de dispositivos novos**  
Caso ainda não tenha integrado seus dispositivos, especifique esse perfil de serviço, que será usado ao adicionar seu dispositivo ao AWS IoT Core for LoRaWAN. O seguinte comando mostra como você pode usar o comando `create-wireless-device` da CLI para adicionar um dispositivo usando o ID do perfil de serviço criado por você. Para obter informações sobre como adicionar o perfil de serviço utilizando o console, consulte [Adicione a especificação do dispositivo sem fio ao AWS IoT Core for LoRaWAN usando o console](lorawan-end-devices-add.md#lorawan-end-device-spec-console).

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

     O exemplo a seguir mostra o conteúdo do arquivo *`createdevice.json`*.

     **Conteúdo do 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"
         },
     }
     ```

     A saída da execução desse comando produz o ARN e o ID do dispositivo sem fio.

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/1ffd32c8-8130-4194-96df-622f072a315f",
         "Id": "1ffd32c8-8130-4194-96df-622f072a315f"
     }
     ```
   + 

**Atualização de dispositivos existentes**  
Se já tiver integrado seus dispositivos, é possível atualizar seus dispositivos sem fio existentes para usar esse perfil de serviço. O seguinte comando mostra como você pode usar o comando `update-wireless-device` da CLI para atualizar um dispositivo usando o ID do perfil de serviço criado por você.

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

     Esse comando não retorna nenhuma saída. É possível usar a API `GetWirelessDevice` ou o comando `get-wireless-device` da CLI para obter as informações atualizadas.

1. 

**Conectar o dispositivo à nuvem usando a Everynet**

   Como o roaming foi habilitado, seu dispositivo deve agora realizar uma adesão para obter um novo `DevAddr`. Quando você utiliza o OTAA, o dispositivo LoRaWAN envia uma solicitação de junção e o servidor de rede pode permitir a solicitação. Depois, ele pode se conectar ao Nuvem AWS com a cobertura de rede fornecida pela Everynet. Para obter instruções sobre como realizar o procedimento de ativação ou adesão com o seu dispositivo, consulte a documentação do dispositivo.
**nota**  
É possível habilitar o recurso de roaming e a conexão à rede pública somente para dispositivos que utilizam o OTAA como o método de ativação. Dispositivos ABP não são compatíveis. Para obter instruções sobre como realizar o procedimento de ativação ou adesão com o seu dispositivo, consulte a documentação do dispositivo. Consulte [Modos de ativação](lorawan-manage-end-devices.md#lorawan-activation-modes). 
Para desabilitar o recurso de roaming para os dispositivos, é possível desassociá-los desse perfil de serviço e associá-los a outro perfil de serviço que tenha os parâmetros de roaming definidos como `false`. Após a mudança para esse perfil de serviço, os dispositivos devem realizar outra junção para que não continuem executando na rede pública.

1. 

**Trocar mensagens de uplink e downlink**

   Depois que o dispositivo se conectar ao AWS IoT Core for LoRaWAN, será possível começar a trocar mensagens entre seu dispositivo e a nuvem.
   + 

**Visualizar mensagens de uplink**  
Ao enviar mensagens de uplink a partir dos seus dispositivos, o AWS IoT Core for LoRaWAN entrega essas mensagens para a sua Conta da AWS usando o destino configurado anteriormente. Essas mensagens serão enviadas a partir do seu dispositivo para a nuvem pela rede da Everynet.

     É possível visualizar as mensagens usando o nome da regra do AWS IoT ou usar o cliente MQTT para assinar o tópico MQTT especificado na criação do destino. Para acessar mais informações sobre o nome da regra e outros detalhes do destino que você especificar, consulte [Adicionar um destino usando o console](lorawan-create-destinations.md#lorawan-create-destination-console).

     Para acessar mais informações sobre a visualização de mensagens de uplink e o formato, consulte, [Visualizar o formato das mensagens de uplink enviadas a partir de dispositivos LoRaWAN](lorawan-uplink-metadata-format.md).
   + 

**Enviar mensagens de downlink**  
É possível enfileirar e enviar mensagens de downlink para seus dispositivos a partir do console ou usando o comando de API do AWS IoT Wireless, `SendDataToWirelessDevice`, ou o comando da AWS CLI, `send-data-to-wireless-device`. Para acessar informações sobre como enfileirar e enviar mensagens de downlink, consulte [Formar uma fila de mensagens de downlink para enviar para dispositivos LoRaWAN](lorawan-downlink-queue.md).

     O seguinte código exibe um exemplo de como você pode enviar uma mensagem de downlink usando o comando `send-data-to-wireless-device` da CLI. Você especifica o ID do dispositivo sem fio para receber os dados, a carga, se deve usar o modo de reconhecimento e os metadados sem fio.

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

     Executando o comando, a saída gera um `MessageId` para a mensagem de downlink.
**nota**  
Em alguns casos, mesmo que você receba o `MessageId`, os pacotes podem ser descartados. Para acessar informações sobre como solucionar problemas em tais cenários, consulte [Solucionar erros na fila de mensagens de downlink](lorawan-downlink-queue.md#lorawan-downlink-queue-troubleshoot).

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

**Visualizar as informações de cobertura**  
Depois de habilitar a rede pública, será possível visualizar as informações de cobertura da rede no console do AWS IoT. Acesse o hub [https://console.aws.amazon.com/iot/home#/wireless/network-coverage](https://console.aws.amazon.com/iot/home#/wireless/network-coverage) do console do AWS IoT e, então, pesquise locais para visualizar as informações de cobertura de seus dispositivos no mapa.
**nota**  
Esse atributo utiliza o Amazon Location Service para exibir as informações de cobertura dos seus dispositivos em um mapa de localização da Amazon. Antes de usar os mapas de localização da Amazon, examine os Termos e Condições do Amazon Location Service. Observe que a AWS pode transmitir suas consultas de API para o provedor de dados de terceiros selecionado, que pode estar fora da Região da AWS que você usa atualmente. Para obter mais informações, consulte [Termos de serviço da AWS](https://aws.amazon.com/service-terms).