

# Cómo utilizar la compatibilidad de red pública
<a name="lorawan-roaming-use"></a>

Para habilitar la compatibilidad de red pública de Everynet, debe habilitar algunos parámetros de itinerancia al crear un perfil de servicio. En esta versión beta, estos parámetros están disponibles cuando se utiliza la API de AWS IoT Wireless o la AWS CLI. En las siguientes secciones, se muestran los parámetros que debe habilitar, así como el modo de habilitar la red pública mediante la AWS CLI.

**nota**  
Puede habilitar la compatibilidad con redes públicas solo al crear un nuevo perfil de servicio. No puede actualizar un perfil existente para habilitar la red pública con estos parámetros.

**Topics**
+ [Parámetros de itinerancia](#lorawan-roaming-parameters)
+ [Habilitar la compatibilidad con redes públicas para dispositivos](#lorawan-roaming-enable)

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

Especifique los siguientes parámetros al crear un perfil de servicio para su dispositivo. Especifique estos parámetros cuando añada un perfil de servicio desde el hub [Perfiles](https://console.aws.amazon.com/iot/home#/wireless/profiles) de la consola, con la operación 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) de AWS IoT Wireless o el 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) de la AWS CLI.

**nota**  
AWS IoT Core para LoRaWAN no admite la transferencia de datos en itinerancia. Al crear el perfil de servicio, no se puede habilitar el parámetro `HrAllowed` que especifica si se debe utilizar el traspaso de itinerancia.
+ Activación de itinerancia permitida (`RaAllowed`): este parámetro especifica si se debe habilitar la activación de itinerancia. La activación de itinerancia permite que un dispositivo final se active bajo la cobertura de un vNS. Al utilizar la característica de itinerancia, `RaAllowed` se debe establecer en `true`.
+ Itinerancia pasiva permitida (`PrAllowed`): este parámetro especifica si se debe habilitar la itinerancia pasiva. Al utilizar la característica de itinerancia, `PrAllowed` se debe establecer en `true`.

## Habilitar la compatibilidad con redes públicas para dispositivos
<a name="lorawan-roaming-enable"></a>

Para habilitar la compatibilidad de la red LoRaWAN pública en sus dispositivos, ejecute el siguiente procedimiento.

**nota**  
Puede habilitar la capacidad de red pública solo para los dispositivos OTAA. Esta característica no es compatible con los dispositivos que utilizan ABP como método de activación.

1. 

**Crear un perfil de servicio con parámetros de itinerancia**

   Cree un perfil de servicio activando los parámetros de itinerancia.
**nota**  
Si desea crear un perfil de dispositivo para el dispositivo que va a asociar a este perfil de servicio, le recomendamos que especifique un valor grande para el parámetro `RxDelay1`, al menos superior a 2 segundos.
   + 

**Mediante la consola de AWS IoT**  
Vaya al hub de [perfiles](https://console.aws.amazon.com/iot/home#/wireless/profiles) de la consola de AWS IoT y selecciona **Agregar perfil de servicio**. Al crear el perfil, seleccione **Habilitar red pública**.
   + 

**Mediante la API de AWS IoT Wireless**  
Para habilitar la itinerancia al crear un perfil de servicio, utilice la operación API [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) o el 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) de la CLI, como se muestra en el ejemplo siguiente.

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

     La ejecución de este comando devuelve el ARN y el ID del perfil de servicio como salida.

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

1. 

**Comprobar los parámetros de itinerancia en el perfil de servicio**

   Para comprobar los parámetros de itinerancia que especificó, puede ver el perfil de servicio en la consola o mediante el comando de CLI `get-service-profile`, como se ilustra en el ejemplo siguiente.
   + 

**Mediante la consola de AWS IoT**  
Vaya al hub de [perfiles](https://console.aws.amazon.com/iot/home#/wireless/profiles) de la consola AWS IoT y elija el perfil que ha creado. En la pestaña **Configuración del perfil** de la página de detalles, verá que **RaAllowed** y **PrAllowed** están establecidos en `true`.
   + 

**Mediante la API de AWS IoT Wireless**  
Para ver los parámetros de itinerancia que ha habilitado, utilice la operación de API [GetServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html) o el comando de CLI [https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html), como se ilustra en el ejemplo siguiente.

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

     Al ejecutar este comando, se muestran los detalles del perfil de servicio como salida, incluidos los valores de los parámetros de itinerancia, `RaAllowed` y `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. 

**asociar el perfil de servicio a los dispositivos**

   Adjunte el perfil de servicio que creó con los parámetros de itinerancia a sus dispositivos finales. También puede crear un perfil de dispositivo y agregar un destino para sus dispositivos inalámbricos. Utilizará este destino para enrutar los mensajes de enlace ascendente que se envíen desde su dispositivo. Para obtener más información sobre cómo crear perfiles de dispositivos y un destino, consulte [Agregar perfiles de dispositivos](lorawan-define-profiles.md#lorawan-device-profiles) y [Agregar destinos a AWS IoT Core para LoRaWAN](lorawan-create-destinations.md).
   + 

**Incorporar nuevos dispositivos**  
Si aún no ha incorporado sus dispositivos, debe especificar este perfil de servicio para que se utilice al agregar su dispositivo a AWS IoT Core para LoRaWAN. El siguiente comando muestra cómo puede usar el comando de CLI `create-wireless-device` para agregar un dispositivo con el ID del perfil de servicio que creó. Para obtener información sobre cómo agregar un perfil de servicio mediante la consola, consulte [Agregar las especificaciones de un dispositivo inalámbrico a AWS IoT Core para LoRaWAN con la consola](lorawan-end-devices-add.md#lorawan-end-device-spec-console).

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

     A continuación se muestra el contenido del archivo *`createdevice.json`*.

     **Contenido de 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"
         },
     }
     ```

     El resultado de ejecutar este comando produce el ARN y el ID del dispositivo inalámbrico como salida.

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

**Actualizar dispositivos existentes**  
Si ya ha incorporado sus dispositivos, puede actualizar los dispositivos inalámbricos existentes para usar este perfil de servicio. El siguiente comando muestra cómo puede usar el comando de CLI `update-wireless-device` para actualizar un dispositivo mediante el ID del perfil de servicio que creó.

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

     Este comando no proporciona ninguna salida. Puede usar la API de `GetWirelessDevice` o el comando de CLI `get-wireless-device` para obtener la información actualizada.

1. 

**Conectar un dispositivo a la nube con Everynet**

   Como la itinerancia está habilitada, su dispositivo ahora debe realizar una unión para obtener un nuevo `DevAddr`. Cuando utiliza OTAA, su dispositivo LoRaWAN envía una solicitud de unión y el servidor de red puede aceptarla. Luego, puede conectarse a Nube de AWS utilizando la cobertura de red proporcionada por Everynet. Para obtener instrucciones sobre cómo realizar el procedimiento de activación o conexión con el dispositivo, consulte la documentación del dispositivo.
**nota**  
Puede habilitar la capacidad de itinerancia y conectarse a una red pública solo para los dispositivos que utilizan OTAA como método de activación. No se admiten los dispositivos ABP. Para obtener instrucciones sobre cómo realizar el procedimiento de activación o conexión con el dispositivo, consulte la documentación del dispositivo. Consulte [Modos de activación](lorawan-manage-end-devices.md#lorawan-activation-modes). 
Para deshabilitar la capacidad de itinerancia de sus dispositivos, puede desasociarlos de este perfil de servicio y, a continuación, asociarlos a otro perfil de servicio que tenga los parámetros de itinerancia configurados en `false`. Tras cambiar a este perfil de servicio, los dispositivos deben realizar otra conexión para que no sigan funcionando en la red pública.

1. 

**Intercambiar mensajes de enlace ascendente y descendente**

   Una vez que el dispositivo se haya unido a AWS IoT Core para LoRaWAN, podrá empezar a intercambiar mensajes entre el dispositivo y la nube.
   + 

**Ver los mensajes de enlace ascendente**  
Cuando envía mensajes de enlace ascendente desde sus dispositivos, AWS IoT Core para LoRaWAN entrega estos mensajes a su Cuenta de AWS utilizando el destino que configuró anteriormente. Estos mensajes se enviarán desde su dispositivo a la nube a través de la red de Everynet.

     Puede ver los mensajes con el nombre de la regla de AWS IoT o utilizar el cliente de MQTT para suscribirse al tema de MQTT que se especificó al crear el destino. Para obtener más información sobre el nombre de la regla y otros detalles del destino que especifique, consulte [Agregar un destino mediante la consola](lorawan-create-destinations.md#lorawan-create-destination-console).

     Para obtener más información sobre el formato del mensaje, consulte [Ver el formato de los mensajes de enlace ascendente enviados desde dispositivos LoRaWAN](lorawan-uplink-metadata-format.md).
   + 

**Enviar mensajes de enlace descendente**  
Puede poner en cola los mensajes de enlace descendente y enviarlos a sus dispositivos desde la consola o mediante el comando de la API de AWS IoT Wireless, `SendDataToWirelessDevice`, o el comando de AWS CLI, `send-data-to-wireless-device`. Para obtener más información sobre la puesta en cola o el envío de mensajes de enlace descendente, consulte [Colocar en cola los mensajes de enlace descendente para enviarlos a dispositivos LoRaWAN](lorawan-downlink-queue.md).

     El código siguiente muestra un ejemplo de cómo se puede enviar un mensaje de enlace descendente mediante el comando de CLI `send-data-to-wireless-device`. Debe especificar el ID del dispositivo inalámbrico que recibirá los datos, la carga, si se debe utilizar el modo de reconocimiento y los metadatos inalámbricos.

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

     El resultado de la ejecución de este comando genera un `MessageId` para el mensaje de enlace descendente.
**nota**  
En algunos casos, incluso si recibe el `MessageId`, los paquetes pueden descartarse. Para obtener información sobre cómo solucionar estas situaciones y resolverlas, consulte [Solucionar los errores de la cola de mensajes del enlace descendente](lorawan-downlink-queue.md#lorawan-downlink-queue-troubleshoot).

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

**Ver la información de cobertura**  
Una vez que haya habilitado la red pública, podrá ver la información de cobertura de la red en la consola de AWS IoT. Vaya al hub de [https://console.aws.amazon.com/iot/home#/wireless/network-coverage](https://console.aws.amazon.com/iot/home#/wireless/network-coverage) de la consola de AWS IoT y, a continuación, busque ubicaciones para ver la información de cobertura de sus dispositivos en el mapa.
**nota**  
Esta característica utiliza Amazon Location Service para mostrar la información de cobertura de sus dispositivos en un mapa de ubicación de Amazon. Antes de usar los mapas de ubicación de Amazon, consulte los términos y condiciones de Amazon Location Service. Tenga en cuenta que AWS puede transmitir sus consultas de API al proveedor de datos externo que elija, que puede situarse fuera de la Región de AWS que está utilizando actualmente. Para obtener más información, consulte los [Términos del servicio de AWS](https://aws.amazon.com/service-terms).