Botón AWS IoT, Lambda y Couchbase

Primeros pasos con FaaS sin servidor y AWS Lambda muestra cómo utilizar una sencilla función Java para almacenar un documento JSON en Couchbase utilizando AWS Lambda. Este blog se basa en eso y muestra cómo un Botón IoT de AWS puede utilizarse como disparador de esa función Lambda. Al final de este blog, usted aprenderá:

  • Cómo configurar AWS IoT Button
  • Utilizar el botón IoT como disparador de la función Lambda
  • Botón Test IoT

El flujo general será:
serverless-iot-couchbaseEl clic en el botón de AWS Iot invocará la función HelloCouchbaseLambda Lambda. Esta función utiliza el SDK Java de Couchbase para crear un documento JSON en Couchbase.

Este blog también se está poniendo al día con Recopilación de datos iBeacon con Couchbase y dispositivos IoT Raspberry Pi por Nic y La funda del sofá de Matthew sobre sus proyectos de verano. Un último blog será publicado en esta serie. Que mostrará cómo múltiples botones de AWS IoT se pueden utilizar para un poco de diversión.

Empecemos.

Configurar botón IoT

La forma más rápida de configurar el botón IoT es mediante la aplicación móvil para iOS o Android.

 

Más información configuración del botón IoT mediante una aplicación móvil. Estas son algunas instantáneas de la configuración del botón mediante la aplicación móvil.

Abre la aplicación, haz clic en + para empezar a configurar un nuevo botón:

Introduzca el número de serie del botón:
aws-iot-button-configure-2
Registra el botón:
aws-iot-button-configure-3
Configura el botón con la red wifi:
aws-iot-button-configure-4
Sube todos los certificados, etc:
aws-iot-button-configure-5

Después de esto, el botón está configurado y listo para usar. Este blog se saltó la parte en la que una plantilla Lambda Function se asocia con el clic del botón. Si la aplicación móvil no se puede utilizar entonces el botón puede ser configurado manualmente.

Utilizar un botón IoT como activador de una función Lambda

En aws lambda crear-evento-fuente-mapeo CLI permite crear una fuente de eventos para la función Lambda. A partir de la versión de la CLI de AWS 1.11.21Solo se puede utilizar Amazon Kinesis Stream o Amazon DynamoDB Stream. Pero para este blog, usaremos el botón IoT como disparador. Y esto tiene que ser configurado usando Consola de AWS Lambda. El Botón IoT sólo es compatible en un número limitado de regiones. Por ejemplo, no es compatible con us-oeste-1 región pero us-oeste-2 región funciona. La lista de regiones no compatibles aparece atenuada en la siguiente lista:
aws-iot-buttons-supported-region
Lambda Function puede ser activada por varios eventos. Lambda Function se invoca cuando se produce alguno de estos eventos. Por defecto, no hay disparadores asociados a una Lambda Function. En el caso de HelloCouchbaseLambda pueden consultarse en  us-west-2.console.aws.amazon.com/lambda/home?region=us-west-2#/functions/HelloCouchbaseLambda?tab=triggers.
lambda-default-triggers
Haga clic en Añadir activador para añadir un nuevo activador:
lambda-add-trigger-default
Seleccione en el cuadrado vacío para crear un nuevo disparador, y seleccione AWS IoT:
lambda-add-trigger-iot
Para el botón previamente registrado, obtenga el número de serie de us-west-2.console.aws.amazon.com/iotv2/home?region=us-west-2#/thinghub:

aws-iot-things-hub-1024x416
Especifique el número de serie del botón en el activador de AWS IoT:
aws-iot-add-trigger-1024x391
Haga clic en Enviar para crear el activador:

Y esto confirma que se ha añadido el activador.

Botón Test IoT

Antes de probar el botón, iniciemos sesión en la instancia de Couchbase y verifiquemos el número de documentos JSON en el bucket:
aws-iot-button-couchbase-console-default-
Puede comprobarse en http://:8091/index.html#sec=buckets. Como era de esperar, no existe ningún documento en el cubo. Pulse el botón una vez y actualice la página. Se muestra que ahora hay un documento almacenado en el bucket. Esto se verifica en la Consola Web de Couchbase:
 aws-iot-button-couchbase-console-one-document
Haga clic en Documentos para ver la lista completa de documentos:
 aws-iot-button-couchbase-one-document-2
Haga clic en el identificador del documento para ver más detalles sobre el mismo:
aws-iot-button-couchbase-one-document-details-1024x328
En este documento JSON sólo se almacena la marca de tiempo. Ahora, actualicemos HelloCouchbaseLambda para incluir también el identificador de la solicitud en el documento. Esto se puede lograr mediante la adición de la siguiente línea de código en la clase Java:

Se puede crear y cargar un nuevo paquete de despliegue utilizando el siguiente comando:

Ahora, al hacer clic en el botón se actualizará el número de documentos. Pero el documento actualizado tendrá un atributo adicional poblado como se muestra:
aws-iot-button-couchbase-second-document-details-1024x640
¿Cómo vas a utilizar el botón IoT de AWS con Lambda y Couchbase? Háznoslo saber en Foros de Couchbase.

Referencias

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase

Arun Gupta es vicepresidente de promoción de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante más de 10 años en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campañas de marketing y programas. Anteriormente dirigió equipos de ingeniería en Sun y es miembro fundador del equipo Java EE. Gupta es autor de más de 2.000 entradas de blog sobre tecnología. Tiene una amplia experiencia como conferenciante en más de 40 países sobre innumerables temas y es una JavaOne Rock Star desde hace tres años consecutivos. Gupta también fundó el capítulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educación tecnológica entre los niños. Autor de varios libros sobre tecnología, ávido corredor, trotamundos, campeón de Java, líder de JUG, miembro del Dream Team de NetBeans y capitán de Docker, es fácilmente accesible en @arungupta.

1 Comentarios

  1. Hola... Tengo una pregunta, quiero saber... ¿es posible registrar IoT sin tener aws logins es posible? sin acceso quiero registrar el iot y dar a los clientes.. así que si lo tienen sólo pueden useit.. en lugar de añadir disparador a la función lambda.. cualquier sugerencia.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.