Primeros pasos con AWS IoT Analytics (consola) - AWS IoT Analytics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Primeros pasos con AWS IoT Analytics (consola)

Utilice este tutorial para crear los recursos de AWS IoT Analytics (también conocidos como componentes) que necesita para descubrir información útil sobre los datos de sus dispositivos de IoT.

Notas
  • Si introduce caracteres en mayúscula en el siguiente tutorial, AWS IoT Analytics los cambia automáticamente a minúsculas.

  • La consola de AWS IoT Analytics tiene una característica de inicio con un solo clic para crear un canal, una canalización, un almacén de datos y un conjunto de datos. Encontrará esta característica al iniciar sesión en la consola de AWS IoT Analytics.

    • Este tutorial le explicará los pasos para crear sus recursos de AWS IoT Analytics.

Siga las instrucciones que aparecen a continuación para crear un canal, una canalización, un almacén de datos y un conjunto de datos de AWS IoT Analytics. El tutorial también muestra cómo usar la consola AWS IoT Core para enviar los mensajes que se ingerirán en AWS IoT Analytics.

Inicie sesión en la consola de AWS IoT Analytics.

Para empezar, debe tener una cuenta de AWS. Si ya tiene una cuenta de AWS, vaya a https://console.aws.amazon.com/iotanalytics/.

Si no dispone de una cuenta de AWS, siga estos pasos para crear una.

Para crear una cuenta de AWS
  1. Abra https://portal.aws.amazon.com/billing/signup.

  2. Siga las instrucciones en línea.

    Parte del procedimiento de inscripción consiste en recibir una llamada telefónica e indicar un código de verificación en el teclado del teléfono.

    Al registrarse en una Cuenta de AWS, se crea un Usuario raíz de la cuenta de AWS. El usuario raíz tiene acceso a todos los recursos y Servicios de AWS de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario administrativo y utilice únicamente el usuario raíz para realizar la ejecución tareas que requieren acceso de usuario raíz.

  3. Inicie sesión en AWS Management Console y vaya a https://console.aws.amazon.com/iotanalytics/.

Crear un canal

Un canal recopila y archiva datos de dispositivos de IoT sin procesar y no estructurados. Siga estos pasos para crear un canal.

Para crear un canal
  1. En https://console.aws.amazon.com/iotanalytics/, en la sección Preparación de sus datos con AWS IoT Analytics, seleccione Ver canales.

    
      Captura de pantalla de "Preparación de sus datos con AWS IoT Analytics".
    sugerencia

    También puede seleccionar Canales en el panel de navegación.

  2. En la página Channels (Canales), seleccione Create channel (Crear canal).

  3. En la página de Especificación de los detalles del canal, introduzca los detalles de su canal.

    1. Introduzca un nombre de canal que sea único y que pueda identificar fácilmente.

    2. (Opcional) En Etiquetas, agregue una o más etiquetas personalizadas (pares clave-valor) al canal. Las etiquetas pueden ayudarlo a identificar los recursos que usted crea en AWS IoT Analytics.

    3. Seleccione Next (Siguiente).

  4. AWS IoT Analytics almacena datos de dispositivos IoT sin procesar en un bucket de Amazon Simple Storage Service (Amazon S3). Puede elegir su propio bucket de Amazon S3, al que puede acceder y administrar, o bien, AWS IoT Analytics puede administrar el bucket de Amazon S3 por usted.

    1. En este tutorial, en Storage type, seleccione Almacenamiento administrado por servicio.

    2. En Elegir durante cuánto tiempo desea almacenar los datos sin procesar, seleccione Indefinidamente.

    3. Seleccione Next (Siguiente).

  5. En la página Configurar la fuente, introduzca la información para que AWS IoT Analytics recopile los datos de los mensajes de AWS IoT Core.

    1. Introduzca un filtro de tema de AWS IoT Core, por ejemplo, update/environment/dht1. Más adelante en este tutorial, utilizará este filtro de tema para enviar datos de mensajes a su canal.

    2. En el área rol de IAM, seleccione Crear nuevo. En la ventana Crear un nuevo rol, escriba un nombre para el rol y, a continuación, seleccione Crear rol. Esto crea automáticamente un rol con una política apropiada adjunta.

    3. Seleccione Next (Siguiente).

  6. Revise las opciones seleccionadas y, a continuación, elija Crear canal.

  7. Verifique que su nuevo canal aparezca en la página Canales.

Crear un almacén de datos

Un almacén de datos recibe y almacena los datos de los mensajes. Un almacén de datos no es una base de datos. En cambio, un almacén de datos es un repositorio escalable y consultable en un bucket de Amazon S3. Puede usar varios almacenes de datos para los mensajes de diferentes dispositivos o ubicaciones. O bien, puede filtrar los datos de los mensajes en función de la configuración y los requisitos de la canalización.

Siga estos pasos para crear un almacén de datos.

Para crear un almacén de datos
  1. En https://console.aws.amazon.com/iotanalytics/, en la sección Preparación de sus datos con AWS IoT Analytics, seleccione Ver almacenes de datos.

  2. En la página Almacenamiento de datos, seleccione Crear un almacén de datos.

  3. En la página Especificar detalles del almacén de datos, introduzca la información básica sobre el almacén de datos.

    1. En ID del almacén de datos, introduzca un ID de almacén de datos único. No se puede cambiar este ID después de crearlo.

    2. (Opcional) En el caso de Etiquetas, seleccione Agregar nueva etiqueta para agregar una o más etiquetas personalizadas (pares clave-valor) al almacén de datos. Las etiquetas pueden ayudarlo a identificar los recursos que usted crea en AWS IoT Analytics.

    3. Seleccione Next (Siguiente).

  4. En la página Configuración del tipo de almacenamiento, especifique de qué forma se almacenarán los datos.

    1. En Tipo de almacenamiento, seleccione Almacenamiento administrado por servicio.

    2. En Configurar durante cuánto tiempo desea conservar los datos procesados, seleccione Indefinidamente.

    3. Seleccione Next (Siguiente).

  5. Los almacenes de datos de AWS IoT Analytics admiten los formatos de archivo JSON y Parquet. Para el formato de datos de un almacén de datos, seleccione JSON o Parquet. Para más información sobre los tipos de AWS IoT Analytics compatibles, consulte Formatos de archivo.

    Seleccione Next (Siguiente).

  6. (Opcional) AWS IoT Analytics admite particiones personalizadas en un almacén de datos para que pueda consultar datos depurados y mejorar la latencia. Para más información sobre las particiones personalizadas compatibles, consulte Particiones personalizadas.

    Seleccione Next (Siguiente).

  7. Revise las opciones seleccionadas y, a continuación, elija Crear un almacén de datos.

  8. Compruebe que el nuevo almacén de datos aparezca en la página de Almacenes de datos.

Cree una canalización

Debe crear una canalización para conectar un canal a un almacén de datos. Una canalización básica solo especifica el canal que recopila los datos e identifica el almacén de datos al que se envían los mensajes. Para obtener más información, consulte Pipeline activities (Canalización de actividades).

Para este tutorial, debe crear una canalización que solo conecte un canal a un almacén de datos. A continuación, puede agregar actividades de canalización para procesar estos datos.

Siga estos pasos para crear una canalización.

Para crear una canalización
  1. En https://console.aws.amazon.com/iotanalytics/, en la sección Preparación de sus datos con AWS IoT Analytics, seleccione Ver canalizaciones.

    sugerencia

    También puede elegir Canalizaciones en el panel de navegación.

  2. En la página Canalizaciones, seleccione Crear canalización.

  3. Introduzca los detalles de la canalización.

    1. En Configurar el ID y las fuentes de la canalización, introduzca el nombre de la canalización.

    2. Seleccione la fuente de su canalización, que es un canal de AWS IoT Analytics desde el cual su canalización leerá los mensajes.

    3. Especifique la salida de su canalización, que es el almacén de datos en el que se almacenan los datos de los mensajes procesados.

    4. (Opcional) En Etiquetas, agregue una o más etiquetas personalizadas (pares clave-valor) a la canalización.

    5. En la página Inferir los atributos de los mensajes, escriba un nombre de atributo y un valor de ejemplo, seleccione un tipo de datos de la lista y, a continuación, seleccione Añadir atributo.

    6. Repita el paso anterior para todos los atributos que necesite y, a continuación, seleccione Siguiente.

    7. En este momento no añadirá ninguna actividad de canalización. En la página Enriquecer, transformar y filtrar mensajes, seleccione Siguiente.

  4. Revise las opciones seleccionadas y, a continuación, elija Crear canalización.

  5. Compruebe que la nueva canalización aparezca en la página Canalizaciones.

nota

Ha creado recursos de AWS IoT Analytics para que estos puedan realizar lo siguiente:

  • Recopilar datos de mensajes de dispositivos IoT sin procesar con un canal.

  • Guardar los datos de mensajes de su dispositivo IoT en un almacén de datos.

  • Limpiar, filtrar, transformar y enriquecer sus datos con una canalización.

A continuación, creará un conjunto de datos SQL de AWS IoT Analytics para conocer información útil sobre su dispositivo de IoT.

Crear un conjunto de datos

nota

Un conjunto de datos suele ser un conjunto de datos que puede o no estar organizado en forma tabular. Por el contrario, AWS IoT Analytics crea el conjunto de datos mediante la aplicación de una consulta SQL a los datos del almacén de datos.

Ahora dispone de un canal que dirige los datos de mensajes sin procesar a una canalización que los almacena en un almacén de datos donde se pueden consultar. Para consultar los datos, se crea un conjunto de datos. Los conjuntos de datos contienen sentencias y expresiones SQL que se utilizan para consultar el almacén de datos junto con una programación opcional que repite la consulta en el día y la hora que se especifique. Puede utilizar expresiones similares a expresiones de programación de Amazon CloudWatch para crear las programaciones opcionales.

Para crear un conjunto de datos
  1. En https://console.aws.amazon.com/iotanalytics/, en el panel de navegación izquierdo, seleccione Conjuntos de datos.

  2. En la página Crear conjunto de datos, seleccione Crear SQL.

  3. En la página Especificar los detalles del conjunto de datos, especifique los detalles del conjunto de datos.

    1. Escriba un nombre para el conjunto de datos.

    2. Para Fuente del almacén de datos, seleccione el ID único que identifica al almacén de datos que creó anteriormente.

    3. (Opcional) En Etiquetas, agregue una o más etiquetas personalizadas (pares clave-valor) al conjunto de datos.

  4. Utilice expresiones SQL para consultar los datos y responder a las preguntas analíticas. Los resultados de la consulta se almacenan en este conjunto de datos.

    1. En el campo Consulta del autor, introduzca una consulta SQL que utilice un comodín para mostrar hasta cinco filas de datos.

      SELECT * FROM my_data_store LIMIT 5

      Para obtener más información sobre las funciones de SQL compatibles en AWS IoT Analytics, consulte Expresiones SQL en AWS IoT Analytics.

    2. Puede elegir Probar consulta para validar que la entrada es correcta y mostrar los resultados en una tabla después de la consulta.

      nota
      • En este punto del tutorial, es posible que su almacén de datos esté vacío. Al ejecutar una consulta SQL en un almacén de datos vacío, no se obtendrán resultados, por lo que es posible que solo vea __dt.

      • Debe tener cuidado de limitar la consulta SQL a un tamaño razonable para que no se ejecute durante un período prolongado, ya que Athena limita el número máximo de consultas en ejecución. Por ello, debe tener cuidado de limitar la consulta SQL a un tamaño razonable.

        Le sugerimos que utilice una cláusula LIMIT en la consulta durante las pruebas. Una vez que la prueba se haya realizado correctamente, se puede eliminar esta cláusula.

  5. (Opcional) Al crear el contenido de un conjunto de datos con datos de un período de tiempo específico, es posible que algunos datos no lleguen a tiempo para su procesamiento. Para permitir un retraso, puede especificar un desplazamiento o tiempo delta. Para obtener más información, consulte Obtención de notificaciones de datos atrasados a través de Eventos de Amazon CloudWatch.

    En este momento no configurará un filtro de selección de datos. En la página Configurar el filtro de selección de datos, seleccione Siguiente.

  6. (Opcional) Puede programar esta consulta para que se ejecute con regularidad a fin de actualizar el conjunto de datos. Las programaciones de los conjuntos de datos se pueden crear y editar en cualquier momento.

    No va a programar una ejecución recurrente de la consulta en este momento; por tanto, en la página Definir programación de la consulta, elija Siguiente.

  7. AWS IoT Analytics creará versiones del contenido de este conjunto de datos y almacenará los resultados de sus análisis durante el período especificado. La recomendación es 90 días, pero puede optar por establecer su propia política de retención personalizada. También puede limitar el número de versiones almacenadas del contenido de su conjunto de datos.

    Puede usar el período de retención del conjunto de datos predeterminado como Indefinidamente y mantener el Control de versiones desactivado. En la página Configurar los resultados de sus análisis, seleccione Siguiente.

  8. (Opcional) Puede configurar las reglas de entrega de los resultados de su conjunto de datos a un destino específico, por ejemplo AWS IoT Events.

    No enviará los resultados a ningún otro lugar de este tutorial, por lo que en la página Configurar las reglas de entrega del contenido del conjunto de datos, seleccione Siguiente.

  9. Revise las opciones seleccionadas y, a continuación, elija Crear conjunto de datos.

  10. Compruebe que su nuevo conjunto de datos aparezca en la página Conjuntos de datos.

Envío de datos de mensajes con AWS IoT

Si tiene un canal que redirige los datos a una canalización, que almacena datos en un almacén de datos donde se pueden consultar, entonces está preparado para enviar datos de dispositivos IoT a AWS IoT Analytics. Puede enviar datos a AWS IoT Analytics a través de las siguientes opciones:

  • Utilice el agente de mensajes de AWS IoT.

  • Utilice la operación BatchPutMessage de la API de AWS IoT Analytics.

En los siguientes pasos, envíe los datos de mensajes desde el agente de mensajes de AWS IoT en la consola de AWS IoT Core para que AWS IoT Analytics pueda ingerir estos datos.

nota

Cuando cree nombres de tema para sus mensajes, tenga en cuenta lo siguiente:

  • Los nombres de los temas no distinguen entre mayúsculas y minúsculas. Los campos denominados example y EXAMPLE en la misma carga se considerarán duplicados.

  • Los nombres de tema no pueden empezar con el carácter $. Los temas que comienzan por $ son temas reservados y solo pueden ser utilizados por AWS IoT.

  • No incluya información de identificación personal en los nombres de tema, ya que esta información puede aparecer en comunicaciones e informes no cifrados.

  • AWS IoT Core no puede enviar entre cuentas AWS o regiones de AWS.

Para enviar datos de mensajes con AWS IoT
  1. Inicie sesión en la consola de AWS IoT.

  2. En el panel de navegación, seleccione Probar y, a continuación, seleccione el cliente de prueba MQTT.

  3. En el cliente MQTT, seleccione Publicar en un tema.

  4. En Nombre de tema, escriba un nombre que coincida con el filtro de tema que introdujo al crear un canal. En este ejemplo se utiliza update/environment/dht1.

  5. En Carga de mensajes, introduzca el siguiente contenido JSON.

    { "thingid": "dht1", "temperature": 26, "humidity": 29, "datetime": "2018-01-26T07:06:01" }
  6. (Opcional) Seleccione Añadir configuración para ver más opciones de protocolo de mensajes.

  7. Seleccione Publish (Publicar).

    De este modo, se publica un mensaje que es capturado por el canal. A continuación, la canalización dirige el mensaje al almacén de datos.

Comprobación del progreso de mensajes de AWS IoT

Puede comprobar que los mensajes se están insertando en su canal siguiendo estos pasos.

Para comprobar el progreso de mensajes de AWS IoT
  1. Inicie sesión en https://console.aws.amazon.com/iotanalytics/.

  2. En el panel de navegación, seleccione Canales y, a continuación, seleccione el nombre del canal que creó anteriormente.

  3. En la página Detalles del canal, desplácese hacia abajo hasta la sección Monitorización y, a continuación, ajuste el periodo de tiempo que se muestra (1h 3h 12h 1d 3d 1w). Seleccione un valor, como, por ejemplo, 1w para ver los datos de la última semana.

Puede usar una característica similar para monitorear la actividad, el tiempo de ejecución y los errores de la canalización en la página de Detalles de la canalización. En este tutorial, no ha especificado actividades como parte de la canalización, por lo que no debería ver ningún error de tiempo de ejecución.

Para monitorear la actividad de la canalización
  1. En el panel de navegación, seleccione Canalizaciones y, a continuación, seleccione el nombre de la canalización que creó anteriormente.

  2. En la página Detalles de la canalización, desplácese hacia abajo hasta la sección Monitorización y, a continuación, ajuste el periodo de tiempo que se muestra seleccionando uno de los indicadores del periodo de tiempo (1h 3h 12h 1d 3d 1w).

Acceder a los resultados de la consulta

El contenido del conjunto de datos es un archivo que contiene el resultado de su consulta, en formato CSV.

  1. En https://console.aws.amazon.com/iotanalytics/, en el panel de navegación izquierdo, seleccione Conjuntos de datos.

  2. En la página Conjuntos de datos, seleccione el nombre del conjunto de datos que creó anteriormente.

  3. En la página de información del conjunto de datos, en la esquina superior derecha, seleccione Ejecutar ahora.

  4. Para comprobar si el conjunto de datos está listo, busque debajo del conjunto de datos un mensaje similar a este: Ha iniciado correctamente la consulta para su conjunto de datos. En la pestaña Contenido del conjunto de datos figuran los resultados de la consulta y se muestra el mensaje Se ha realizado con éxito.

  5. Para obtener una vista previa de los resultados de la consulta realizada con éxito, en la pestaña Contenido del conjunto de datos, seleccione el nombre de la consulta. Para ver o guardar el archivo CSV que contiene los resultados de la consulta, seleccione Descargar.

    nota

    AWS IoT Analytics puede insertar la parte HTML de un cuaderno de Jupyter en la página Contenido del conjunto de datos. Para obtener más información, consulte Visualización de datos de AWS IoT Analytics con la consola.

Explore sus datos

Dispone de varias opciones para almacenar, analizar y visualizar sus datos.

Amazon Simple Storage Service

Puede enviar contenido de un conjunto de datos a un bucket de Amazon S3, lo que permite la integración con los lagos de datos existentes o el acceso desde aplicaciones internas y herramientas de visualización. Consulte el campo contentDeliveryRules::destination::s3DestinationConfiguration en la operación Crear un conjunto de datos.

AWS IoT Events

Puede enviar el contenido del conjunto de datos como una entrada a AWS IoT Events, un servicio que le permite supervisar dispositivos o procesos para ver si se producen errores o cambios en el funcionamiento, e iniciar acciones adicionales cuando se produzcan dichos eventos.

Para ello, cree un conjunto de datos mediante la operación CreateDataset y especifique una entrada de AWS IoT Events en el campo contentDeliveryRules :: destination :: iotEventsDestinationConfiguration :: inputName. También debe especificar el rol roleArn, que otorga permisos de AWS IoT Analytics para ejecutar iotevents:BatchPutMessage. Siempre que se cree el contenido del conjunto de datos, AWS IoT Analytics enviará cada entrada del contenido del conjunto de datos como un mensaje a la entrada especificada de AWS IoT Events. Por ejemplo, si su conjunto de datos incluye el siguiente contenido:

"what","who","dt" "overflow","sensor01","2019-09-16 09:04:00.000" "overflow","sensor02","2019-09-16 09:07:00.000" "underflow","sensor01","2019-09-16 11:09:00.000" ...

Entonces, AWS IoT Analytics envía mensajes que contienen campos como los siguientes.

{ "what": "overflow", "who": "sensor01", "dt": "2019-09-16 09:04:00.000" }
{ "what": "overflow", "who": "sensor02", "dt": "2019-09-16 09:07:00.000" }

Querrá crear una entrada de AWS IoT Events que reconozca los campos que le interesan (uno o más de what, who, dt) y crear un modelo de detector de AWS IoT Events que utilice estos campos de entrada en los eventos para activar acciones o establecer variables internas.

Cuaderno de Jupyter

El cuaderno de Jupyter es una solución de código abierto que permite utilizar lenguajes de programación para realizar exploraciones de datos ad hoc y análisis avanzados. Puede profundizar y aplicar análisis más complejos y utilizar métodos de machine learning, como la agrupación en clústeres k-means y los modelos de regresión para la predicción, en los datos de sus dispositivos de IoT.

AWS IoT Analytics utiliza instancias de cuaderno de Amazon SageMaker para alojar sus cuadernos de Jupyter. Antes de crear una instancia de bloc de notas, debe crear una relación entre AWS IoT Analytics y Amazon SageMaker:

  1. Vaya a la consola de SageMaker y cree una instancia del bloc de notas:

    1. Rellene los detalles y, a continuación, elija Create a new role (Crear un nuevo rol). Anote el ARN del rol.

    2. Cree una instancia del bloc de notas.

  2. Vaya a la consola de IAM y modifique el rol de SageMaker:

    1. Abra el rol. Debe tener una política administrada.

    2. Seleccione Añadir política insertada y, a continuación, en Servicio, seleccione iotAnalytics. Seleccione Seleccionar acciones y, a continuación, escriba GetDatasetContent en el cuadro de búsqueda y elíjala. Seleccione Review Policy (Revisar la política).

    3. Revise la exactitud de la política, escriba un nombre y, a continuación, elija Crear política.

Esto otorga al rol recién creado permiso para leer un conjunto de datos de AWS IoT Analytics.

  1. Vuelva a https://console.aws.amazon.com/iotanalytics/, y, en el panel de navegación de la izquierda, seleccione Cuadernos. En la página Blocs de notas, seleccione Crear bloc de notas.

  2. En la página Seleccionar una plantilla, seleccione Plantilla en blanco de IoTA.

  3. En la página Configurar bloc de notas, escriba un nombre para el bloc de notas. En Seleccionar conjunto de datos de origen, seleccione Seleccionar y, a continuación, seleccione el conjunto de datos que creó anteriormente. En Seleccionar una instancia del bloc de notas, seleccione la instancia del bloc de notas que creó en Amazon SageMaker.

  4. Después de revisar sus opciones, seleccione Crear bloc de notas.

  5. En la página Cuadernos, su instancia de cuaderno se abrirá en la consola de Amazon SageMaker.

Plantillas de bloc de notas

Las plantillas de bloc de notas de AWS IoT Analytics contienen visualizaciones y modelos de machine learning creados por AWS que le ayudarán a comenzar con casos de uso de AWS IoT Analytics. Puede utilizar estas plantillas de cuadernos para obtener más información, o bien, reutilizarlas para adaptarlas a los datos de sus dispositivos de IoT y ofrecer un valor inmediato.

Puede encontrar las siguientes plantillas de cuaderno en la consola de AWS IoT Analytics:

  • Detección de anomalías contextuales: aplicación de la detección de anomalías contextuales en la velocidad del viento medida con un modelo de media móvil exponencialmente ponderada (PEWMA) de Poisson.

  • Previsión de producción de panel solar: aplicación de modelos de series temporales lineales, estacionales y por partes para predecir la producción de paneles solares.

  • Mantenimiento predictivo en motores a reacción: aplicación de redes neuronales de memoria multivariante de corto y largo plazo (LSTM) y regresión logística para predecir fallas en los motores a reacción.

  • Segmentación de clientes de hogares inteligentes: aplicación de k-means y análisis de componentes principales (PCA) para detectar diferentes segmentos de clientes en datos de uso de hogares inteligentes.

  • Previsión de atascos en ciudades inteligentes: aplicación de LSTM para predecir las tasas de utilización de carreteras urbanas.

  • Previsión de la calidad del aire en ciudades inteligentes: aplicación de LSTM para predecir la contaminación por partículas en el centro de las ciudades.