

# Escolher gateways para receber o tráfego de dados de downlink LoRaWAN
<a name="lorawan-gateway-participate"></a>

Ao enviar uma mensagem de downlink de AWS IoT Core for LoRaWAN para o seu dispositivo, você pode escolher os gateways que deseja usar para o tráfego de dados de downlink. Você pode especificar um gateway individual ou escolher em uma lista de gateways para receber o tráfego de downlink.

## Como especificar a lista de gateways
<a name="lorawan-participate-how"></a>

Você pode especificar um gateway individual ou a lista de gateways a serem usados ao enviar uma mensagem de downlink de AWS IoT Core for LoRaWAN para o seu dispositivo usando a operação da 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). Ao invocar a operação da API, especifique os seguintes parâmetros usando o objeto `ParticipatingGateways` para os gateways. 

**nota**  
A lista de gateways que você deseja usar não está disponível no console da AWS IoT. Você pode especificar essa lista de gateways para usar somente ao usar a operação da API `SendDataToWirelessDevice` ou a CLI.
+ `DownlinkMode`: indica se a mensagem de downlink deve ser enviada no modo sequencial ou no modo simultâneo. Para dispositivos de classe A, especifique `UsingUplinkGateway` para usar somente os gateways escolhidos da transmissão anterior da mensagem de uplink.
+ `GatewayList`: a lista de gateways que você deseja usar para enviar o tráfego de dados de downlink. A carga útil do downlink será enviada para os gateways especificados com a frequência especificada. Isso é indicado usando uma lista de objetos `GatewayListItem`, que consiste nos pares `GatewayId` e `DownlinkFrequency`.
+ `TransmissionInterval`: o tempo de espera de AWS IoT Core for LoRaWAN antes de transmitir a carga útil para o próximo gateway.

**nota**  
Você pode especificar essa lista de gateways para usar somente ao enviar a mensagem de downlink para um dispositivo sem fio de classe B ou classe C. Se você usar um dispositivo de classe A, o gateway que você escolheu ao enviar a mensagem de uplink será usado quando uma mensagem de downlink for enviada para o dispositivo.

O exemplo a seguir mostra como especificar esses parâmetros para o gateway. O arquivo `input.json` conterá detalhes adicionais. Para obter mais informações sobre o envio de uma mensagem de downlink usando a operação da API `SendDataToWirelessDevice`, consulte [Executar operações de fila de downlink com a API](lorawan-downlink-queue.md#lorawan-downlink-queue-api).

**nota**  
Os parâmetros para especificar a lista de gateways participantes não estão disponíveis quando você envia uma mensagem de downlink de AWS IoT Core for LoRaWAN usando o console 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
```

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

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

A saída da execução desse comando gera um `MessageId` para a mensagem de downlink. Em alguns casos, mesmo que você receba o `MessageId`, os pacotes podem ser descartados. Para obter mais informações sobre como resolver o erro, consulte [Solucionar erros na fila de mensagens de downlink](lorawan-downlink-queue.md#lorawan-downlink-queue-troubleshoot).

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

## Obtenha informações sobre a lista de gateways participantes
<a name="lorawan-participate-get"></a>

Você pode obter informações sobre a lista de gateways que estão participando do recebimento da mensagem de downlink listando as mensagens na fila de downlink. Para listar mensagens, use a API [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"
```

A execução desse comando retorna informações sobre as mensagens na fila e seus parâmetros.