Componentes

Crear componentes de IoT Analytics

Para comenzar, en la consola de AWS, en Servicios teclear “IoT Analytics” y seleccionar el servicio. La primera pantalla es la siguiente, en Prefijo de recursos ingresamos AnalisisAutos y damos clic en “Quick Create

Después de unos segundos la pantalla indicara los distintos elementos creados:

En AWS IoT Analytics se ha creado los elementos de forma automática.

Ahora en AWS IoT Core, nuevamente se creará una regla que envíe los mensajes a AWS IoT Analytics. Ingresar en la consola de AWS en IoT Core. En la sección de la izquierda seleccionar Actuar y luego Reglas:

En la siguiente pantalla, dar clic en Crear parte superior derecha de la pantalla. Ingresar los siguientes datos: Nombre : IoTAnalytics_regla Instrucción de consulta de regla :

SELECT * FROM 'connectedcar/telemetry/#'

Y dar clic en “Añadir acción“ y en la siguiente pantalla seleccionar ”Enviar un mensaje a IoT Analytics

En la siguiente pantalla seleccionar : “Selecciona el canal y rol de IoT Analytics manualmente“

Dar clic en Seleccionar y marcar el canal creado en el paso anterior, que si se ingresó el nombre sugerido sera AnalisisAutos_channel

Y en Rol, dar clic en Crear un rol , ingresar el nombre: IoTAnalytics_autos_rol Y validar que la politica esta marcada como Adjunta.

Dar clic en Añadir acción. Y finalmente clic en Crear regla

A continuación regresar al simulador y agregar 10 vehículos y dejar ejecutando la simulación en lo que continuamos con los siguientes pasos.

Ahora los datos deberán estar llegando por el canal creado para ser almacenados en AWS IoT Analytics.

Configurar los Conjuntos de datos

En AWS IoT Analytics, seleccionar Conjunto de datos en el menu de la izquierda. Luego dar clic en el botón de Crear.

En la siguiente pantalla dar clic en Crear SQL A continuación ingresar los siguientes datos en la nueva pantalla:

  • ID : DetallesViaje
  • Seleccionar origen del almacén de datos: AnalisisAutos_datastore

Y dar clic en Siguiente En la próxima pantalla ingresar el siguiente código:

SELECT vin,
trip_id,
max(CASE WHEN name = 'vehicle_speed' THEN cast(value as double) END) AS vehicle_speed,
max(CASE WHEN name = 'acceleration' THEN cast(value as double) END) AS acceleration,
max(CASE WHEN name = 'gear_lever_position' THEN value END) AS gear_lever_position,
max(CASE WHEN name = 'engine_speed' THEN cast(value as double) END) AS engine_speed,
max(CASE WHEN name = 'odometer' THEN cast(value as double) END) AS odometer,
max(CASE WHEN name = 'ignition_status' THEN value END) AS ignition_status,
max(CASE WHEN name = 'fuel_level' THEN cast(value as double) END) AS fuel_level , 
 substr(timestamp, 1, 19) AS timeInterval
FROM AnalisisAutos_datastore
GROUP BY trip_id, vin, substr(timestamp, 1, 19)

Si el nombre del Almacén de datos es distinto es necesario cambiarlo después del FROM.

La pantalla debe ser similar a la siguiente, y luego dar clic en “Consulta de Prueba”

Después de unos minutos deberá verse información en la parte baja de la pantalla. De clic en Siguiente, en la proxima pantalla (Configurar filtro) de clic en Siguiente. En Definir programacion de la consulta, seleccione 15 minutos y clic en Siguiente. Deje los valores por defecto en la siguiente pantalla. Por ultimo, NO seleccionar nada en la forma de entregar los datos y terminar dando clic en Crear conjunto de datos

En la pantalla de Conjunto de datos dar clic en los 3 puntitos y seleccionar Ejecutar ahora