Ir al contenido principal
Todas las coleccionesGuías de usuario
Plugins: Conectar AWS IoT con Ubidots (Obsoleto)
Plugins: Conectar AWS IoT con Ubidots (Obsoleto)

Este complemento ha sido desaprobado.

David Sepúlveda avatar
Escrito por David Sepúlveda
Actualizado hace más de 3 meses

NOTA IMPORTANTE

ESTE PLUGIN FUE DESCONTINUADO EL 31 DE MARZO DE 2021.

POR FAVOR, CONSULTE LA NUEVA VERSIÓN "Plugins: Conectar AWS IoT Core a Ubidots usando HTTPS"


Para conectar AWS y Ubidots, puede utilizar el Plugin de AWS ofrecido por Ubidots que vincula automáticamente recursos de AWS (AWS IoT Core, AWS IoT Rules y AWS Kinesis Data Streams) para que pueda transmitir datos directamente a sus aplicaciones impulsadas por Ubidots.

Esta guía del usuario explica cómo integrar AWS IoT con Ubidots utilizando el Plugin de AWS ofrecido por Ubidots y una Clave de Acceso de AWS. Esta integración creará automáticamente la conexión entre AWS y Ubidots utilizando el diagrama de flujo de datos a continuación.

Tabla de Contenidos:

  1. Acerca de AWS IoT Core

  2. Recuperar una Clave de Acceso de AWS

  3. Agregar el Plugin de AWS

  4. Aprobar la Configuración Automática de Recursos

  5. Probar la integración del Plugin

  6. Cómo enviar datos a Ubidots, a través de AWS IoT Core

NOTA: Para una configuración avanzada utilizando el Rol de IAM de AWS para integrar AWS IoT con Ubidots, consulte esta guía.
NOTA: ESTA ES UNA FUNCIÓN BETA. POR FAVOR, CONTACTE A SU REPRESENTANTE DE CUENTA DE UBIDOTS PARA HABILITAR ESTA FUNCIÓN PARA USTED

1. Acerca de AWS IoT Core

AWS IoT Core le permite conectar dispositivos a la nube de AWS. Puede pensar en AWS como un broker MQTT administrado que acepta cualquier tipo de mensaje y luego lo enruta a otros servicios de AWS y recursos.

Como servicio MQTT, AWS IoT Core es similar al broker MQTT de Ubidots, con 3 diferencias notables:

  • AWS IoT Core no almacena los datos de su sensor. Es solo un broker intermedio para enrutar mensajes entre sus dispositivos y otros servicios de AWS.

  • AWS IoT Core no tiene una estructura JSON predeterminada. Como plataforma dirigida a desarrolladores de software, AWS IoT Core acepta cargas JSON arbitrarias, que luego son interpretadas por aplicaciones web nativas construidas por uno mismo. Ubidots es diferente porque ya hemos construido esa aplicación web para usted, y esa aplicación necesita una estructura de carga JSON predeterminada para que podamos extraer la etiqueta del dispositivo de Ubidots, la etiqueta de la variable y el valor.

  • AWS IoT Core no acepta conexiones no encriptadas. AWS IoT Core proporciona autenticación y encriptación de extremo a extremo en todos los puntos de conexión, de modo que los datos nunca se intercambian entre dispositivos y AWS IoT Core sin una identidad comprobada. Esto es una ventaja en términos de seguridad, pero también puede ralentizar su fase de prototipado.

AWS IoT Core: Reglas

Como broker, AWS IoT Core necesita una forma de saber a dónde enviar los mensajes recibidos de los dispositivos. Para este propósito, AWS IoT Core le permite crear reglas para filtrar, transformar y actuar sobre los datos del dispositivo sobre la marcha. Aquí hay un escenario de ejemplo de enrutamiento de datos utilizando Reglas:

El "Destino de datos" de la Regla puede ser cualquier servicio de AWS dentro del ecosistema de AWS, como S3 o DynamoDB. Cuando se utiliza en conjunto con Ubidots, su AWS IoT Core utilizará una Regla para enrutar el tráfico a un servicio de AWS llamado AWS Kinesis y luego a Ubidots:

AWS Kinesis Data Stream

Kinesis es un servicio de transmisión de datos en tiempo real de AWS que permite a los desarrolladores crear aplicaciones que recopilan y procesan grandes flujos de datos en tiempo real. Para habilitar la integración de AWS+Ubidots, Ubidots eligió integrarse con AWS Kinesis entre otros servicios de AWS por estas razones:

  • Persistencia: Con Kinesis, espera que sus datos se coloquen en cola de manera confiable hasta que lleguen a su destino.

  • Velocidad: Kinesis está diseñado para la transmisión de datos en tiempo real, lo que lo hace adecuado para casos de uso de IoT.

  • Costo: Kinesis utiliza un modelo simple de pago por uso donde el costo principal se basa en "shards". Cada "shard" tiene una capacidad de 1,000 registros/segundo y comienza en $10.8 / mes. Reenviar sus datos a través de Kinesis es más rentable que otros enfoques como AWS Lambda.

  • Respaldo: El equipo técnico de AWS y los ingenieros de Ubidots se reunieron y, después de analizar precios eficientes, velocidad y servicios de seguridad, la solución diseñada demostró ser la ganadora de todas las opciones. :)

Con la comprensión anterior, ¡comencemos con la integración!

2. Recuperar una Clave de Acceso de AWS

Ubidots utiliza Claves de Acceso de AWS para crear de manera segura los recursos de AWS necesarios para transmitir datos a Ubidots. Usando la Clave de Acceso, Ubidots creará un Rol de IAM de AWS para ejecutar automáticamente la integración por usted.

Para recuperar sus Claves de Acceso de AWS, vaya a su consola de gestión de IAM de AWS, luego haga clic en la opción “Usuarios” en el panel izquierdo y siga los pasos a continuación:

Paso 1: Haga clic en el botón "Agregar usuario".

Paso 2: Ingrese un nombre para el usuario, Seleccione la opción “Acceso programático” y pase a la siguiente página.

Paso 3: Haga clic en la opción "Adjuntar políticas existentes directamente". Busque "IAMFullAccess" y selecciónelo. Pase a la siguiente página.

Paso 4: Omitir la página de etiquetas y pase a la siguiente página.

Paso 5: Haga clic en el botón "Crear usuario".

Paso 6: Copie el “ID de clave de acceso” y la “clave de acceso secreta” que se utilizarán más adelante para completar el Plugin de AWS en la plataforma de Ubidots. También puede descargar las claves con el botón "Descargar .csv".

Una vez creado,

NOTA IMPORTANTE: Como medida de seguridad, Ubidots NO almacena ningún ID de Clave de Acceso de AWS o Claves Secretas. La autorización con Claves de Acceso se utiliza solo una vez al principio de la configuración de un Plugin para crear un rol restringido en AWS y configurar de manera segura los recursos de AWS para transmitir datos a Ubidots. Si prefiere no proporcionar sus claves de AWS, se puede configurar una integración avanzada utilizando el Rol de IAM de AWS y esta guía del usuario.

3. Agregar el Plugin de AWS

Ahora, con su ID de clave de acceso y clave de acceso secreta, volveremos a su cuenta de administrador de Ubidots y ejecutaremos los 4 pasos a continuación para agregar el Plugin de AWS y comenzar a transmitir datos.

Paso 1: Crear un nuevo Plugin – desde su cuenta de Ubidots, vaya a “DispositivosPluginsCrear Plugin de Datos”:

Paso 2: Seleccione "AWS IoT" y luego haga clic en el botón de flecha ubicado en la parte inferior derecha.

Paso 3: Haga clic en “Conectar” para vincular su cuenta de AWS IoT con Ubidots.

Paso 4: Ingrese su ID de Clave de Acceso y Clave de Acceso Secreta creadas anteriormente en esta guía. Al ingresar su Clave de Acceso de AWS, Ubidots configurará automáticamente los recursos necesarios en AWS para completar la integración y comenzar a transmitir datos a Ubidots que fluyen hacia AWS IoT.

NOTA IMPORTANTE: Como medida de seguridad, Ubidots NO almacena ningún ID de Clave de Acceso de AWS o Claves Secretas. La autorización con Claves de Acceso se utiliza solo una vez al principio de la configuración de un Plugin para crear un rol restringido en AWS y configurar de manera segura los recursos de AWS para transmitir datos a Ubidots. Si prefiere no proporcionar sus claves de AWS, se puede configurar una integración avanzada utilizando el Rol de IAM de AWS y esta guía del usuario.

4. Aprobar la Configuración Automática de Recursos

Después de conectar Ubidots a su cuenta de AWS, Ubidots creará automáticamente los recursos necesarios para transmitir datos desde un dispositivo de AWS IoT a Ubidots.

Los recursos que se crearán/utilizarán para transmitir datos desde los Dispositivos de AWS IoT a Ubidots son:

  1. AWS IoT Core: Esta es la plataforma en la nube administrada de AWS para que los dispositivos conectados interactúen de manera segura con aplicaciones en la nube, servicios de AWS y otros dispositivos. Por defecto, todas las cuentas de AWS tienen este módulo habilitado. Ubidots no creará un IoT core para usted. Aprenda más.

  2. AWS IoT Rules: Una función dentro de AWS IoT Core, que le da a sus dispositivos la capacidad de interactuar con los servicios de AWS. Ubidots creará una Regla de IoT para enrutar su tráfico de dispositivo a un AWS Kinesis Data Stream. Aprenda más.

  3. AWS Kinesis Data Stream: Este es el servicio de transmisión de datos en tiempo real de AWS, que permite a los desarrolladores crear aplicaciones que recopilan y procesan grandes flujos de datos en tiempo real. Ubidots creará un Kinesis Data Stream. Aprenda más.

Para crear los recursos anteriores, simplemente seleccione la "región de implementación" y haga clic en “Crear recursos” en el proceso de creación del Plugin de Datos, luego espere unos segundos mientras Ubidots llama a las puertas de Amazon para completar la integración:

5. Probar la Integración del Plugin

En este punto, su Plugin de Datos está listo para ser utilizado. Para probarlo, vaya a su consola de AWS IoT Core, luego haga clic en “Probar”, luego en “Publicar en un tema”:

Luego complete los campos de prueba con los siguientes datos de prueba / ficticios:

  • Tema de suscripción: ubidots/v1/{DEVICE_LABEL}
    Nota: La Regla de IoT que Ubidots crea en su nombre enruta automáticamente todo el tráfico que va al tema “ubidots/v1” a través del AWS Kinesis Data Stream a Ubidots. Esto le permite mantener otros dispositivos privados de Ubidots simplemente creando un nuevo tema.

  • Datos ficticios:

{    "temperature": 4,    "humidity": 81}


Por favor, tenga en cuenta la estructura del mensaje a continuación como un formato de datos válido. Puede agregar más variables y dispositivos de acuerdo con su aplicación utilizando este formato si es necesario:

{   "variable1": value1,   "variable2": value2 }

Finalmente, haga clic en “Publicar tema” para probar la integración enviando datos de AWS a Ubidots; debería ver sus datos reflejados en su cuenta de Ubidots:

6. Cómo enviar datos a Ubidots, a través de AWS IoT Core

Aunque AWS IoT Core es un broker genérico que le permite enviar mensajes JSON arbitrarios, para que Ubidots entienda la carga, utilice la estructura JSON a continuación.

  • Tema MQTT:

/ubidots/v1/{DEVICE_LABEL}
  • Formato del mensaje:

{    "variable1-API-label": "value1",    "variable2-API-label": "value2",    "variable3-API-label": "value3",    "variable4-API-label": "value4"}

Para aprender más sobre cómo conectar sus dispositivos IoT a AWS IoT Core, consulte estos recursos:

¿Ha quedado contestada tu pregunta?