Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Estos tutoriales muestran cómo utilizar el servicio Device Shadow AWS IoT para almacenar y actualizar la información de estado de un dispositivo. El documento Shadow, que es un documento JSON, muestra el cambio en el estado del dispositivo en función de los mensajes publicados por un dispositivo, una aplicación local o un servicio. En este tutorial, el documento de sombra muestra el cambio en el color de una bombilla. Estos tutoriales también muestran cómo la sombra almacena esta información incluso cuando el dispositivo está desconectado de Internet y le devuelve la información de estado más reciente cuando vuelve a conectarse y solicita esta información.
Le recomendamos que pruebe estos tutoriales en el orden en que se muestran aquí, empezando por los recursos AWS IoT que necesita para crearlos y la configuración de hardware necesaria, lo que también le ayudará a aprender los conceptos de forma gradual. Estos tutoriales muestran cómo configurar y conectar un dispositivo Raspberry Pi para usarlo con AWS IoT. Si no dispone del hardware necesario, puede seguir estos tutoriales adaptándolos al dispositivo que prefiera o creando un dispositivo virtual con Amazon EC2.
Información general del escenario del tutorial
El escenario de estos tutoriales es una aplicación o un servicio local que cambia el color de una bombilla y publica sus datos en temas ocultos reservados. Estos tutoriales son similares a la funcionalidad Device Shadow descrita en el tutorial interactivo de introducción y se implementan en un dispositivo Raspberry Pi. Los tutoriales de esta sección se centran en una única sombra clásica y, al mismo tiempo, muestran cómo se pueden acomodar sombras con nombres o varios dispositivos.
Los siguientes tutoriales le ayudarán a aprender a utilizar el servicio Device Shadow AWS IoT.
-
Tutorial: Cómo preparar la Raspberry Pi para ejecutar la aplicación shadow
Este tutorial muestra cómo configurar un dispositivo Raspberry Pi para conectarlo a AWS IoT. También creará un documento de política AWS IoT y un recurso específico, descargará los certificados y, a continuación, adjuntará la política a ese recurso. Para completar este tutorial se necesitan aproximadamente 30 minutos.
-
Tutorial: Instalación del SDK del dispositivo y ejecución de la aplicación de ejemplo para Device Shadows
En este tutorial se muestra cómo instalar las herramientas, el software y el SDK de dispositivos AWS IoT necesarios para Python y, a continuación, ejecutar la aplicación oculta de ejemplo. Este tutorial se basa en los conceptos presentados en Conexión de una Raspberry Pi u otro dispositivo y tarda 20 minutos en completarse.
-
Tutorial: Interactuar con Device Shadow mediante la aplicación de ejemplo y el cliente de pruebas MQTT
Este tutorial muestra cómo utilizar la aplicación de ejemplo
shadow.py
y la consola AWS IoT para observar la interacción entre Device Shadow AWS IoT y los cambios de estado de la bombilla. El tutorial también muestra cómo enviar mensajes MQTT a los temas reservados de Device Shadow. Para completar este tutorial se necesitan aproximadamente 45 minutos.
Descripción general de Device Shadow AWS IoT
Un Device Shadow es una representación virtual y persistente de un dispositivo que se administra mediante un recurso creado en el registro AWS IoT. El documento Shadow es un documento JSON o de notación JavaScript que se utiliza para almacenar y recuperar la información del estado actual de un dispositivo. Puede utilizar la sombra para obtener y establecer el estado de un dispositivo a través de temas MQTT o API REST HTTP, independientemente de si el dispositivo está conectado a Internet.
Un documento Shadow contiene una propiedad state
que describe estos aspectos del estado del dispositivo.
-
desired
: Las aplicaciones especifican los estados deseados de las propiedades del dispositivo actualizando el objetodesired
. -
reported
: Los dispositivos notifican su estado actual en el objetoreported
. -
delta
: AWS IoT notifica las diferencias entre el estado deseado y el notificado en el objetodelta
.
He aquí un ejemplo de documento de estado en Shadow.
{
"state": {
"desired": {
"color": "green"
},
"reported": {
"color": "blue"
},
"delta": {
"color": "green"
}
}
}
Para actualizar el documento Shadow de un dispositivo, puede utilizar los temas reservados de MQTT, las API de REST de Device Shadow que admiten las operaciones GET
, UPDATE
y DELETE
con HTTP y y la CLI AWS IoT
En el ejemplo anterior, supongamos que desea cambiar el color desired
a yellow
. Para ello, envía una solicitud a la API UpdateThingShadow o publica un mensaje en el tema Actualizar, $aws/things/THING_NAME/shadow/update
.
{
"state": {
"desired": {
"color": yellow
}
}
}
Las actualizaciones afectan únicamente a los campos especificados en la solicitud. Tras actualizar correctamente Device Shadow, AWS IoT publica el nuevo estado desired
del tema delta
, $aws/things/THING_NAME/shadow/delta
. El documento Shadow en este caso tiene este aspecto:
{ "state": { "desired": { "color": yellow }, "reported": { "color": green }, "delta": { "color": yellow } } }
A continuación, se informa del nuevo estado a Device Shadow AWS IoT mediante el tema Update
$aws/things/THING_NAME/shadow/update
con el siguiente mensaje JSON:
{ "state": { "reported": { "color": yellow } } }
Si desea obtener la información sobre el estado actual, envíe una solicitud a la API GetThingShadow o publique un mensaje MQTT en el tema Obtener, $aws/things/THING_NAME/shadow/get
.
Para obtener más información sobre el uso del servicio Device Shadow, consulte AWS IoT Servicio Device Shadow.
Para obtener más información sobre el uso de Device Shadows en dispositivos, aplicaciones y servicios, consulte Uso de sombras en dispositivos y Uso de sombras en aplicaciones y servicios.
Para obtener información sobre la interacción con AWS IoT las sombras, consulte Interacción con sombras.
Para obtener información sobre los temas reservados de MQTT y las API REST de HTTP, consulte MQTTTemas sobre Device Shadow y Device Shadow REST API.