

# Elección de puertas de enlace para recibir el tráfico de datos del enlace descendente de LoRaWAN
<a name="lorawan-gateway-participate"></a>

Cuando envía un mensaje de enlace descendente de AWS IoT Core para LoRaWAN a su dispositivo, puede elegir las puertas de enlace que desea utilizar para el tráfico de datos de enlace descendente. Puede especificar una puerta de enlace individual o elegir de una lista de puertas de enlace para recibir el tráfico de enlace descendente.

## Cómo especificar la lista de puertas de enlace
<a name="lorawan-participate-how"></a>

Puede especificar una puerta de enlace individual o la lista de puertas de enlace que se utilizarán al enviar un mensaje de enlace descendente de AWS IoT Core para LoRaWAN a su dispositivo mediante la operación de API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html). Cuando invoque la operación de API, especifique los siguientes parámetros utilizando el objeto `ParticipatingGateways` para sus puertas de enlace. 

**nota**  
La lista de puertas de enlace que desea usar no está disponible en la consola de AWS IoT. Puede especificar esta lista de puertas de enlace para utilizarla únicamente cuando utilice la operación de API `SendDataToWirelessDevice` o la CLI.
+ `DownlinkMode`: indica si se debe enviar el mensaje de enlace descendente en modo secuencial o simultáneo. En el caso de los dispositivos de clase A, `UsingUplinkGateway` especifica que se utilizarán únicamente las puertas de enlace elegidas en la transmisión anterior de mensajes de enlace ascendente.
+ `GatewayList`: la lista de puertas de enlace que desea utilizar para enviar el tráfico de datos del enlace descendente. La carga del enlace descendente se enviará a las puertas de enlace especificadas con la frecuencia especificada. Esto se indica mediante una lista de objetos `GatewayListItem`, que consta de pares de `GatewayId` y `DownlinkFrequency`.
+ `TransmissionInterval`: el tiempo que AWS IoT Core para LoRaWAN esperará antes de transmitir la carga a la siguiente puerta de enlace.

**nota**  
Puede especificar esta lista de puertas de enlace para utilizarla únicamente al enviar el mensaje de enlace descendente a un dispositivo inalámbrico de clase B o clase C. Si usa un dispositivo de clase A, la puerta de enlace que eligió al enviar el mensaje de enlace ascendente se usará cuando se envíe un mensaje de enlace descendente al dispositivo.

Los siguientes ejemplos le muestran cómo especificar estos parámetros para la puerta de enlace. El archivo `input.json` contendrá detalles adicionales. Para obtener más información sobre el envío de un mensaje de enlace descendente mediante la operación de API de `SendDataToWirelessDevice`, consulte [Realizar operaciones de cola de enlace descendente mediante la API](lorawan-downlink-queue.md#lorawan-downlink-queue-api).

**nota**  
Los parámetros para especificar la lista de puertas de enlace participantes no están disponibles cuando se envía un mensaje de enlace descendente desde AWS IoT Core para LoRaWAN con la consola de AWS IoT.

```
aws iotwireless send-data-to-wireless-device \
    --id {{"11aa5eae-2f56-4b8e-a023-b28d98494e49"}} \
    --transmit-mode "1" \
    --payload-data {{"SGVsbG8gVG8gRGV2c2lt"}} \
    --cli-input-json {{file://input.json}}
```

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

**Contenido de input.json**

```
{
    "WirelessMetadata": {
        "LoRaWAN": {
            "FPort": "{{1}}", 
            "ParticipatingGateways": {
                "DownlinkMode": "SEQUENTIAL", 
                "TransmissionInterval": {{1200}},
                "GatewayList": [
                    {
                        "DownlinkFrequency": {{100000000}},
                        "GatewayID": {{a01b2c34-d44e-567f-abcd-0123e445663a}}
                    },
                    {
                        "DownlinkFrequency": {{100000101}},
                        "GatewayID": {{12345678-a1b2-3c45-67d8-e90fa1b2c34d}}
                    }
                ]
            }
        }
    }
}
```

El resultado de la ejecución de este comando genera un `MessageId` para el mensaje de enlace descendente. En algunos casos, incluso si recibe el `MessageId`, los paquetes pueden descartarse. Para obtener más información acerca de cómo resolver este error, 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"
}
```

## Obtenga información sobre la lista de puertas de enlace participantes
<a name="lorawan-participate-get"></a>

Puede obtener información sobre la lista de puertas de enlace que participan en la recepción del mensaje de enlace descendente si incluye los mensajes en la cola de enlace descendente. Para enumerar los mensajes, use la API de [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html).

```
aws iotwireless list-queued-messages \
    --wireless-device-type "LoRaWAN"
```

Al ejecutar este comando, se devuelve información sobre los mensajes de la cola y sus parámetros.