Tabla de contenido:
- Paso 1: componentes de hardware
- Paso 2: Cree una cuenta en IBM Watson IoT y registre su dispositivo
- Paso 3: Desarrollar la aplicación Node-RED para el análisis de sentimientos
- Paso 4: Boceto de Arduino
- Paso 5: conecta tu taza
Video: Taza conectada: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
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
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
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
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:
Sistema Ambilight para cada entrada conectada a su televisor. WS2812B Arduino UNO Raspberry Pi HDMI (actualizado 12.2019): 12 pasos (con imágenes)
Sistema Ambilight para cada entrada conectada a su televisor. WS2812B Arduino UNO Raspberry Pi HDMI (actualizado 12.2019): Siempre he querido agregar ambilight a mi televisor. ¡Se ve tan genial! ¡Finalmente lo hice y no me decepcionó! He visto muchos videos y muchos tutoriales sobre cómo crear un sistema Ambilight para su televisor, pero nunca encontré un tutorial completo para mi necesidad exacta
Resucita a tu Pleo RB muerto con una fuente de alimentación conectada: 5 pasos (con imágenes)
Resucite a su Pleo RB muerto con una fuente de alimentación conectada: tenga en cuenta que todas las fotos de este instructivo se tomaron después de que terminé las modificaciones, por lo que tendrá que mirar de cerca las piezas que tiene después del desmontaje de la caja de la batería y compararlas con las imágenes suministradas. aquí antes de modificar
Taza con pantalla de tinta electrónica: 8 pasos (con imágenes)
Taza con pantalla de tinta electrónica: esta es una de esas ideas locas que se alojan espontáneamente en mi cerebro. Pensé, ¿no sería genial si hubiera una taza de café que pudieras personalizar sobre la marcha? Una que se parecía mucho a una taza de café corriente. Hice una búsqueda y
Smart Led Messenger, pantalla conectada: 4 pasos (con imágenes)
Smart Led Messenger, Connected Displayer: Hola Maker, aquí hay un objeto conectado llamado Smart Led Messenger. ¡Con él, puede mostrar un magnífico mensaje de desplazamiento recuperado de Internet! Puede hacerlo usted mismo con: Led Matrix 8 * 8 * 4 - ~ 4 $ Microcontrolador Wemos D1 mini V3 - ~ 4 $ Caja impresa en 3d
Calentador USB (o cómo actualizar su taza de café): 4 pasos (con imágenes)
Calentador USB (o Cómo actualizar su taza de café): He estado visitando Instructables de vez en cuando y me di cuenta de que era hora de reiniciar la construcción. Solía desmontar-modificar mis " juguetes " cuando era un niño - adolescente (como volar un tren pequeño y poner su motor en un GI-Joe como h