AWS IoT
Guía del desarrollador

¿Qué es AWS IoT?

AWS IoT proporciona una comunicación bidireccional segura entre los dispositivos conectados a Internet, como, por ejemplo, sensores, actuadores, microcontroladores integrados o aparatos inteligentes y la nube de AWS. Esto le permite recopilar datos de telemetría de varios dispositivos y almacenar y analizar los datos. También puede crear aplicaciones que permitan a sus usuarios controlar estos dispositivos desde sus teléfonos o tablets.

Componentes de AWS IoT

AWS IoT está formado por los siguientes componentes:

Gateway de dispositivos

Permite a los dispositivos comunicarse de forma segura y eficaz con AWS IoT.

Agente de mensajes

Proporciona un mecanismo seguro para que los dispositivos y las aplicaciones de AWS IoT publiquen y reciban mensajes entre sí. Puede utilizar el protocolo MQTT directamente o MQTT sobre WebSocket para publicar y suscribirse. Puede utilizar la interfaz HTTP REST para publicar. Para obtener más información, consulte Agente de mensajes de AWS IoT.

Motor de reglas

Proporciona funciones de procesamiento de mensajes y de integración con otros servicios de AWS. Puede utilizar un lenguaje basado en SQL para seleccionar datos de cargas de mensajes y procesar y enviar datos a otros servicios, como Amazon S3, Amazon DynamoDB y AWS Lambda. También puede utilizar el agente de mensajes para volver a publicar mensajes para otros suscriptores. Para obtener más información, consulte Reglas para AWS IoT .

Servicio de seguridad e identidad

Comparte la responsabilidad de la seguridad en la nube de AWS. Los dispositivos deben proteger sus credenciales para enviar datos de forma segura al agente de mensajes. El agente de mensajes y el motor de reglas utilizan las características de seguridad de AWS para enviar datos de forma segura a dispositivos u otros servicios de AWS. Para obtener más información, consulte Seguridad e identidad para AWS IoT .

Registry (Registro)

Organiza los recursos asociados a cada dispositivo en la nube de AWS. Es necesario registrar los dispositivos y asociar hasta tres atributos personalizados a cada uno. También es posible asociar certificados e ID de cliente MQTT a cada dispositivo para poder administrarlos y solucionar los problemas que presenten con mayor facilidad. Para obtener más información, consulte Administración de dispositivos con AWS IoT .

Registro de grupos

Los grupos permiten administrar varios dispositivos a la vez clasificándolos en grupos. Los grupos también pueden contener otros grupos — puede crear una jerarquía de grupos. Cualquier acción que realice en un grupo principal se aplicará a sus grupos secundarios, así como a todos los dispositivos incluidos en el grupo principal y en sus grupos secundarios. Los permisos proporcionados a un grupo se aplicarán a todos los dispositivos del grupo y a todos sus grupos secundarios. Para obtener más información, consulte Administración de dispositivos con AWS IoT .

Sombra del dispositivo

Documento JSON utilizado para almacenar y recuperar información del estado actual de un dispositivo.

Servicio Device Shadow

Proporciona representaciones persistentes de los dispositivos en la nube de AWS. Es posible publicar información de estado actualizada en una sombra de un dispositivo y este puede sincronizar su estado cuando se conecte. Los dispositivos también pueden publicar su estado actual en una sombra para que lo usen las aplicaciones o los demás dispositivos. Para obtener más información, consulte Servicio Device Shadow para AWS IoT.

Servicio de aprovisionamiento de dispositivos

Le permite aprovisionar dispositivos mediante una plantilla que describe los recursos necesarios para el dispositivo: un objeto, un certificado y una o varias políticas. Un objeto es una entrada en el registro que contiene atributos que describen un dispositivo. Los dispositivos usan certificados para realizar la autenticación con AWS IoT. Las políticas determinan qué operaciones pueden realizar los dispositivos en AWS IoT.

Las plantillas contienen variables que se sustituirán por los valores en un diccionario (mapa). Puede usar la misma plantilla para aprovisionar varios dispositivos tan solo pasando diferentes valores para las variables de la plantilla en el diccionario. Para obtener más información, consulte Aprovisionamiento de dispositivos.

Servicio de autenticación personalizado

Puede definir autorizadores personalizados para permitirle administrar su propia estrategia de autenticación y autorización con un servicio de autenticación personalizado y una función de Lambda. Los autorizadores personalizados permiten a AWS IoT autenticar sus dispositivos y autorizar operaciones mediante estrategias de autorización y autenticación de tokens al portador.

Los autorizadores personalizados pueden implementar varias estrategias de autenticación (por ejemplo: verificación de JSON Web Token, llamada al proveedor de OAuth, etc.) y deben devolver los documentos de la política que ha usado la puerta de enlace del dispositivo para autorizar las operaciones de MQTT. Para obtener más información, consulte Autenticación personalizada.

Servicio de Jobs

Permite definir un conjunto de operaciones remotas que se envían a uno o más dispositivos conectados a AWS IoT o que se ejecutan en uno o más de esos dispositivos. Por ejemplo, puede definir un trabajo que indique a un conjunto de dispositivos descargar e instalar actualizaciones de firmware y aplicaciones, reiniciar, rotar certificados o realizar operaciones remotas de solución de problemas.

Para crear un trabajo, especifique una descripción de las operaciones remotas que se van a realizar y una lista de destinos que deben realizarlas. Los destinos pueden ser dispositivos individuales, grupos o ambos. Para obtener más información, consulte Trabajos.

Para obtener información sobre los límites de AWS IoT, consulte Límites de AWS IoT.

Primeros pasos con AWS IoT

Acceso a AWS IoT

AWS IoT ofrece las interfaces siguientes para crear dispositivos e interactuar con ellos:

  • AWS Command Line Interface(AWS CLI)— Ejecuta comandos para AWS IoT en Windows, macOS y Linux. Estos comandos le permiten crear y administrar objetos, certificados, reglas y políticas. Para empezar, consulte AWS Command Line Interface Guía del usuario. Para obtener más información acerca de los comandos de AWS IoT, consulte iot en la AWS CLI Command Reference.

  • AWS IoTAPI— Cree sus aplicaciones IoT mediante solicitudes HTTP o HTTPS. Estas acciones de la API le permiten crear y administrar objetos, certificados, reglas y políticas mediante programación. Para obtener más información acerca de las acciones de la API para AWS IoT, consulte las acciones en las referencias de API de AWS IoT.

  • SDK de AWS— Cree sus aplicaciones IoT mediante API específicas de un lenguaje. Estos SDK integran las API de HTTP/HTTPS y le permiten programar en cualquiera de los lenguajes admitidos. Para obtener más información, consulte AWSSDK y herramientas de .

  • SDK de dispositivos de AWS IoT— Cree aplicaciones que se ejecutan en sus dispositivos para enviar y recibir mensajes de AWS IoT. Para obtener más información, consulte SDK de AWS IoT.

AWS IoT se integra directamente con los siguientes servicios de AWS:

  • Amazon Simple Storage Service—Proporciona almacenamiento escalable en la nube de AWS. Para obtener más información, consulte Amazon S3.

  • Amazon DynamoDB—Proporciona bases de datos NoSQL administradas. Para obtener más información, consulte Amazon DynamoDB.

  • Amazon Kinesis—Permite realizar el procesamiento de datos de streaming a gran escala. Para obtener más información, consulte Amazon Kinesis.

  • AWS Lambda—Ejecuta el código en servidores virtuales de Amazon EC2 en respuesta a eventos. Para obtener más información, consulte AWS Lambda.

  • Amazon Simple Notification Service—Envía o recibe notificaciones. Para obtener más información, consulte Amazon SNS.

  • Amazon Simple Queue Service—Almacena de datos en una cola para que los recuperen las aplicaciones. Para obtener más información, consulte Amazon SQS.