Conexión del dispositivo de Sidewalk y visualización del formato de metadatos del enlace ascendente - AWS IoT Wireless

Conexión del dispositivo de Sidewalk y visualización del formato de metadatos del enlace ascendente

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 y Configuración del kit de desarrollo de hardware (HDK) en la documentación de Amazon Sidewalk.

Utilice la operación API SendDataToWirelessDevice o el comando send-data-to-wireless-device 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. Para obtener más información sobre este tipo de eventos, consulte Eventos de entrega de mensajes.

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 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
WirelessDeviceID El identificador del dispositivo inalámbrico que envía los datos Cadena
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