Ubidots es una plataforma para crear soluciones y negocios IoT de forma rápida e intuitiva. Esto se logra con múltiples herramientas para visualizar, transformar y analizar datos, así como para generar alertas y reportes, entre otras.

En alianza con AWS, Ubidots creó una integración que permite a los usuarios enviar información desde AWS IoT Core hacia Ubidots usando plugins.

Esto es útil porque, si bien AWS ofrece una gran gama de herramientas, para nadie es un secreto que usarlas puede ser complicado y requiere bastante tiempo de certificación y estudio. Además, el fuerte de AWS no es la visualización de datos ni la creación de negocios IoT. Por suerte, Ubidots ha habilitado integraciones rápidas que le permitirán a cualquiera usar las bondades de AWS sin ser un experto.

Esta integración creará automáticamente los siguientes recursos en tu cuenta de AWS:

Requisitos

Índice de contenidos

  1. Crear una política
  2. Obtener una clave de acceso de usuario en AWS
  3. Crear un plugin de AWS IoT Core
  4. Decodificar tus paquetes de datos personalizados

1. Crear una política

Para crear una política, ve a tu consola AWS IAM Management y luego haz clic en la opción Policies en el panel izquierdo y sigue estos pasos:

  1. Haz clic en el botón Create Policy.
  2. Selecciona la pestaña JSON y pegar el siguiente código. Tendrás que reemplazar el campo <NumberAccountUser> con el número ID de tu cuenta que se encuentra en tu perfil. Ve a la siguiente página.
{

«Version»: «2012-10-17»,

«Statement»: [

{

«Sid»: «VisualEditor0»,

«Effect»: «Allow»,

«Action»: [

«iam:GetRole»,

«iam:CreateRole»,

«iam:PutRolePolicy»,

«iam:ListRolePolicies»

],

«Resource»: «arn:aws:iam::<NumberAccountUser>:role/Ubidots*»

}

]

}
  • Deja la sección de etiquetas como está y ve al paso de revisión.
  • En la página de revisión de política, solo llena el campo ‘nombre’, asignándole un nombre a tu nueva política y haz clic en ‘Create policy’.

2. Obtener una clave de acceso de usuario en AWS

Para obtener tus AWS Acces Keys, ve a tu consola AWS IAM Management, luego haz clic en la opción ‘Users’ en el panel izquierdo y sigue estos pasos:

  1. Haz clic en el botón «Add user«.
  2. Ingresa un nombre para el usuario, elige la opción “Programmatic Access” y ve a la siguiente página.
  3. Haz clic en la opción «Attach existing policies directly«. Busca la política creada en el paso anterior y selecciónala.
  4. Omite la página de etiquetas y ve a la siguiente página.
  5. Haz clic en el botón «Create user«.
  6. Copiar el “Access key ID” y la “Secret access key” que será usada luego para completar el plugin AWS en Ubidots. También puedes descargar las claves con el botón Download .csv.

3. Crear un plugin de AWS IoT Core

El plugin de AWS IoT Core es una función serverless que expone una URL HTTPS tipo endpoint privada y optimizada para decodificar los datos en formato JSON de una regla de AWS HTTPS. Cada vez que una solicitud HTTP POST es recibida en dicha URL, una función decodificadora predefinida se ejecutará.

Para crear un plugin:

  1. En tu cuenta de Ubidots, ve a la pestaña de “Devices”, haz clic en “Plugins”, luego en el ícono “+” para crear un nuevo plugin. Busca el AWS IoT Core Plugin, haz clic en él y sigue los pasos que se ven en pantalla a continuación:
  • Una ventana de autenticación aparecerá. Ingresa tu Access Key ID de AWS y la Secret Access Key creada previamente en esta guía. Al ingresar tus AWS Access Keys, Ubidots configurará automáticamente los recursos requeridos en AWS para completar la integración.

NOTA IMPORTANTE: como medida de seguridad, Ubidots no almacena ninguna AWS Access Key ID o Secret Keys. El permiso con Access Keys solo se usa una vez al principio de la configuración de un plugin para crear un rol restringido en AWS y poder configurar los recursos de AWS para enviar datos a Ubidots. Si prefieres no suministrar tus claves de AWS, una integración avanzada puede ser configurada usando AWS IAM Role y esta guía de usuario.

3. Luego de una autenticación exitosa, las opciones de configuración del plugin aparecerán:

  • Región AWS: La región AWS donde actualmente usas AWS IoT Core o planeas hacerlo. Ubidots creará la regla AWS IoT y el destino HTTPS en esta región.
  • Tipo de dispositivo asociado: Un tipo de dispositivo de Ubidots será creado y conectado a este plugin. Editar el tipo de dispositivo te permite hacer cambios en masa a todos los dispositivos que reciban datos por medio de este plugin.
  • La instrucción de la solicitud de la regla AWS IoT Rule: la instrucción de la solicitud aplicada por la regla AWS IoT antes de enviar cualquier dato a este plugin. Mira la referencia de la SQL de AWS IoT.
  • Token de Ubidots: selecciona el token de Ubidots que quieres usar para este plugin. Recomendamos crear un nuevo token dedicado solo a este plugin, en caso de que necesites incrementar su tasa límite en el futuro.

Ubidots creará una regla de acción AWS IoT HTTPS dirigida a este plugin. Esto puede tomar hasta 3 minutos. Puedes verificar el progreso en tu cuenta de AWS yendo a la opción «Destinations» dentro de la sección «Act» de AWS IoT.

NOTA: deberías ver una nueva destinación. Al principio, aparecerá como «Disabled» mientras el proceso de verificación es llevado a cabo por AWS. Luego de unos minutos, pasará a estar «Enabled».

4. Termina el proceso y un nuevo plugin aparecerá en la lista de plugins.

4. Decodificar tus paquetes de datos personalizados

Para editar la función decodificadora, haz clic en el plugin creado y ve a «Decodificador«. Por defecto, este plugin está preconfigurado para tomar datos del topic:

$aws/things/+/shadow/update

Donde «+» es un identificador único del dispositivo para ser usado en Ubidots como la etiqueta única de dispositivo. Si se reciben datos de una etiqueta de dispositivo desconocida, entonces Ubidots creará un nuevo dispositivo al recibir los primeros datos.

El formato esperado por defecto es como se muestra a continuación, aunque lo puedes cambiar a voluntad usando el decodificador, por supuesto:

{

  «state»: {

     «reported»: {

     «temperature»: 23,

     «humidity»:55

     }

  }

}

Combinar las funcionalidades de Ubidots y AWS IoT Core permite tener lo mejor de ambos mundos al aprovechar las herramientas de monitoreo y negocio de Ubidots y los poderosos servicios de nube de AWS.

Con los datos que llegan desde AWS IoT Core, en Ubidots se podrán crear tableros o dashboards para graficar los datos sin necesidad de código y que se pueden compartir con cualquiera en cuestión de minutos. Además, estos tableros pueden estar en una cuenta que está completamente decorada con los atributos de tu proyecto o marca (colores y logo) o la de tus clientes, llevando tus datos al siguiente nivel de esta forma.

Obtén un mes de prueba gratis en Ubidots y despliega tu solución IoT