aws iot - guía del desarrollador€¦ · aws iot guía del desarrollador ¿qué es aws iot?

764
AWS IoT Guía del desarrollador

Upload: others

Post on 30-Apr-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

  • AWS IoTGuía del desarrollador

  • AWS IoT Guía del desarrollador

    AWS IoT: Guía del desarrolladorCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

  • AWS IoT Guía del desarrollador

    Table of Contents¿Qué es AWS IoT? ............................................................................................................................ 1

    Componentes de AWS IoT .......................................................................................................... 1Primeros pasos con AWS IoT ...................................................................................................... 3Acceso a AWS IoT ..................................................................................................................... 3Servicios relacionados ................................................................................................................. 3Funcionamiento de AWS IoT ........................................................................................................ 3

    Introducción a AWS IoT Core ............................................................................................................... 5Inicie sesión en la consola de AWS IoT ......................................................................................... 5Crear un objeto .......................................................................................................................... 6Registrar un dispositivo ............................................................................................................... 6

    Creación y activación de un certificado de dispositivo .............................................................. 6Crear una política de AWS IoT Core ..................................................................................... 8Asociación de una política de AWS IoT Core a un certificado de dispositivo ............................... 10Asociación de un certificado a un objeto .............................................................................. 11

    Configuración del dispositivo ...................................................................................................... 12Visualización de los mensajes de MQTT de dispositivo con el cliente MQTT de AWS IoT ..................... 12Configuración y comprobación de reglas ...................................................................................... 14

    Creación de un tema de SNS ............................................................................................. 15Suscripción a un tema de Amazon SNS ............................................................................... 17Crear una regla ................................................................................................................ 19Comprobación de la regla de Amazon SNS .......................................................................... 25Pasos siguientes ............................................................................................................... 25

    Creación y seguimiento de un trabajo de AWS IoT Core ................................................................. 25Conectar su dispositivo a AWS IoT ..................................................................................... 25Ejecución del trabajo de ejemplo ......................................................................................... 26Crear un documento de trabajo .......................................................................................... 26Crear una tarea ................................................................................................................ 26Ejecutar el trabajo en un dispositivo .................................................................................... 34Seguimiento del progreso de un trabajo con eventos de trabajo y de ejecución de trabajos ............ 35

    Tutoriales de reglas de AWS IoT ........................................................................................................ 39Creación de una regla con una acción de DynamoDB .................................................................... 39

    Prueba de una regla con una acción de DynamoDB .............................................................. 49Creación de una regla con una acción de AWS Lambda ................................................................. 50

    Creación de una función Lambda ........................................................................................ 51Comprobación de la función Lambda ................................................................................... 55Creación de una regla con una acción de Lambda ................................................................. 57Prueba de una regla con una acción de Lambda ................................................................... 67Solución de problemas de una regla con una acción de Lambda .............................................. 68

    Creación de un regla de Amazon SNS ......................................................................................... 69Uso de los SDK de dispositivos de AWS IoT en Raspberry Pi ................................................................. 78

    Requisitos previos ..................................................................................................................... 78Creación de un objeto de AWS IoT para su Raspberry Pi ............................................................... 78Uso del AWS IoT Device SDK para Embedded C .......................................................................... 79

    Instalación del AWS IoT Device SDK para Embedded C. ........................................................ 79Configuración de aplicación de muestra ............................................................................... 80Ejecución de las aplicaciones de ejemplo ............................................................................. 81

    Uso del SDK de dispositivos de AWS IoT para JavaScript y Node .................................................... 82Instale la versión más reciente de Node.js. ........................................................................... 82Instalación de AWS IoT Device SDK para JavaScript ............................................................. 82Preparación antes de ejecutar las aplicaciones de ejemplo ...................................................... 82Ejecución de las aplicaciones de ejemplo ............................................................................. 83

    Otros tutoriales de AWS IoT ............................................................................................................... 85Monitorización de la humedad del suelo con AWS IoT y Raspberry Pi ............................................... 85

    Requisitos previos ............................................................................................................. 85

    iii

  • AWS IoT Guía del desarrollador

    Configuración de AWS IoT ................................................................................................. 85Configuración del dispositivo Raspberry Pi y el sensor de humedad .......................................... 89

    Administración de dispositivos con AWS IoT ......................................................................................... 95Administración de objetos con el registro ...................................................................................... 95

    Crear un objeto ................................................................................................................ 95Listar objetos ................................................................................................................... 96Buscar objetos ................................................................................................................. 96Actualizar un objeto .......................................................................................................... 98Eliminar un objeto ............................................................................................................. 98Asociar un principal a un objeto .......................................................................................... 98Desasociar un principal de un objeto ................................................................................... 98

    Tipos de objeto ........................................................................................................................ 99Creación de un tipo de objeto ............................................................................................. 99Listar tipos de objeto ......................................................................................................... 99Describir un tipo de objeto ................................................................................................ 100Asociar un tipo de objeto a un objeto ................................................................................. 100Dejar de utilizar un tipo de objeto ...................................................................................... 101Eliminar un tipo de objeto ................................................................................................. 102

    Grupos de objetos estáticos ..................................................................................................... 102Crear un grupo de objetos estático .................................................................................... 103Describir el grupo de un objeto ......................................................................................... 104Agregar un objeto a un grupo de objetos estático ................................................................ 104Eliminar un objeto de un grupo de objetos estático ............................................................... 104Listar los objetos en un grupo de objetos ........................................................................... 105Listar grupos de objetos ................................................................................................... 105Listar grupos para un objeto ............................................................................................. 107Actualizar un grupo de objetos estático .............................................................................. 107Eliminar un grupo de objetos ............................................................................................ 107Asociar una política a un grupo de objetos estático .............................................................. 108Desconectar una política de un grupo de objetos estático ...................................................... 108Mostrar las políticas asociadas a un grupo de objetos estático ............................................... 109Listar los grupos para una política ..................................................................................... 109Obtener políticas en vigor para un objeto ............................................................................ 109Probar la autorización para acciones de MQTT .................................................................... 110

    Grupos de objetos dinámicos .................................................................................................... 111Crear un grupo de objetos dinámico .................................................................................. 112Describir un grupo de objetos dinámico .............................................................................. 113Actualizar un grupo de objetos dinámicos ........................................................................... 113Eliminar un grupo de objetos dinámicos ............................................................................. 114Limitaciones y conflictos ................................................................................................... 114

    Etiquetado de los recursos de AWS IoT ............................................................................................. 117Conceptos básicos de etiquetas ................................................................................................ 117

    Restricciones y limitaciones en las etiquetas ....................................................................... 118Uso de etiquetas con políticas de IAM ....................................................................................... 118Grupos de facturación .............................................................................................................. 120

    Visualización de datos de uso y asignación de costos .......................................................... 120Seguridad ...................................................................................................................................... 122

    Seguridad en AWS IoT ............................................................................................................ 122Autenticación .......................................................................................................................... 123

    AWS Training and Certification .......................................................................................... 123Descripción general del certificado X.509 ............................................................................ 123Autenticación del servidor ................................................................................................. 124Autenticación del cliente ................................................................................................... 126Autenticación personalizada .............................................................................................. 133

    Administración de certificados de dispositivo ............................................................................... 142Autenticación del servidor ................................................................................................. 142

    Autorización ............................................................................................................................ 142

    iv

  • AWS IoT Guía del desarrollador

    AWS Training and Certification .......................................................................................... 144Políticas de AWS IoT Core ............................................................................................... 144Autorización de llamadas directas a los servicios de AWS ..................................................... 172Acceso entre cuentas ...................................................................................................... 176

    Protección de los datos ............................................................................................................ 177Seguridad de transporte en AWS IoT ................................................................................. 178Cifrado de datos ............................................................................................................. 179

    Identity and Access Management .............................................................................................. 180Público .......................................................................................................................... 180Autenticación con identidades de IAM ................................................................................ 180Administración de acceso mediante políticas ....................................................................... 182Funcionamiento de AWS IoT con IAM ................................................................................ 184Ejemplos de políticas basadas en identidad ........................................................................ 199Solución de problemas ..................................................................................................... 202

    Registro y monitorización ......................................................................................................... 204Herramientas de monitorización ......................................................................................... 205Monitorización con Amazon CloudWatch ............................................................................ 206Monitorización con CloudWatch Logs ................................................................................. 217Registro de llamadas a la API de AWS IoT con AWS CloudTrail ............................................. 240

    Validación de la conformidad .................................................................................................... 242Resiliencia .............................................................................................................................. 242Seguridad de la infraestructura .................................................................................................. 243Análisis de vulnerabilidades ...................................................................................................... 243Prácticas recomendadas de seguridad ....................................................................................... 243

    Protección de conexiones MQTT en AWS IoT ..................................................................... 243Mantener sincronizado el reloj del dispositivo ...................................................................... 246Validar el certificado de servidor ........................................................................................ 246Usar una identidad única por dispositivo ............................................................................. 246Usar aprovisionamiento justo a tiempo ............................................................................... 247

    AWS Training and Certification .................................................................................................. 247Conexión de dispositivos .................................................................................................................. 248

    Puntos de enlaces configurables (beta) ...................................................................................... 249Creación y configuración de dominios administrados por AWS ............................................... 249Creación y configuración de dominios personalizados ........................................................... 250Administración de configuraciones de dominio ..................................................................... 253

    Agente de mensajes ........................................................................................................................ 254Temas ................................................................................................................................... 254

    Nombres de temas .......................................................................................................... 254Filtros de temas .............................................................................................................. 255Temas reservados ........................................................................................................... 255

    Protocolos .............................................................................................................................. 264Protocolos, mapeos de puertos y autenticación .................................................................... 264MQTT ............................................................................................................................ 265HTTP ............................................................................................................................ 270

    Reglas ........................................................................................................................................... 272Concesión a AWS IoT del acceso requerido ............................................................................... 272Transmisión de los permisos de rol ........................................................................................... 274Creación de un regla de AWS IoT ............................................................................................. 275Visualización de las reglas ....................................................................................................... 278Eliminación de una regla .......................................................................................................... 279Acciones de reglas de AWS IoT ................................................................................................ 279

    Acción de alarma de CloudWatch ...................................................................................... 280Acción de CloudWatch Logs ............................................................................................. 281Acción de métrica de CloudWatch ..................................................................................... 281Acción DynamoDB .......................................................................................................... 282Acción DynamoDBv2 ....................................................................................................... 284Acción Elasticsearch ........................................................................................................ 285

    v

  • AWS IoT Guía del desarrollador

    Acción Firehose .............................................................................................................. 286Acción HTTP .................................................................................................................. 287Acción de IoT Analytics .................................................................................................... 288Acción de eventos de IoT ................................................................................................. 290Acción SiteWise de IoT .................................................................................................... 291Acción Kinesis ................................................................................................................ 294Acción Lambda ............................................................................................................... 295Acción Republish ............................................................................................................ 297Acción S3 ...................................................................................................................... 297Acción Salesforce ............................................................................................................ 299Acción SNS .................................................................................................................... 299Acción SQS ................................................................................................................... 300Acción de Step Functions ................................................................................................. 301

    Solución de problemas de una regla .......................................................................................... 302Control de errores (acción de error) ........................................................................................... 302

    Formato de mensaje de acción de error ............................................................................. 302Ejemplo de acción de error ............................................................................................... 303

    Trabajar con destinos de reglas de temas ................................................................................. 304Creación de un destino de regla del tema ........................................................................... 305Confirmación de un destino de regla del tema ..................................................................... 305Desactivación de un destino de regla del tema .................................................................... 306Habilitación de un destino de regla del tema ....................................................................... 306Envío de un nuevo mensaje de confirmación ....................................................................... 306Eliminación de un destino de regla del tema ....................................................................... 306

    Reducción de los costos de mensajería con Basic Ingest .............................................................. 306Uso de Basic Ingest ........................................................................................................ 307

    Referencia de SQL de AWS IoT ............................................................................................... 307Cláusula SELECT ........................................................................................................... 308Cláusula FROM .............................................................................................................. 310Cláusula WHERE ............................................................................................................ 311Tipos de datos ................................................................................................................ 312Operadores .................................................................................................................... 315Funciones ...................................................................................................................... 321Literales ......................................................................................................................... 359Instrucciones case ........................................................................................................... 359Extensiones JSON .......................................................................................................... 360Plantillas de sustitución .................................................................................................... 360Consultas de objetos anidados .......................................................................................... 361Versiones de SQL ........................................................................................................... 362

    Servicio Device Shadow ................................................................................................................... 365Flujo de datos del servicio Device Shadow ................................................................................. 365

    Detección de un objeto conectado ..................................................................................... 372Documentos del servicio Device Shadow .................................................................................... 373

    Propiedades del documento .............................................................................................. 373Control de versiones de Device Shadow ............................................................................. 374Token de cliente ............................................................................................................. 374Ejemplo de documento .................................................................................................... 374Secciones vacías ............................................................................................................ 375Matrices ......................................................................................................................... 375

    Uso de sombras ..................................................................................................................... 376Compatibilidad del protocolo ............................................................................................. 376Actualización de la sombra ............................................................................................... 377Recuperación de un documento de sombra ........................................................................ 377Eliminación de datos ....................................................................................................... 380Eliminación de una sombra .............................................................................................. 381Estado delta ................................................................................................................... 381Observación de los cambios de estado .............................................................................. 383

    vi

  • AWS IoT Guía del desarrollador

    Orden de los mensajes .................................................................................................... 383Recorte de mensajes de sombra ....................................................................................... 384

    API RESTful ........................................................................................................................... 385GetThingShadow ............................................................................................................. 385UpdateThingShadow ........................................................................................................ 386DeleteThingShadow ......................................................................................................... 387

    Temas de publicación/suscripción MQTT .................................................................................... 387/update .......................................................................................................................... 388/update/accepted ............................................................................................................. 389/update/documents .......................................................................................................... 389/update/rejected .............................................................................................................. 390/update/delta ................................................................................................................... 390/get ............................................................................................................................... 391/get/accepted .................................................................................................................. 392/get/rejected .................................................................................................................... 392/delete ........................................................................................................................... 393/delete/accepted .............................................................................................................. 393/delete/rejected ............................................................................................................... 394

    Sintaxis de los documentos ...................................................................................................... 394Documentos de estado de la solicitud ................................................................................ 395Documentos de estado de la respuesta .............................................................................. 395Documentos de respuesta de error .................................................................................... 396

    Mensajes de error ................................................................................................................... 397Trabajos ........................................................................................................................................ 398

    Conceptos clave de Jobs ......................................................................................................... 398Administración de trabajos ........................................................................................................ 400

    Creación y administración de trabajos (consola) ................................................................... 402Creación y administración de trabajos (CLI) ........................................................................ 403

    Dispositivos y trabajos ............................................................................................................. 411Programación de dispositivos para trabajar con Jobs ............................................................ 413

    Uso de las API de Jobs de AWS IoT ......................................................................................... 423API de administración y control de trabajo .......................................................................... 423API de MQTT y HTTPS de dispositivo de Jobs .................................................................... 482

    Despliegue de trabajos y configuración de anulaciones ................................................................. 507Uso de tasas de despliegue de trabajos ............................................................................. 507Uso de configuraciones de anulaciones de despliegues de trabajos ........................................ 509

    Límites de los trabajos ............................................................................................................. 509Tunelización segura de AWS IoT ...................................................................................................... 510

    Conceptos de tunelización segura ............................................................................................. 510Tutorial de tunelización segura .................................................................................................. 511

    Requisitos previos ........................................................................................................... 511Abrir un túnel ................................................................................................................. 511Iniciar el proxy local ........................................................................................................ 511Iniciar una sesión SSH .................................................................................................... 512Cerrar el túnel ................................................................................................................ 512

    Ciclo de vida del túnel ............................................................................................................. 512Control del acceso a los túneles ............................................................................................... 513

    Requisitos previos de acceso al túnel ................................................................................ 513iot:OpenTunnel ............................................................................................................... 513iot:DescribeTunnel ........................................................................................................... 514iot:ListTunnels ................................................................................................................. 515iot:ListTagsForResource ................................................................................................... 515iot:CloseTunnel ............................................................................................................... 515iot:TagResource .............................................................................................................. 516iot:UntagResource ........................................................................................................... 516

    Proxy local ............................................................................................................................. 516Prácticas de seguridad recomendadas del proxy local ........................................................... 517

    vii

  • AWS IoT Guía del desarrollador

    Fragmento de agente de IoT .................................................................................................... 517Configuración de un dispositivo remoto ...................................................................................... 518

    Aprovisionamiento de dispositivos ...................................................................................................... 520Aprovisionamiento de dispositivos que no tienen certificados de dispositivo mediante elaprovisionamiento de flotas ...................................................................................................... 520

    Aprovisionamiento por notificación ..................................................................................... 521Aprovisionamiento por usuario de confianza ........................................................................ 522API de aprovisionamiento de flotas .................................................................................... 523

    Aprovisionamiento de dispositivos que tienen certificados de dispositivo .......................................... 525Aprovisionamiento de un solo objeto .................................................................................. 526Aprovisionamiento justo a tiempo ...................................................................................... 526Registro masivo .............................................................................................................. 529

    Aprovisionamiento de plantillas .................................................................................................. 530Sección Parameters ........................................................................................................ 530Sección Resources .......................................................................................................... 530Ejemplo de plantilla para el registro JITP y masivo ............................................................... 534Aprovisionamiento de flotas .............................................................................................. 535

    Servicio de indexación de flota .......................................................................................................... 539Administración de la indexación de objetos ................................................................................. 539

    Habilitación de la indexación de objetos ............................................................................. 539Descripción de un índice de objeto .................................................................................... 545Consulta de un índice de objeto ........................................................................................ 546Restricciones y limitaciones .............................................................................................. 547Autorización .................................................................................................................... 549

    Administración de la indexación de grupos de objetos .................................................................. 549Habilitación de la indexación de grupos de objetos ............................................................... 549Descripción de índices de grupos ...................................................................................... 550Consulta de un índice de grupo de objetos ......................................................................... 550Autorización .................................................................................................................... 550

    Consulta de datos agregados ................................................................................................... 551GetStatistics ................................................................................................................... 551GetCardinality ................................................................................................................. 553GetPercentiles ................................................................................................................ 554Autorización .................................................................................................................... 555

    Sintaxis de la consulta ............................................................................................................. 555Ejemplo de consultas de objetos ............................................................................................... 556Ejemplo de consultas de grupo de objetos .................................................................................. 558

    AWS IoT Device Defender ............................................................................................................... 560AWS Training and Certification .................................................................................................. 560Auditar ................................................................................................................................... 560

    Gravedad del problema .................................................................................................... 560Pasos siguientes ............................................................................................................. 561Comprobaciones de auditoría ............................................................................................ 561Cómo realizar auditorías .................................................................................................. 587

    Comandos de auditoría ............................................................................................................ 594Administrar la configuración de auditorías ........................................................................... 594Programación de auditorías .............................................................................................. 599Ejecutar una auditoría bajo demanda ................................................................................. 607Administrar instancias de auditoría ..................................................................................... 609Comprobar resultados de auditoría .................................................................................... 615

    Acciones de mitigación ............................................................................................................ 621Cómo definir y administrar las acciones de mitigación ........................................................... 624Aplicación de acciones de mitigación ................................................................................. 627Permisos ........................................................................................................................ 632

    Comandos de las acciones de mitigación ................................................................................... 635CreateMitigationAction ...................................................................................................... 636UpdateMitigationAction ..................................................................................................... 640

    viii

  • AWS IoT Guía del desarrollador

    ListMitigationActions ........................................................................................................ 643DescribeMitigationAction ................................................................................................... 645DeleteMitigationAction ...................................................................................................... 650StartAuditMitigationActionsTask ......................................................................................... 650CancelAuditMitigationActionsTask ...................................................................................... 653ListAuditMitigationActionsExecutions .................................................................................. 654ListAuditMitigationActionsTasks ......................................................................................... 657DescribeAuditMitigationActionsTask ................................................................................... 660

    Detect .................................................................................................................................... 665Conceptos ...................................................................................................................... 666Comportamientos ............................................................................................................ 667Métricas ......................................................................................................................... 668Establecer el ámbito de las métricas en los perfiles de seguridad utilizando dimensiones ............. 679Cómo utilizar las dimensiones en la CLI de AWS ................................................................. 680Cómo utilizar las dimensiones en la consola ....................................................................... 683Monitorización del comportamiento de dispositivos no registrados ........................................... 687Cómo utilizar AWS IoT Device Defender Detect ................................................................... 688Permisos ........................................................................................................................ 689Envío de métricas desde dispositivos ................................................................................. 690

    Detectar comandos ................................................................................................................. 696AttachSecurityProfile ........................................................................................................ 697CreateDimension ............................................................................................................. 698CreateSecurityProfile ....................................................................................................... 699DeleteDimension ............................................................................................................. 701DeleteSecurityProfile ........................................................................................................ 702DescribeDimension .......................................................................................................... 702DescribeSecurityProfile ..................................................................................................... 703DetachSecurityProfile ....................................................................................................... 704ListActiveViolations .......................................................................................................... 705ListDimensions ................................................................................................................ 706ListSecurityProfiles .......................................................................................................... 707ListSecurityProfilesForTarget ............................................................................................. 708ListTargetsForSecurityProfile ............................................................................................. 708ListViolationEvents .......................................................................................................... 709UpdateDimension ............................................................................................................ 710UpdateSecurityProfile ....................................................................................................... 711ValidateSecurityProfileBehaviors ........................................................................................ 713

    Integración del agente de dispositivo con AWS IoT Greengrass ..................................................... 714Prácticas recomendadas de seguridad para agentes de dispositivos .............................................. 716

    Mensajes de los eventos .................................................................................................................. 719Eventos de registro ................................................................................................................. 720Eventos de Jobs ..................................................................................................................... 726Eventos del ciclo de vida ......................................................................................................... 729

    Eventos de conexión/desconexión ..................................................................................... 730Eventos de suscripción/cancelación de suscripción ............................................................... 732

    Integración de Alexa Voice Service (AVS) para AWS IoT ...................................................................... 734Introducción a la integración de Alexa Voice Service para AWS IoT en un dispositivo NXP .................. 735

    Vista previa de la integración de AVS para AWS IoT con una cuenta de NXP preconfigurada ....... 736Utilice sus cuentas de desarrollador de AWS y Alexa Voice Service para configurar AVS paraAWS IoT ........................................................................................................................ 739

    SDK de AWS IoT para dispositivos y móviles ...................................................................................... 742SDK de AWS Mobile para Android ............................................................................................ 742Arduino Yún SDK .................................................................................................................... 742AWS IoT Device SDK for Embedded C ...................................................................................... 743SDK de dispositivos de AWS IoT C++ ........................................................................................ 743AWS Mobile SDK para iOS ...................................................................................................... 743AWS IoT Device SDK for Java .................................................................................................. 743

    ix

  • AWS IoT Guía del desarrollador

    AWS IoT Device SDK for JavaScript .......................................................................................... 744AWS IoT Device SDK for Python .............................................................................................. 744

    Solución de problemas ..................................................................................................................... 745Diagnóstico de problemas de conectividad .................................................................................. 745

    Autenticación .................................................................................................................. 745Autorización .................................................................................................................... 745

    Diagnóstico de problemas de las reglas ..................................................................................... 745Diagnóstico de problemas relacionados con las sombras .............................................................. 746Diagnosticar problemas con acciones de Salesforce ..................................................................... 748

    Registro de seguimiento de ejecución ................................................................................ 748Éxito y error de una acción .............................................................................................. 748

    Solución de problemas de consultas de agregación en el servicio de indexación de flotas ................... 749Guía para solucionar problemas de AWS IoT Device Defender ...................................................... 750Errores de la AWS IoT ............................................................................................................ 752

    Cuotas de AWS IoT ........................................................................................................................ 754

    x

  • AWS IoT Guía del desarrolladorComponentes de AWS IoT

    ¿Qué es AWS IoT?AWS IoT proporciona una comunicación bidireccional segura entre los dispositivos conectados a Internet(como 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 susteléfonos o tablets.

    Componentes de AWS IoTAWS IoT está formado por los siguientes componentes:

    Integración Alexa Voice Service (AVS) para AWS IoT

    Integre Alexa Voice en cualquier dispositivo conectado. AVS para AWS IoT reduce el costo y lacomplejidad de la integración de Alexa. Esta función utiliza AWS IoT para transferir las tareas de audioque hacen un uso intensivo de procesos informáticos y de la memoria del dispositivo a la nube. Debidoa la reducción resultante en el costo de la factura de materiales de ingeniería (eBoM), los fabricantesde dispositivos ahora pueden incorporar Alexa en dispositivos IoT con recursos limitados de maneramás económica y permitir a los consumidores hablar directamente con Alexa en su hogar, oficina ohabitación del hotel y disfrutar así de una experiencia de sonido ambiente.

    AVS para AWS IoT permite la funcionalidad integrada de Alexa en MCU, como la clase ARM Cortex Mcon menos de 1 MB de RAM integrada. Para ello, AVS transfiere las tareas de memoria y computacióna un dispositivo virtual de Alexa integrado en la nube. Esto reduce el costo de eBoM hasta en un50 %. Para obtener más información, consulte Integración de Alexa Voice Service (AVS) para AWSIoT (p. 734).

    Servicio de autenticación personalizado

    Puede definir autorizadores personalizados para permitirle administrar su propia estrategia deautenticació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 autorizaroperaciones 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 debendevolver los documentos de la política que ha usado la puerta de enlace del dispositivo paraautorizar las operaciones de MQTT. Para obtener más información, consulte Autenticaciónpersonalizada (p. 133).

    Gateway de dispositivos

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

    Le permite aprovisionar dispositivos mediante una plantilla que describe los recursos necesarios parael dispositivo: un objeto, un certificado y una o varias políticas. Un objeto es una entrada en el registroque contiene atributos que describen un dispositivo. Los dispositivos usan certificados para realizar laautenticación con AWS IoT. Las políticas determinan qué operaciones pueden realizar los dispositivosen 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 diferentesvalores para las variables de la plantilla en el diccionario. Para obtener más información, consulteAprovisionamiento de dispositivos (p. 520).

    1

  • AWS IoT Guía del desarrolladorComponentes de AWS IoT

    Sombra del dispositivo

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

    Servicio Device Shadow

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

    Registro de grupos

    Los grupos permiten administrar varios dispositivos a la vez clasificándolos en grupos. Los grupostambién pueden contener otros grupos — puede crear una jerarquía de grupos. Cualquier acción querealice en un grupo principal se aplicará a sus grupos secundarios, así como a todos los dispositivosincluidos en el grupo principal y en sus grupos secundarios. Los permisos proporcionados a un grupose aplicarán a todos los dispositivos del grupo y a todos sus grupos secundarios. Para obtener másinformación, consulte Administración de dispositivos con AWS IoT (p. 95).

    Servicio de Jobs

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

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

    Agente de mensajes

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

    Registry (Registro)

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

    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 procesary enviar datos a otros servicios, como Amazon S3, Amazon DynamoDB y AWS Lambda. Tambiénpuede utilizar el agente de mensajes para volver a publicar mensajes para otros suscriptores. Paraobtener más información, consulte Reglas para AWS IoT (p. 272).

    Servicio de seguridad e identidad

    Comparte la responsabilidad de la seguridad en la nube de AWS. Los dispositivos deben protegersus credenciales para enviar datos de forma segura al agente de mensajes. El agente de mensajesy el motor de reglas utilizan las características de seguridad de AWS para enviar datos deforma segura a dispositivos u otros servicios de AWS. Para obtener más información, consulteAutenticación (p. 123).

    2

  • AWS IoT Guía del desarrolladorPrimeros pasos con AWS IoT

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

    Primeros pasos con AWS IoT• Para obtener más información acerca de la AWS IoT, consulte Funcionamiento de AWS IoT (p. 3).• Para obtener información sobre cómo conectar un dispositivo a AWS IoT, consulte Introducción a AWS

    IoT Core (p. 5).

    Acceso a AWS IoTAWS 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, macOSy Linux. Estos comandos le permiten crear y administrar objetos, certificados, reglas y políticas. Paraempezar, consulte AWS Command Line Interface Guía del usuario. Para obtener más informaciónacerca 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 laAPI le permiten crear y administrar objetos, certificados, reglas y políticas mediante programación. Paraobtener más información acerca de las acciones de la API para AWS IoT, consulte las acciones en lasreferencias de API de AWS IoT.

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

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

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

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

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

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

    • AWS Lambda—Ejecuta el código en servidores virtuales de Amazon EC2 en respuesta a eventos. Paraobtener 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 lasaplicaciones. Para obtener más información, consulte Amazon SQS.

    Funcionamiento de AWS IoTAWS IoT permite que los dispositivos con conexión a Internet puedan conectarse a la nube de AWSy que las aplicaciones en la nube puedan interactuar con los dispositivos conectados a Internet. Las

    3

    https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iothttps://docs.aws.amazon.com/cli/latest/userguide/https://docs.aws.amazon.com/cli/latest/reference/iot/index.htmlhttps://docs.aws.amazon.com/iot/latest/apireference/API_Operations.htmlhttp://aws.amazon.com/tools/#sdkhttps://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.htmlhttps://aws.amazon.com/s3/https://aws.amazon.com/dynamodb/https://aws.amazon.com/kinesis/https://aws.amazon.com/lambda/https://aws.amazon.com/sns/https://aws.amazon.com/sqs/

  • AWS IoT Guía del desarrolladorFuncionamiento de AWS IoT

    aplicaciones de IoT habituales recopilan y procesan telemetría de dispositivos, o bien permiten que losusuarios controlen un dispositivo de forma remota.

    El estado de cada dispositivo conectado a AWS IoT se almacena en una sombra de dispositivo. Elservicio Device Shadow administra las sombras de los dispositivos mediante la respuesta a las solicitudespara recuperar o actualizar los datos de estado del dispositivo. El servicio Device Shadow permite quelos dispositivos se comuniquen con las aplicaciones y que las aplicaciones se comuniquen con losdispositivos.

    La comunicación entre su dispositivo y AWS IoT se protege mediante certificados X.509. AWS IoT puedegenerar un certificado, o bien usted puede utilizar su propio certificado. En ambos casos, el certificadodebe registrarse y activarse en AWS IoT y, a continuación, copiarse en el dispositivo. Cuando el dispositivose comunica con AWS IoT, presenta el certificado a AWS IoT como credencial.

    Recomendamos que todos los dispositivos que se conecten con AWS IoT tengan una entrada en elregistro. El registro almacena información sobre un dispositivo y los certificados que este utiliza paraproteger las comunicaciones con AWS IoT.

    Puede crear reglas que definan una o varias acciones que deban ejecutarse en función de los datos deun mensaje. Por ejemplo, puede insertar, actualizar o consultar una tabla de DynamoDB o invocar unafunción Lambda. Las reglas usan expresiones para filtrar los mensajes. Cuando una regla coincide conun mensaje, el motor de reglas desencadena la acción mediante las propiedades seleccionadas. Lasreglas también contienen una función de IAM que concede permiso a AWS IoT sobre los recursos de AWSutilizados para desempeñar la acción.

    4

  • AWS IoT Guía del desarrolladorInicie sesión en la consola de AWS IoT

    Introducción a AWS IoT CoreEn este tutorial se muestra cómo crear los recursos necesarios para enviar, recibir y procesar mensajesMQTT de dispositivos que utilizan AWS IoT Core. Puede utilizar un cliente MQTT para emular undispositivo IoT.

    Para obtener más información acerca de AWS IoT Core, consulte ¿Qué es AWS IoT Core? (p. 1).

    Temas• Inicie sesión en la consola de AWS IoT (p. 5)• Crear un objeto (p. 6)• Registrar un dispositivo (p. 6)• Configuración del dispositivo (p. 12)• Visualización de los mensajes de MQTT de dispositivo con el cliente MQTT de AWS IoT (p. 12)• Configuración y comprobación de reglas (p. 14)• Creación y seguimiento de un trabajo de AWS IoT Core (p. 25)

    Inicie sesión en la consola de AWS IoTSi no tiene una cuenta de AWS, deberá crear una.

    Para crear una cuenta de AWS

    1. Abra la página de inicio de AWS y elija Crear una cuenta de AWS.2. Siga las instrucciones en línea. Parte del procedimiento de inscripción consiste en recibir una llamada

    telefónica e introducir un número PIN con su teclado de teléfono.3. Inicie sesión en la consola de administración de AWS y abra la consola de AWS IoT.4. En la página Welcome, elija Get started.

    5

    https://aws.amazon.com/https://console.aws.amazon.com/iot/home

  • AWS IoT Guía del desarrolladorCrear un objeto

    Si es la primera vez que utiliza la consola de AWS IoT, verá la página Welcome to the AWS IoTConsole (Le damos la bienvenida a la consola de ).

    Crear un objetoLos dispositivos conectados a AWS IoT están representados por objetos en el registro de AWS IoT. Unobjeto representa un dispositivo específico o una entidad lógica. Puede ser un dispositivo físico o unsensor (por ejemplo, una bombilla o un interruptor en la pared). También puede ser una entidad lógica,como una instancia de una aplicación o una entidad física que no se conecta con AWS IoT, pero que estárelacionada con otros dispositivos que sí lo están (por ejemplo, un automóvil con sensores de motor o unpanel de control).

    Crear un objeto

    1. En la página Le damos la bienvenida a la consola de AWS IoT, en el panel de navegación, seleccioneAdministración.

    2. En la página Aún no tiene ningún objeto, elija Registrar un objeto.3. En la página Creación de objetos de AWS IoT, elija Crear un solo objeto.4. En la página Creación de un objeto, en el campo Nombre, escriba un nombre para el objeto, por

    ejemplo, MyIotThing. Seleccione Siguiente. Para cambiar el nombre de un objeto, debe crear otroobjeto nueva, asignarle el nuevo nombre y eliminar después el objeto anterior.

    Note

    No es recomendable utilizar información de identificación personal en el nombre del objeto.

    Registrar un dispositivoEl registro le permite mantener un registro de todos los dispositivos que están registrados a su cuenta deAWS IoT Core. El proceso de registro del dispositivo incluye estos pasos:

    Temas• Creación y activación de un certificado de dispositivo (p. 6)• Crear una política de AWS IoT Core (p. 8)• Asociación de una política de AWS IoT Core a un certificado de dispositivo (p. 10)• Asociación de un certificado a un objeto (p. 11)

    Creación y activación de un certificado de dispositivoLa comunicación entre su dispositivo y AWS IoT Core se protege mediante certificados X.509. AWS IoTCore puede generar un certificado, o bien usted puede utilizar su propio certificado X.509. En este tutorial,AWS IoT Core generará el certificado X.509 automáticamente. Los certificados deben activarse para poderusarlos.

    1. Elija Create certificate.

    6

  • AWS IoT Guía del desarrolladorCreación y activación de un certificado de dispositivo

    2. En la página Certificate created (Certificado creado), elija los enlaces Download (Descargar) paradescargar el certificado, la clave privada y la CA raíz para AWS IoT Core. (No es necesario descargarla clave pública). Guárdelos en su equipo y, a continuación, elija Activate para continuar.

    Note

    El enlace Download (Descargar) de la CA raíz de AWS IoT le llevará a la páginaAutenticación de servidor, en la que debe elegir un certificado de CA. A diferencia de losdemás enlaces Download (Descargar) de la página, no descarga directamente un archivo.

    7

    server-authentication.html#server-authentication-certs

  • AWS IoT Guía del desarrolladorCrear una política de AWS IoT Core

    Tenga en cuenta que los nombres de los archivos descargados pueden ser distintos de los que figuranen la página El certificado se ha creado. Por ejemplo:

    • 2a540e2346-certificate.pem.crt• 2a540e2346-private.pem.key• 2a540e2346-public.pem.key

    Note

    Aunque sea poco probable, los certificados de CA raíz están sujetos a vencimiento yrevocación. Si esto ocurriese, deberá copiar un nuevo certificado de CA raíz en su dispositivo.

    3. Seleccione Listo para volver a la página principal de la consola de AWS IoT.

    Al trabajar con un dispositivo tendrá que copiar la clave privada y certificado de CA raíz en su dispositivo.Las instrucciones de esta guía se han escrito partiendo del supuesto de que no está utilizando undispositivo y simplemente se está familiarizando con la consola de AWS IoT.

    Crear una política de AWS IoT CoreLos certificados X.509 se utilizan para autenticar su dispositivo en AWS IoT Core. Las políticas de AWSIoT Core se utilizan para autorizar a su dispositivo a ejecutar operaciones de AWS IoT Core, comosuscribirse a temas MQTT o publicar en ellos. Su dispositivo presenta su certificado cuando envíemensajes a AWS IoT Core. Para permitir a su dispositivo llevar a cabo operaciones de AWS IoT Core,debe crear una política de AWS IoT Core y asociarla al certificado de su dispositivo.

    Para crear una política de AWS IoT Core

    1. En el panel de navegación de la izquierda, seleccione Seguridad y, a continuación, elija Políticas. Enla página You don't have a policy yet, elija Create a policy.

    8

  • AWS IoT Guía del desarrolladorCrear una política de AWS IoT Core

    2. En la página Crear una política, en el campo Nombre, escriba un nombre para la política (por ejemplo,MyIotPolicy). No utilice información personalmente identificable en sus nombres de política.

    3. En el campo Acción, escriba iot:Connect. En el campo ARN de recurso, escriba *. Marque lacasilla Allow. Esto permite que todos los clientes se conecten a AWS IoT Core.

    Note

    Puede restringir qué clientes (dispositivos) pueden conectarse, especificando un ARN decliente como recurso. Los ARN de cliente tienen este formato:arn:aws:iot:your-region:your-aws-account:client/

    4. Seleccione el botón Añadir declaración para agregar otra instrucción de política. En el campo Acción,escriba iot:Publish. En el campo Resource ARN (ARN de recurso), escriba el ARN del tema en elque su dispositivo va a publicar.

    Note

    El ARN de tema tiene este formato:arn:aws:iot:your-region:your-aws-account:topic/Por ejemplo:arn:aws:iot:us-east-1:123456789012:topic/my/topic

    5. Por último, marque la casilla Allow. Esto permite a su dispositivo publicar mensajes en el temaespecificado.

    6. Una vez que haya especificado la información de su política, elija Create.

    Para obtener más información, consulte Administración de políticas de AWS IoT Core.

    9

    https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html

  • AWS IoT Guía del desarrolladorAsociación de una política de AWS IoT

    Core a un certificado de dispositivo

    Asociación de una política de AWS IoT Core a uncertificado de dispositivoAhora que ha creado una política, debe asociarla a su certificado de dispositivo. Si asocia una política deAWS IoT Core a un certificado, dará al dispositivo los permisos especificados en la política.

    1. En el panel de navegación de la izquierda, seleccione Seguridad y, a continuación, elija Certificados.2. En la casilla del certificado que ha creado, elija ... para abrir un menú desplegable y, a continuación,

    elija Attach policy (Asociar política).

    3. En el cuadro de diálogo Asociar políticas a los certificados, marque la casilla de verificación junto a lapolítica que ha creado en el paso anterior y, a continuación, seleccione Adjunte.

    10

  • AWS IoT Guía del desarrolladorAsociación de un certificado a un objeto

    Asociación de un certificado a un objetoUn dispositivo debe tener un certificado, una clave privada y un certificado de entidad de certificación raízpara autenticarse en AWS IoT Core. También le recomendamos asociar el certificado del dispositivo alobjeto de IoT que representa a su dispositivo en AWS IoT Core. Esto le permite crear políticas de AWSIoT Core que concedan permisos según los certificados asociados a sus objetos. Para obtener másinformación, consulte Variables de la política de objeto (p. 148).

    Para asociar un certificado al objeto que representa el dispositivo en el registro

    1. En la casilla del certificado que ha creado, elija ... para abrir un menú desplegable y, a continuación,elija Attach thing (Asociar objeto).

    2. En el cuadro de diálogo Asociar objetos a los certificados, marque la casilla situada junto al objeto queha registrado y, a continuación, elija Adjunte.

    3. Para verificar que el objeto esté asociado, seleccione la casilla del certificado.

    11

  • AWS IoT Guía del desarrolladorConfiguración del dispositivo

    4. En el panel de navegación izquierdo de la página Details (Detalles) del certificado, elija Things(Objetos).

    5. Para verificar que la política se haya asociado, en el panel de navegación izquierdo de la páginaDetails del certificado, elija Policies.

    Configuración del dispositivoTodos los dispositivos deben tener un certificado de dispositivo, una clave privada y un certificado deentidad de certificación raíz instalado para comunicarse con AWS IoT Core. Consulte la documentación desu dispositivo para saber cómo conectarse a él y copiar el certificado de dispositivo, la clave privada y elcertificado de CA raíz.

    Si no dispone de un dispositivo listo para IoT, puede utilizar el cliente MQTT, los SDK de dispositivosde AWS IoT o la CLI de AWS. Para obtener más información, consulte la sección Uso de los SDK dedispositivos de AWS IoT en Raspberry Pi (p. 78). Los tutoriales utilizan un Raspberry Pi, pero puedenadaptarse de manera sencilla para su uso con otros tipos de equipos.

    Visualización de los mensajes de MQTT dedispositivo con el cliente MQTT de AWS IoT

    Puede utilizar el cliente MQTT de AWS IoT para comprender mejor los mensajes de MQTT enviados porun dispositivo.

    Los dispositivos publican los mensajes MQTT en temas. Puede utilizar el cliente MQTT de AWS IoT parasuscribirse a estos temas para ver los mensajes.

    12

  • AWS IoT Guía del desarrolladorVisualización de los mensajes de MQTT dedispositivo con el cliente MQTT de AWS IoT

    Para ver los mensajes MQTT

    1. En la consola de AWS IoT, en el panel de navegación izquierdo, elija Test (Probar).

    2. Suscríbase al tema en el que publica su objeto de IoT. Continuando con este ejemplo, en Suscribirsea un tema, en el campo Tema de suscripción escriba my/topic y, a continuación, elija Suscribirse altema.

    El tema my/topic aparece en la columna Suscripciones.

    13

    https://console.aws.amazon.com/iot/home

  • AWS IoT Guía del desarrolladorConfiguración y comprobación de reglas

    Para emular un objeto de IoT enviando un mensaje

    • En la página del cliente MQTT, en la sección Publicación, en el campo Especifique un tema y elmensaje que desea publica, escriba my/topic. No utilice información personalmente identificable ensus nombres de temas.

    En la sección de carga del mensaje, introduzca el siguiente JSON:

    { "message": "Hello, world", "clientType": "MQTT client"}

    Elija Publish to topic. Debería ver el mensaje en el cliente MQTT de AWS IoT. (Elija my/topic en lacolumna Suscripciones par ver el mensaje).

    Configuración y comprobación de reglasEl motor de reglas de AWS IoT; escucha los mensajes de MQTT de entrada que coinciden con una regla.Cuando se recibe un mensaje que coincide, la regla actúa con los datos del mensaje MQTT (por ejemplo,

    14

  • AWS IoT Guía del desarrolladorCreación de un tema de SNS

    escribe datos en un bucket de Amazon S3, invoca una función de Lambda o envía un mensaje a un temade Amazon SNS). En este paso, crea y configura una regla para enviar los datos recibidos desde undispositivo a un tema de Amazon SNS. En concreto, puede:

    • Crear un tema de Amazon SNS.• Suscribirse al tema de Amazon SNS utilizando un número de teléfono móvil.• Crear una regla que envíe un mensaje al tema de Amazon SNS al recibir un mensaje de su dispositivo.• Pruebe la regla utilizando el cliente de MQTT.

    Creación de un tema de SNSUtilice la consola de Amazon SNS para crear un tema de Amazon SNS.

    Note

    Amazon SNS no está disponible en todas las regiones de AWS.

    1. Abra la consola de Amazon SNS.2. En el panel de la izquierda, elija Topics.

    3. Elija Create new topic.

    4. Escriba un nombre de tema y otro de visualización y, a continuación, seleccione Create topic (Creartema). No utilice información personalmente identificable en sus nombres de temas de Amazon SNS.

    15

    https://console.aws.amazon.com/sns/v2/home

  • AWS IoT Guía del desarrolladorCreación de un tema de SNS

    5. Anote el ARN del tema que acaba de crear.

    16

  • AWS IoT Guía del desarrolladorSuscripción a un tema de Amazon SNS

    Suscripción a un tema de Amazon SNSPara recibir SMS en su teléfono móvil, suscríbase al tema de Amazon SNS.

    1. En la consola de Amazon SNS, seleccione la casilla situada junto al tema que acaba de crear. En elmenú Actions, seleccione Subscribe to topic.

    2. En Create subscription, en la lista desplegable Protocol, elija SMS.

    17

  • AWS IoT Guía del desarrolladorSuscripción a un tema de Amazon SNS

    En el campo Punto de conexión, escriba el número de un teléfono móvil habilitado para SMS y, acontinuación, elija Create subscription (Crear suscripción).

    Note

    Escriba el número de teléfono utilizando únicamente números y guiones.

    La consola de Amazon SNS muestra el siguiente mensaje, pero es posible que no reciba un mensaje SMSde confirmación.

    18

  • AWS IoT Guía del desarrolladorCrear una regla

    Crear una reglaLas reglas de AWS IoT Core se componen de un filtro de temas, una acción de regla y, en la mayoría delos casos, un rol de IAM. Los mensajes publicados en temas que coinciden con el filtro de temas activan laregla. La acción de la regla define qué acción ejecutar cuando se activa la regla. El rol de IAM contiene unao varias políticas de IAM que determinan a qué servicios de AWS puede tener acceso la regla. Puede crearvarias reglas que escuchan un único tema. Del mismo modo, puede crear una única regla que se activacon varios temas. El motor de reglas de AWS IoT Core procesa constantemente los mensajes publicadosen temas que coinciden con los filtros de temas definidos en las reglas.

    En este ejemplo, se crea una regla que utiliza Amazon SNS para enviar una notificación por SMS a unteléfono móvil.

    1. En la consola de AWS IoT, en el panel de navegación izquierdo, elija Act (Actuar).

    2. En la página Act, seleccione Create a rule.

    3. En la página Crear una regla, en el campo Nombre, escriba un nombra para la regla.Note

    No es recomendable utilizar datos personales en los nombres de las reglas.

    19

  • AWS IoT Guía del desarrolladorCrear una regla

    En el campo Descripción, escriba una descripción para la regla.

    4. Desplácese hacia abajo hasta Rule query statement (Instrucción de consulta de regla). Seleccione laúltima versión en la lista desplegable de Using SQL version. En el campo Instrucción de consulta deregla, introduzca SELECT * FROM 'my/topic'.

    SELECT * especifica que desea enviar todo el mensaje MQTT que ha activado la regla. FROM 'my/topic' es el filtro de temas. El motor de reglas utiliza el filtro de temas para determinar qué reglasdeben activarse cuando se recibe un mensaje MQTT.

    5. En Set one or more actions, elija Add action.

    6. En la página Seleccionar una acción, elija Enviar un mensaje como una notificación push SNS y, acontinuación, elija Configurar acción.

    20

  • AWS IoT Guía del desarrolladorCrear una regla

    21

  • AWS IoT Guía del desarrolladorCrear una regla

    7. En la página Configurar acción, en Destino de SNS, elija Seleccionar para ampliar el tema de SNS. Acontinuación, elija Seleccionar junto al tema de Amazon SNS que creó anteriormente. En Formato demensaje, elija JSON.

    8. Ahora dé permiso a AWS IoT Core para publicar en el tema de Amazon SNS en su nombre cuando seactive la regla. Elija Create a new role. En Nombre de rol de IAM, escriba un nombre para el nuevo roly, a continuación, elija Crear un nuevo rol.

    9. En Nombre de rol de IAM, elija Actualizar rol para aplicar los permisos al rol recién creado. Elija el roly, a continuación, elija Añadir acción.

    22

  • AWS IoT Guía del desarrolladorCrear una regla

    10. En la página Create a Rule, seleccione Create rule.

    23

  • AWS IoT Guía del desarrolladorCrear una regla

    24

  • AWS IoT Guía del desarrolladorComprobación de la regla de Amazon SNS

    Para obtener más información sobre la creación de reglas, consulte Reglas de AWS IoT Core.

    Comprobación de la regla de Amazon SNSPuede utilizar el cliente MQTT de AWS IoT para probar la regla.

    1. En la consola de AWS IoT, en el panel de navegación izquierdo, elija Test (Probar).2. En la página de cliente MQTT, en la sección Publicación, en el campo Especifique un tema y el

    mensaje que desea publicar, escriba my/topic o el tema que ha utilizado en la regla. En la secciónde carga del mensaje, introduzca el siguiente JSON:

    { "default": "Hello, from AWS IoT console", "message": "Hello, from AWS IoT console"}

    3. Elija Publish to topic. Debería recibir un mensaje de Amazon SNS en su teléfono móvil.

    ¡Enhorabuena! Ha creado y configurado correctamente una regla que envía los datos recibidos de undispositivo a un tema de Amazon SNS.

    Pasos siguientesPara obtener más información sobre las reglas de AWS IoT Core, consulte Tutoriales de reglas de AWSIoT Core (p. 39) y Reglas de AWS IoT Core (p. 272).

    Creación y seguimiento de un trabajo de AWS IoTCore

    Puede usar trabajos de AWS IoT Core le permiten implementar y realizar seguimiento a tareas deadministración en su flota de dispositivos. Puede utilizar trabajos para enviar acciones remotas a unoo varios dispositivos a la vez, controlar la implementación de trabajos en sus dispositivos y realizar unseguimiento del estado actual y pasado de las ejecuciones de trabajos en cada dispositivo.

    En este tema le enseñamos a crear e implementar un trabajo de ejemplo en un dispositivo. Le guiaremospor los pasos necesarios para crear un trabajo y realizar un seguimiento de sus eventos en un dispositivoque esté configurado para comunicarse con AWS IoT Core. En estas instrucciones se presupone que estáutilizando Raspberry Pi, pero se podrían adaptar para otros dispositivos basados en Linux.

    A continuación se indican algunos escenarios de ejemplo para utilizar trabajos:

    • Actualizar el firmware de dispositivos, software o archivos, como certificados de seguridad.• Realizar tareas administrativas, como el reinicio de dispositivos o la realización de diagnósticos.• Restaurar dispositivos a la configuración de fábrica u otros estados correctos conocidos.

    Conectar su dispositivo a AWS IoTSiga estos pasos para conectar una Raspberry Pi a AWS IoT Core.

    1. Siga las instrucciones de Conexión de Raspberry Pi. Cuando haya terminado, tendrá un objeto deAWS IoT Core registrado en la cuenta de AWS. También tendrá certificados de seguridad totalmenteconfigurados en su dispositivo.

    25

    https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.htmlhttps://console.aws.amazon.com/iot/homesdk-tutorials.html

  • AWS IoT Guía del desarrolladorEjecución del trabajo de ejemplo

    2. Complete los pasos del tutorial Uso de AWS IoT Device SDK para JavaScript. Cuando hayaterminado, el dispositivo estará conectado a AWS IoT Core, y podrá ejecutar el código de muestra queviene con el AWS IoT Device SDK para JavaScript.

    Ahora, su dispositivo estará listo para utilizar trabajos de AWS IoT Core.

    Ejecución del trabajo de ejemploEl AWS IoT Device SDK para JavaScript incluye un ejemplo llamado jobs-example.js. El ejemplo puederecibir mensajes de la consola de AWS IoT para verifiar la conectividad. También puede recibir y procesarejecuciones de trabajos que se originan en el servicio Jobs de AWS IoT Core.

    Puede ejecutar este ejemplo utilizando el siguiente comando. Utilice el punto de enlace REST de suRaspberry Pi como valor del parámetro -H.

    node examples/jobs-example.js -f ~/certs -H .iot..amazonaws.com -T thingName

    Si ha creado un archivo de configuración que contiene el nombre del objeto y el punto de enlace del host(el punto de enlace REST de su dispositivo), puede usar el siguiente comando.

    node examples/jobs-example.js –f ./certs –F your config file name.json

    Crear un documento de trabajoLos documentos de trabajo son documentos JSON que contienen la información que necesita sudispositivo para realizar un trabajo. El AWS IoT Device SDK para JavaScript utiliza una propiedaddenominada operation para dirigir los documentos de trabajo a controladores específicos. El programajobs-example.js tiene un controlador de ejemplo para una operación denominada customJob. Paracrear un documento de trabajo con el nombre example-job.json para este controlador, el archivo debecontener el siguiente objeto JSON.

    { "operation":"customJob", "otherInfo":"someValue"}

    Para ver más documentos de trabajo de ejemplo, consulte la documentación de la muestra jobs-agent.js.

    Crear una tareaAhora estará listo para crear un trabajo que entregue el documento de trabajo a todos los dispositivos queespecifique.