Tabla de contenido:

Taza conectada: 5 pasos (con imágenes)
Taza conectada: 5 pasos (con imágenes)

Video: Taza conectada: 5 pasos (con imágenes)

Video: Taza conectada: 5 pasos (con imágenes)
Video: 🔥 Como Sublimar una Taza Paso a Paso 🔥 GUÍA COMPLETA para Sublimar un Mug 2024, Noviembre
Anonim
Taza conectada
Taza conectada

A veces, por la mañana, mientras tomo mi café antes de ir a la oficina, me gustaría echar un vistazo a lo que me espera en la bandeja de entrada de mi correo electrónico. es decir, la cantidad y el tono de los correos electrónicos recibidos … si el proyecto que acabo de terminar el día anterior está funcionando o no y si hay comentarios positivos o negativos al respecto. Por otro lado, no me importa mucho abrir la aplicación de cliente de correo electrónico con mi móvil y empezar a leer correos electrónicos durante el desayuno.

De estas consideraciones surge la idea de este proyecto; utiliza una taza de café mejorada con luces LED que cambian sus colores según el resultado del análisis de sentimientos realizado en los últimos correos electrónicos no leídos recibidos en mi cuenta de correo electrónico. Simplemente conecte la taza y las luces LED se volverán de color verde si los últimos correos electrónicos recibidos tienen mensajes positivos, color rojo para el contrario.

Los servicios de IBM Watson IoT realizan el análisis de opiniones de los correos electrónicos no leídos. Se utiliza una placa Arduino MKR1000 para controlar la tira de LED y para conectarse con los servicios de IBM Watson IoT a través de WiFi utilizando el protocolo MQTT.

Paso 1: componentes de hardware

Componentes de hardware
Componentes de hardware
Componentes de hardware
Componentes de hardware

Placa de desarrollo de hardware:

Arduino MKR1000

Lista de materiales de hardware

  • 3 resistencias de 100 ohmios
  • 3x transistores TIP122 NPN
  • 1x toma de corriente
  • 1x tira de luz LED RGB (AglaiaLT-S2)
  • Cables de repuesto

El cableado para controlar la tira de LED con Arduino MKR1000 se basa en este tutorial:

Paso 2: Cree una cuenta en IBM Watson IoT y registre su dispositivo

Para crear una aplicación en la nube capaz de realizar análisis de opinión de correos electrónicos no leídos con IBM Watson IoT, primero es necesario registrarse para obtener una cuenta de prueba gratuita (https://www.ibm.com/internet-of-things/trial/). El segundo paso es crear una aplicación para la plataforma Watson IoT y registrar su placa Arduino MKR1000; este es ahora un procedimiento estándar para conectar plataformas de hardware con IBM Watson IoT, y está bien documentado en las guías de inicio rápido de IBM:

console.ng.bluemix.net/docs/services/IoT/i…

IBM también proporciona plantillas repetitivas para IoT que aceleran estos pasos al delimitar los servicios y tiempos de ejecución necesarios para lanzar su aplicación de IoT. IoT for Electronics Starter Boilerplate fue el que se utilizó para este proyecto.

Aquí se proporciona una guía de registro de dispositivo paso a paso:

console.ng.bluemix.net/docs/services/IoT/i…

Anote su ID de organización, credencial, ID de dispositivo y tipo de dispositivo, una vez completado el procedimiento de registro del dispositivo, ya que estos serán necesarios para configurar Arduino Sketch y la aplicación NodeRED.

Paso 3: Desarrollar la aplicación Node-RED para el análisis de sentimientos

Desarrollar la aplicación Node-RED para el análisis de sentimientos
Desarrollar la aplicación Node-RED para el análisis de sentimientos

NodeRED es una herramienta visual que se puede utilizar en la plataforma IBM Watson IoT para crear aplicaciones de cableado de dispositivos y servicios en la nube (nodered.org).

La aplicación NodeRED desarrollada es muy simple y está compuesta por dos flujos, uno para el análisis de sentimientos de los correos electrónicos y otro para registrar el estado de Arduino MKR1000 (puntuación de sentimiento recibida por el dispositivo y combinación de RGB para el LED que se muestra).

El primer flujo se conecta a una cuenta de correo electrónico periódicamente y recupera los últimos correos electrónicos no leídos; la configuración depende de su cuenta de correo electrónico. Cada correo electrónico recibido se envía al cuadro de análisis de opiniones, que devuelve una puntuación (menor o superior a 0) en función del contenido negativo / positivo del texto analizado (consulte la información https://github.com/thisandagain/sentiment/blob/mas… para más detalles). La puntuación de sentimiento se envía a un cuadro de función simple que calcula el promedio de los últimos datos recibidos y envía el resultado al siguiente nodo. Finalmente, el último bloque envía un mensaje que contiene el valor de la puntuación de sentimiento al dispositivo conectado usando el protocolo MQTT; este bloque debe configurarse con las credenciales generadas durante el proceso de registro del dispositivo.

El segundo flujo se utiliza con fines de prueba para visualizar el estado de la placa Arduino; conecta un nodo IoT de entrada para su placa Arduino a la página web de inicio rápido de IBM para la visualización de datos (https://quickstart.internetofthings.ibmcloud.com/). El nodo de entrada de IoT está configurado como se indicó anteriormente para recibir mensajes de estado de la placa Arduino utilizando los protocolos MQTT. Los mensajes de estado contienen la puntuación de sentimiento y la combinación RGB para el LED que se usa actualmente en Arduino.

La aplicación Node-RED se exportó a clipbord y se adjuntó aquí como archivo.txt.

Paso 4: Boceto de Arduino

El boceto de Arduino se basa en la biblioteca cliente MQTT de Gilberto Conti (https://github.com/256dpi/arduino-mqtt) que se modificó para conectarse con IBM Watson IoT. El código está compuesto por tres partes:

  • setup (): conectarse con WiFi AP e IBM MQTT broker; registrar una devolución de llamada para los mensajes recibidos de IBM Watson IoT
  • loop (): establece el pin RGB para controlar las luces LED; enviar a IBM Watson IoT el estado del dispositivo (RGB y puntuación de sentimiento)
  • messageReceived (…): devolución de llamada solicitada tras la recepción de mensajes con puntuación de opinión de la aplicación Watson IoT. La puntuación se asigna al valor RGB (negativo: rojo; positivo: verde).

Configure el código de la siguiente manera, según las credenciales generadas durante el procedimiento de registro del dispositivo (org-id, device-type, device-id):

  • MQTT_MODE = IBM_API_KEY
  • char * client_id = "d: your-org-id: your-device-type: your-device-id";
  • char * user_id = "use-token-auth";
  • char * pwd = "tu-pwd";
  • char * ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";

La aplicación se suscribe al tema iot-2 / cmd / + / fmt / string y messageReceived callback analiza los mensajes para el sentimiento del tipo de comando.

Los mensajes de estado se publican en el tema: iot-2 / evt / status / fmt / json

Nota: recuerde actualizar el certificado SSL para MKR1000; siga las instrucciones aquí: https://github.com/arduino-libraries/WiFi101-Firm … e inserte su ibm_hostname para descargar e instalar en MKR1000 los certificados raíz.

Se adjunta el boceto de Arduino.

Paso 5: conecta tu taza

Conecte su taza
Conecte su taza
Conecte su taza
Conecte su taza

Hubiera sido bueno hacer un poco más de integración de la electrónica y los LED en la taza, pero para este proyecto simplemente coloqué una tira de LED adhesiva alrededor de la taza como se muestra en la imagen.

Luego conecto la tira de LED al circuito de la placa de pruebas, enciendo el LED y el Arduino MKR1000 y espero recibir mensajes con puntaje de sentimiento de la aplicación NodeRED. En la imagen, por ejemplo, probé enviando a mi cuenta correos electrónicos que contenían texto como "¡Buen trabajo! ¡Tu proyecto es maravilloso!" etc.

También es posible comprobar en la página web pública IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) el estado en tiempo real de la aplicación Arduino (se muestra el código RGB y se recibe la puntuación de opinión); solo necesita ingrese la identificación del dispositivo..

Ahora finalmente puedo disfrutar de mi café en una taza conectada.

Recomendado: