

# Conecte seu dispositivo do Sidewalk e visualize o formato dos metadados de uplink
<a name="iot-sidewalk-connect-uplink-metadata"></a>

Neste tutorial, você usará o cliente de teste MQTT para testar a conectividade e ver as mensagens trocadas entre seu dispositivo final e a Nuvem AWS. Para receber mensagens, no cliente de teste MQTT, assine o tópico especificado ao criar a regra de IoT para o destino. Também é possível enviar uma mensagem de downlink do AWS IoT Core para Amazon Sidewalk ao dispositivo utilizando a operação de API `SendDataToWirelessDevice`. Você pode verificar se a mensagem foi entregue ativando a notificação de evento de status de entrega da mensagem.

**nota**  
Para obter informações sobre como conectar sua plataforma de hardware e configurá-la, consulte [Provisionamento e registro do seu dispositivo final](https://docs.sidewalk.amazon/provisioning/) e [Configuração do kit de desenvolvimento de hardware (HDK)](https://docs.sidewalk.amazon/getting-started/sidewalk-onboard-prereq-hdk.html) na *documentação do Amazon Sidewalk*.

## Enviar mensagens de downlink para o dispositivo final
<a name="iot-sidewalk-downlink-message"></a>

Utilize a operação 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) ou o comando [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/send-data-to-wireless-device.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/send-data-to-wireless-device.html) da CLI para enviar mensagens de downlink do AWS IoT Core para Amazon Sidewalk ao dispositivo final do Sidewalk. O exemplo a seguir mostra como executar esse comando. Os dados da carga útil são o binário a ser enviado, codificado em base64.

```
aws iotwireless send-data-to-wireless-device \
    --id "<Wireless_Device_ID>" \
    --payload-data "SGVsbG8gVG8gRGV2c2lt" \
    --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}
```

O exemplo a seguir mostra uma saída da execução desse comando, que é um ID da mensagem de downlink enviada ao dispositivo.

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

**nota**  
A API `SendDataToWirelessDevice` pode retornar um ID de mensagem, mas a mensagem talvez não seja entregue com sucesso. Para verificar o status da mensagem que foi enviada ao dispositivo, você pode ativar eventos de status de entrega de mensagens para suas contas e dispositivos do Sidewalk. Para obter mais informações sobre como ativar esse evento, consulte [Notificações de eventos para recursos do Sidewalk](iot-sidewalk-events.md). Para obter mais informações sobre esse tipo de evento, consulte [Eventos de entrega de mensagens](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sidewalk-message-delivery-events.html).

## Visualizar o formato das mensagens de uplink do dispositivo
<a name="iot-sidewalk-uplink-metadata"></a>

Depois de conectar seu dispositivo, você pode se inscrever no tópico (por exemplo, *`project/sensor/observed`*) que especificou ao criar a regra de destino e observar as mensagens de uplink vindas do dispositivo. 

Se você especificou um nome de tópico ao criar o destino, você pode se inscrever no tópico para monitorar mensagens de uplink vindas do dispositivo final. Acesse o [cliente de teste MQTT](https://console.aws.amazon.com/iot/home#/test) na página **Teste** do console AWS IoT, insira o nome do tópico (por exemplo, *`project/sensor/observed`*) e escolha **Inscrição**.

O exemplo a seguir mostra o formato das mensagens de uplink enviadas dos dispositivos do Sidewalk para a AWS IoT. O `WirelessMetadata` contém metadados sobre a solicitação de mensagem.

```
{
   "PayloadData":"ZjRlNjY1ZWNlNw==",
   "WirelessDeviceId":"wireless_device_id",   
   "WirelessMetadata":{
      "Sidewalk":{
         "CmdExStatus":"Cmd",
         "SidewalkId":"device_id",
         "Seq":0,
         "MessageType":"messageType"
      }
    }
}
```

A tabela a seguir mostra uma definição dos diferentes parâmetros nos metadados do uplink. O `device-id` é o ID do dispositivo sem fio, como `ABCDEF1234`, e `messageType` é o tipo de mensagem de uplink recebida do dispositivo.


**Parâmetros de metadados de uplink do Sidewalk**  

| Parâmetro | Descrição | Tipo | Obrigatório | 
| --- | --- | --- | --- | 
| PayloadData |  A carga útil da mensagem enviada do dispositivo sem fio.   | String | Sim | 
| WirelessDeviceID | O identificador do dispositivo sem fio que está enviando os dados | String | Sim | 
| Sidewalk.CmdExStatus |  Status do runtime do comando. As mensagens do tipo de resposta devem incluir o código de status, `COMMAND_EXEC_STATUS_SUCCESS`. No entanto, as notificações talvez não incluam o código de status.  | Enumeração | Não | 
| Sidewalk.NackExStatus |  Status nack da resposta, que pode ser `RADIO_TX_ERROR` ou `MEMORY_ERROR`.   | Matriz de strings | Não | 