Introducción a la incorporación de sus dispositivos de Sidewalk
En esta sección, le indicamos cómo incorporar los dispositivos finales Sidewalk a AWS IoT Core para Amazon Sidewalk. Para incorporar sus dispositivos, primero añada su dispositivo de Sidewalk, luego aprovisiónelo y regístrelo y, a continuación, conecte el hardware a la aplicación en la nube. Antes de ejecutar este tutorial, revise y complete Instalación de Python y la AWS CLI.
En los siguientes pasos, se le mostrará cómo incorporar y conectar los dispositivos finales Sidewalk a AWS IoT Core para Amazon Sidewalk. Si desea incorporar dispositivos mediante la AWS CLI, puede consultar los ejemplos de comandos que se ofrecen en esta sección. Para obtener información sobre la incorporación de dispositivos mediante la consola de AWS IoT, consulte Conexión a AWS IoT Core para Amazon Sidewalk.
importante
Para llevar a cabo todo el flujo de trabajo de incorporación, también aprovisiona y registra el dispositivo final y conecta el kit de desarrollo de hardware (HDK). Para obtener más información, consulte Aprovisionamiento y registro de un dispositivo final
Temas
Paso 1: Añadir el dispositivo Sidewalk a AWS IoT Core para Amazon Sidewalk
A continuación, se muestra información general de los pasos que debe seguir para agregar el dispositivo final Sidewalk a AWS IoT Core para Amazon Sidewalk. Guarde la información que obtenga sobre el perfil de dispositivo y el dispositivo inalámbrico que ha creado. Utilizará esta información para aprovisionar y registrar el dispositivo final. Para obtener más información sobre estos pasos, consulte Agregación del dispositivo a AWS IoT Core para Amazon Sidewalk.
-
Creación de un perfil de dispositivo
Cree un perfil de dispositivo que contenga las configuraciones compartidas de los dispositivos de Sidewalk. Al crear el perfil, especifique un
para el perfil como cadena alfanumérica. Para crear un perfil, vaya a la pestaña Sidewalk del Centro de Perfilesname
de la consola de AWS IoT y elija Crear perfil o utilice la operación CreateDeviceProfile
de la API o el comandocreate-device-profile
de la CLI, como se muestra en este ejemplo.// Add your device profile using a name and the sidewalk object. aws iotwireless create-device-profile --name
sidewalk_profile
--sidewalk {} -
Creación del dispositivo final de Sidewalk
Cree el dispositivo final Sidewalk con AWS IoT Core para Amazon Sidewalk. Especifique un nombre de destino y el ID del perfil de dispositivo obtenido en el paso anterior. Para crear un dispositivo, vaya a la pestaña Sidewalk del Centro de dispositivos
de la consola de AWS IoT y elija Aprovisionar dispositivo o utilice la operación CreateWirelessDevice
de la API o el comandocreate-wireless-device
de la CLI, como se muestra en este ejemplo.nota
Especifique un nombre para el destino que sea único de su Cuenta de AWS y Región de AWS. Usará el mismo nombre de destino cuando agregue el destino a AWS IoT Core para Amazon Sidewalk.
// Add your Sidewalk device by using the device profile ID. aws iotwireless create-wireless-device --type "Sidewalk" --name
sidewalk_device
\ --destination-nameSidewalkDestination
\ --sidewalk DeviceProfileId="12345678-234a-45bc-67de-e8901234f0a1"
-
Obtención del perfil de dispositivo y la información del dispositivo inalámbrico
Obtenga el perfil de dispositivo y la información del dispositivo inalámbrico como un JSON. El JSON contendrá información sobre los detalles y los certificados del dispositivo, las claves privadas, el
DeviceTypeId
y el número de serie del fabricante de Sidewalk (SMSN).-
Si utiliza la consola de AWS IoT, puede usar la pestaña Sidewalk del Centro de dispositivos
para descargar un archivo JSON combinado para el dispositivo final de Sidewalk. -
Si utiliza las operaciones de la API, guarde las respuestas obtenidas de
GetDeviceProfile
yGetWirelessDevice
en archivos JSON independientes, como
ydevice_profile.json
.wireless_device.json
// Store device profile information as a JSON file. aws iotwireless get-device-profile \ --id
"12345678-a1b2-3c45-67d8-e90fa1b2c34d"
>device_profile.json
// Store wireless device information as a JSON file. aws iotwireless get-wireless-device --identifier-type WirelessDeviceId \ --identifier"23456789-abcd-0123-bcde-fabc012345678"
>wireless_device.json
-
Paso 2: Creación de un destino para el dispositivo final de Sidewalk
A continuación, se muestra información general de los pasos que debe seguir para agregar el dispositivo a AWS IoT Core para Amazon Sidewalk. Mediante la AWS Management Console, las operaciones API de AWS IoT Wireless o la AWS CLI, debe seguir estos pasos para crear un destino y una regla de AWS IoT. A continuación, puede conectarse a la plataforma de hardware y ver e intercambiar mensajes. Para ver un ejemplo del rol de IAM y la regla de AWS IoT utilizados en los ejemplos de la AWS CLI de esta sección, consulte Creación de un rol de IAM y una regla de IoT para el destino.
-
Creación del rol de IAM
Cree un rol de IAM que le conceda a AWS IoT Core para Amazon Sidewalk el permiso necesario para enviar datos a la regla de AWS IoT. Para crear el rol, utilice la operación
CreateRole
de la API o el comandocreate-role
de la CLI. Puede nombrar el rol como
.SidewalkRole
aws iam create-role --role-name lambda-ex \ --assume-role-policy-document
file://lambda-trust-policy.json
-
Creación de una regla para el destino
Cree una regla de AWS IoT que procesará los datos del dispositivo y especificará el tema en el que se publicarán los mensajes. Observará los mensajes sobre este tema después de conectarse a la plataforma de hardware. Para crear una regla para el destino, utilice la operación de la API de AWS IoT Core,
CreateTopicRule
, o el comando de la AWS CLI,create-topic-rule
.aws iot create-topic-rule --rule-name
Sidewalkrule
\ --topic-rule-payloadfile://myrule.json
-
Creación de un destino
Cree un destino que asocie su dispositivo de Sidewalk con la regla de IoT que lo procesa para usarlo con otros Servicios de AWS. Puede agregar un destino mediante el Centro de destinos
de la consola de AWS IoT, la operación CreateDestination
de la API o el comandocreate-destination
de la CLI.aws iotwireless create-destination --name
SidewalkDestination
\ --expression-type RuleName --expressionSidewalkRule
\ --role-arn arn:aws:iam::123456789012
:role/SidewalkRole
Paso 3: Aprovisionamiento y registro del dispositivo final
Con los comandos Python, puede aprovisionar y registrar el dispositivo final. El script de aprovisionamiento utiliza los datos JSON del dispositivo obtenidos para generar una imagen binaria de fabricación, que luego se flashea en la placa de hardware. A continuación, registre el dispositivo final para conectarlo a la plataforma de hardware. Para obtener más información, consulte Aprovisionamiento y registro de un dispositivo final
nota
Al registrar el dispositivo final de Sidewalk, la puerta de enlace debe estar habilitada en Amazon Sidewalk y la puerta de enlace y el dispositivo deben estar dentro de su mutuo alcance.
Paso 4: Conexión al dispositivo final de Sidewalk e intercambio de mensajes
Una vez que haya registrado el dispositivo final, podrá conectarlo y empezar a intercambiar mensajes y datos del dispositivo.
-
Conexión del dispositivo final de Sidewalk
Conecte el HDK al equipo y siga las instrucciones indicadas en la documentación del proveedor para conectarse al HDK. Para obtener más información, consulte Aprovisionamiento y registro de un dispositivo final
en la documentación de Amazon Sidewalk. -
Visualización e intercambio de mensajes
Utilice el cliente MQTT para suscribirse al tema especificado en la regla y ver el mensaje recibido. También puede usar la operación
SendDataToWirelessDevice
de la API o el comandosend-data-to-wireless-device
de la CLI para enviar un mensaje de enlace descendente al dispositivo y verificar el estado de conectividad.(Opcional) Puede habilitar el evento de estado de entrega del mensaje para comprobar si el mensaje del enlace descendente se ha recibido correctamente.
aws iotwireless send-data-to-wireless-device \ --id
"<Wireless_Device_ID>"
\ --payload-data"SGVsbG8gVG8gRGV2c2lt"
\ --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}