

# Conexión del dispositivo de Sidewalk y visualización del formato de metadatos del enlace ascendente
<a name="iot-sidewalk-connect-uplink-metadata"></a>

En este tutorial, utilizará el cliente de prueba MQTT para probar la conectividad y ver los mensajes intercambiados entre el dispositivo final y la Nube de AWS. Para recibir mensajes, en el cliente de prueba MQTT, suscríbase al tema especificado al crear la regla de IoT para el destino. También puede enviar un mensaje de enlace descendente desde AWS IoT Core para Amazon Sidewalk al dispositivo mediante la operación API `SendDataToWirelessDevice`. Puede comprobar que el mensaje se ha entregado activando la notificación del evento de estado de entrega del mensaje.

**nota**  
Para obtener información sobre cómo conectar la plataforma de hardware y configurarla, consulte [Aprovisionamiento y registro de un dispositivo final](https://docs.sidewalk.amazon/provisioning/) y [Configuración del kit de desarrollo de hardware (HDK)](https://docs.sidewalk.amazon/getting-started/sidewalk-onboard-prereq-hdk.html) en la *documentación de Amazon Sidewalk*.

## Envío de mensajes de enlace descendente al dispositivo final
<a name="iot-sidewalk-downlink-message"></a>

Utilice la operación 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) o el 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) de la CLI para enviar mensajes de enlace descendente desde AWS IoT Core para Amazon Sidewalk al dispositivo final Sidewalk. En el siguiente ejemplo se muestra cómo ejecutar este comando. Los datos de la carga son el binario que se va a enviar, codificado en base64.

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

A continuación se muestra un ejemplo del resultado de la ejecución de este comando, que es un ID del mensaje de enlace descendente enviado al dispositivo.

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

**nota**  
La `SendDataToWirelessDevice` de la API puede devolver un ID de mensaje, pero es posible que el mensaje no se entregue correctamente. Para comprobar el estado del mensaje que se envió al dispositivo, puede habilitar los eventos de estado de entrega de mensajes en las cuentas y dispositivos de Sidewalk. Para obtener información sobre cómo habilitar este evento, consulte [Notificaciones de eventos para recursos de Sidewalk](iot-sidewalk-events.md). Para obtener más información sobre este tipo de eventos, consulte [Eventos de entrega de mensajes](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sidewalk-message-delivery-events.html).

## Visualización del formato de los mensajes de enlace ascendente del dispositivo
<a name="iot-sidewalk-uplink-metadata"></a>

Una vez conectado el dispositivo, puede suscribirse al tema (por ejemplo, *`project/sensor/observed`*) que especificó al crear la regla de destino y observar los mensajes de enlace ascendente del dispositivo. 

Si especificó un nombre del tema al crear el destino, puede suscribirse al tema para monitorizar los mensajes de enlace ascendente del dispositivo final. Vaya al [Cliente de prueba de MQTT](https://console.aws.amazon.com/iot/home#/test) en la página **Prueba** de la consola de AWS IoT, introduzca el nombre del tema (por ejemplo, *`project/sensor/observed`*) y, a continuación, seleccione **Suscribirse**.

En el ejemplo siguiente se muestra el formato de los mensajes de enlace ascendente que se envían desde los dispositivos de Sidewalk a AWS IoT. Los `WirelessMetadata` contienen metadatos sobre la solicitud de mensaje.

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

La siguiente tabla muestra una definición de los diferentes parámetros en los metadatos del enlace ascendente. El `device-id` es el ID del dispositivo inalámbrico, por ejemplo, `ABCDEF1234` y el `messageType` es el tipo de mensaje de enlace ascendente que se recibe del dispositivo.


**Parámetros de metadatos de enlace ascendente de Sidewalk**  

| Parámetro | Descripción | Tipo | Obligatoria | 
| --- | --- | --- | --- | 
| PayloadData |  La carga del mensaje que se envía desde el dispositivo inalámbrico.   | Cadena | Sí | 
| WirelessDeviceID | El identificador del dispositivo inalámbrico que envía los datos | Cadena | Sí | 
| Sidewalk.CmdExStatus |  Estado de tiempo de ejecución del comando. Los mensajes de tipo respuesta deberán incluir el código de estado, `COMMAND_EXEC_STATUS_SUCCESS`. Sin embargo, es posible que las notificaciones no incluyan el código de estado.  | Enumeración | No | 
| Sidewalk.NackExStatus |  Estado de falta de respuesta, que puede ser `RADIO_TX_ERROR` o `MEMORY_ERROR`.   | Matriz de cadenas | No | 