Tabla de contenido:
- Paso 1: Reúna el material que necesita
- Paso 2: Arquitectura del sistema
- Paso 3: configurar su ESP
- Paso 4: Conexión de su hardware: sensor a ESP
- Paso 5: Conexión de ESP8266 con Adafruit IO: Creación de una cuenta Adafruit IO
- Paso 6: Conexión de ESP8266 con Adafruit IO: Creación de feeds
- Paso 7: Conexión de ESP8266 con Adafruit IO: Creación del panel
- Paso 8: Conexión de ESP8266 con Adafruit IO: Creación de código para sensores ultrasónicos
- Paso 9: IFTTT, conecte IFTTT a Adafruit
- Paso 10: Cree un applet en IFTTT
- Paso 11: Crea un disparador desde Adafruit
- Paso 12: Cree una acción en Gmail, Google Calender y una notificación en la aplicación IFTTT
- Paso 13: Prueba
- Paso 14: uso del servicio Zapier
- Paso 15: Activación del sistema desde el nivel IFTTT
- Paso 16: Alcance futuro: Industrilización del producto
- Paso 17: Posibles problemas que podría enfrentar
- Paso 18: Hacia el final …
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Hola
Este instructivo brinda una introducción paso a paso sobre cómo construir un sistema de notificación de lavandería basado en IoT.
El dispositivo se adjunta en sus cajones y bolsa de lavandería. En aras de la demostración aquí, hemos tomado dos cajones y una bolsa de lavandería. Detecta cuán vacíos / llenos están los cajones / bolsa de lavandería y notifica al usuario que se debe lavar la ropa. Utiliza un sensor ultrasónico que básicamente mide el espacio vacío en los contenedores. El sensor está conectado a un ESP que a su vez está conectado a un servicio en la nube. El servicio en la nube está conectado a IFTTT, que utiliza applets para enviar notificaciones al usuario por correo electrónico, sms, eventos del calendario de Google. La nube viene con un tablero en el que se puede ver el estado de todos los contenedores. Cuando la nube ve que se está quedando sin ropa limpia, le indica a los applets que se lo notifiquen. Además de esto, el subprograma le indica a la nube que verifique los datos de forma regular todos los días. Puede ser una vez al día o cada hora, dependiendo de cómo el usuario quiera que sea. Las instrucciones detalladas para construir este sistema se describen a continuación.
Paso 1: Reúna el material que necesita
vas a necesitar:
1. 3 sensores ultrasónicos HC SR04 (5V)
2. 3 ESP8266 12 (5 V)
3. 3 baterías de 9V
4. 3 potenciómetros de 5 V (para alimentar los ESP y los sensores)
5. Un montón de conectores hembra a hembra y macho a hembra
6. Caja de batería
Puedes comprar estas cosas en Amazon fácilmente. Los sensores y ESP son realmente baratos si compra un paquete con 6 de ellos.
Paso 2: Arquitectura del sistema
La arquitectura del sistema se puede entender a partir de la imagen. Los sensores están conectados a ESP. ESP envía los datos (la distancia) a Adafruit, que luego se procesa para ver qué tan llenos están los contenedores. Dependiendo de qué cajón esté cuán vacío y cuán llena esté la bolsa de lavandería, el usuario recibirá una notificación que indica que debe lavar la ropa mañana. IFTTT se activa desde Adafruit y toma la decisión de enviar un correo electrónico a través de Gmai, crear un evento en el calendario o enviar una notificación a través de la aplicación IFTTT. Este dispositivo viene con un panel de control que se puede abrir en cualquier navegador. El tablero está conectado al hardware usando el entorno Adafruit que muestra las lecturas de los sensores. Además, es posible, desde este nivel, encender y apagar los ESP desde el tablero.
Paso 3: configurar su ESP
Puede operar fácilmente su ESP conectándolo a Arduino IDE. Todo lo que necesita es descargar y configurar las bibliotecas para ello. Puede seguir los pasos a continuación:
1. Descargue la última versión de Arduino IDE.
2. Abra su IDE, vaya a archivos <preferencias y copie el enlace a continuación en el Administrador de tableros adicionales y haga clic en Aceptar para cerrar la pestaña de preferencias.
arduino.esp8266.com/stable/package_esp8266…
3. Vaya a Herramientas <Board Manager <y busque ESP8266 e instale la versión 2.4.1. Puede instalar otras versiones dependiendo del volumen de su IDE. Pero su obra funciona mejor.
Después de todo esto, eligió la placa NodeMCU 1.0. Ahora está listo para usar su ESP como un Arduino (o incluso mejor).
4. Una vez que haya terminado de conectar y trabajar su ESP con la computadora portátil como un Arduino, vaya al siguiente nivel y conéctese con su WiFi o su punto de acceso móvil.
Paso 4: Conexión de su hardware: sensor a ESP
Así es como debe conectar su sensor y codificarlo para que le dé el espacio vacío en los contenedores.
1. El sensor Vcc está conectado al NodeMCU VUpin. Si lo conecta a 3.3V, su sensor no funcionará, ya que su voltaje de operación es de 5V.
2. El sensor GND está conectado al NodeMCU GND.
3. La clavija de activación del sensor está conectada a la E / S digital D4 de NodeMCU.
4. El Pin de eco del sensor está conectado a la E / S digital D3 de NodeMCU.
Después de esto, puede escribir el siguiente código para ver si su ultrasonido está funcionando. Una vez que haya establecido que sus sensores, código y ESP funcionan bien, puede conectar su ESP a WiFi y verificar si funciona. Pero al hacer esto, las conexiones de hardware cambiarán un poco como se detalla a continuación. Pero antes de eso, asegúrese de conectar sus baterías de 9V a POTs y que hayan sido ajustadas para un voltaje de salida de 5V. No quieres quemar tus ESP (huelen mal).
1. El ESP Vin y el sensor Vcc están conectados al positivo de la batería.
2. El ESP GND y el sensor GND están conectados al negativo de la batería. Recuerde hacer que la tierra sea común o de lo contrario su sensor dará datos aleatorios.
3. La clavija de activación del sensor está conectada a la E / S digital D4 de NodeMCU.
4. El Pin de eco del sensor está conectado a la E / S digital D3 de NodeMCU.
El suyo es un poco sobre cómo funciona el sensor ultrasónico y cómo está codificado.
Básicamente, el sensor envía un pulso y lo cronometra hasta que se refleja y llega al sensor. Basándonos en el tiempo y la velocidad del sonido, tenemos que formular la distancia. Esto es esencialmente lo que hemos hecho aquí. El sensor en sí simplemente mantiene su pin "ECHO" ALTO durante un período de tiempo correspondiente al tiempo que tardó en recibir el reflejo (eco) de una onda que envió. El módulo envía una ráfaga de ondas sonoras, al mismo tiempo que aplica voltaje al pin de eco. El módulo recibe el reflejo de las ondas sonoras y elimina el voltaje del pin de eco. Sobre la base de la distancia se genera un pulso en el sensor ultrasónico para enviar los datos al ESP. El pulso inicial es de aproximadamente 10us y la señal PWM será de 150 us-25us en la base de la distancia. Si no hay ningún obstáculo, se genera un pulso de 38us para que el ESP confirme que no se han detectado objetos.
D = 1/2 x T x C; D es la distancia, T es el tiempo entre la emisión y la recepción, y C es la velocidad sónica, el valor se multiplica por 1/2 porque T es el tiempo para la distancia de ida y vuelta.
Conéctelos como en la figura anterior y colóquelos en el interior de sus contenedores en la parte superior.
Paso 5: Conexión de ESP8266 con Adafruit IO: Creación de una cuenta Adafruit IO
Para conectar el sensor ultrasónico y el ESP8266 a la nube, se eligió el servicio Adafruit IO (usando el protocolo MQTT).
MQTT es un protocolo simple y extremadamente ligero, que permite a los dispositivos publicar datos (desde el dispositivo al servidor) y suscribir datos (recopilar datos del servidor). La facilidad de esta solución es proporcionada por el corredor MQTT, que en este caso es Adafruit. IO. A través de él, los dispositivos pueden enviar y recibir mensajes.
Para registrarse ingrese al sitio web: https://io.adafruit.com/ y haga clic en Comenzar gratis. En el siguiente sitio, el usuario debe poner sus datos personales y hacer clic en el botón Crear cuenta. Después de registrarse, el usuario se mueve a la sección Inicio de una cuenta. Para escribir más un código para sensores ultrasónicos, es importante verificar la clave AIO (botón Ver clave AIO) para ambos: Nombre de usuario y clave activa.
Ahora estamos listos para crear Feeds (que contienen valores de datos de sensores) y Dashboard, en el que será posible monitorear un sistema de lavandería.
Paso 6: Conexión de ESP8266 con Adafruit IO: Creación de feeds
Para este proyecto se utilizaron 6 feeds diferentes:
- ON / OFF feeds: alimentadores que activan / desactivan el ESP8266 para obtener mediciones. Agregado debido a la gestión de la energía. (Alimentación: Cajón-1-Encendido-apagado, Cajón-2-Encendido-apagado, Bolsa de lavandería-Encendido-apagado).
- Lectura de alimentaciones: alimentaciones que obtienen datos de la tienda de sensores ultrasónicos (Cajón-1, Cajón-2, Bolsa de lavandería).
Crear un feed
- Ingrese a la sección Feeds
- Haga clic en Acciones y cree una nueva fuente.
- Llenar: Nombre de la alimentación (aquí para el primer Cajón-Cajón-1 y una breve descripción)
De la misma forma, cree cinco feeds más. Recuerde que los nombres se utilizarán para un mayor desarrollo del código de ESP8266.
Los feeeds están listos, sin embargo, no hay una manera fácil de intentar todas las lecturas al mismo tiempo. Es por eso que se necesitan cuadros de mando.
Paso 7: Conexión de ESP8266 con Adafruit IO: Creación del panel
La creación de un panel comienza en la sección Paneles. Haga clic en el botón Acciones (de forma similar en la sección Feeds) -> Crear un nuevo panel-> nombre de relleno (en este caso: Your_Laundry_System) y una breve descripción-> Haga clic en el botón Crear. Después de eso, puede ingresar al Panel de control.
En el Panel de control, haga clic en el botón Crear un nuevo bloque. Para esta aplicación necesitamos tres tipos de bloques:
- Alternar 3x (para encender y apagar la detección)
- Indicador 3x (que muestra el nivel real en un cajón / bolsa de lavandería)
- Gráfico de líneas 3x (que muestra datos históricos)
Palanca
- Haga clic en el icono Alternar.
- Elija la primera alimentación ON / OFF, es decir, Drawer-1-Onoff.
- Agregar título de bloque, es decir, camisetas limpias, cajón 1. Haga clic en Crear bloque.
Coloque la palanca en la esquina superior del tablero. De la misma forma conecta el resto de feeds ON / OFF con el Toogle.
Indicador
- Haga clic en el icono de calibre.
- Elija la primera fuente de recopilación de datos: Cajón-1.
- Rellene los datos en consecuencia: para el título del bloque, es decir: camisetas limpias, cajón 1, valor máximo del calibre (según la profundidad del cajón, en este caso 10), valor de advertencia bajo / alto (cambio del color del calibre).
Coloque el medidor en el tablero. De la misma forma, conecte el resto de feeds de almacenamiento de datos con el medidor.
Gráfico de linea
- Haga clic en el icono Gráfico de líneas.
- Elija el primer feed de recopilación de datos: Cajón-1.
- Cambie el campo Mostrar historial a 24 horas, cambie los lugares máximo y decimal del eje Y según la profundidad del cajón.
Coloque el gráfico de líneas en el tablero. De la misma forma conecta el resto de feeds de almacenamiento de datos con el Gráfico de líneas.
El tablero final está incluido en la sección de imágenes. Recuerde que los paneles muestran la cantidad de espacio vacío que queda todavía en la bolsa / cajones de lavandería.
Paso 8: Conexión de ESP8266 con Adafruit IO: Creación de código para sensores ultrasónicos
En primer lugar, se necesita la biblioteca Adafruit MQTT. Para instalarlo, abra Arduino IDE-> Herramientas-> Administrar bibliotecas y escriba en la búsqueda: Adafruit MQTT. La biblioteca debe estar instalada en su computadora.
Después de esa descarga, se adjunta un ejemplo del código (aquí se adjunta un código para el sensor ultrasónico que funciona en la bolsa de lavandería).
Para que sea aplicable a su configuración, debe cambiar los siguientes detalles:
- WLAN_SSID: el nombre de su red WiFi.
- WLAN_PASS: contraseña de su red WiFi.
- AIO_USERNAME: nombre de su usuario en Adafruit IO (del paso 4).
- AIO_KEY- Clave IO de Adafruit (del paso 4).
- Adafruit_MQTT_Publish…. "/ feeds / Laundry-bag": aquí debe poner el nombre del feed en el que se publicarán los datos.
- Adafruit_MQTT_Subscribe "/ feeds / Laundry-bag-On-off" - aquí tienes que poner el nombre de la alimentación, que activa el sensor.
Después, ese programa debe cargarse en ESP8266. Es necesario cambiar los nombres de las fuentes para el Cajón 1 y el Cajón 2.
Aviso importante: debido a si (mensaje == "ON") el sistema medirá la distancia solo una vez y cuando el botón ON / OFF del tablero esté en la posición ON. Para volver a medir, un usuario debe apagar y volver a encender el sensor en el tablero.
Después de cargar el programa en cada tablero ESP8266, debería mostrar la lectura de cada sensor. Los sensores se pueden activar desde el nivel del tablero. También es posible activar el sistema desde el nivel del subprograma IFTTT (paso 13).
Paso 9: IFTTT, conecte IFTTT a Adafruit
Advertencia: IFTTT no es la conexión más confiable cuando se activa Google Calendar y el correo electrónico usando tres sensores conectados a Adafruit IO. Vaya al paso 14 para obtener más información sobre Zapier
IFTTT es un servicio basado en web que crea una condición simple "Si esto, entonces eso". Funciona con otros servicios basados en la web como Gmail, Facebook, Instagram, etc. La condición simple consiste en "Esto", que en realidad es el disparador y "Eso", que es la acción que se debe realizar. Es necesario crear applets para que esta simple condición funcione en la plataforma IFTTT. Este proyecto utiliza Adafruit.io MQTT como una nube para mostrar el nivel de ropa en la bolsa de lavandería y los cajones, luego IFTTT recibirá el disparador de Adafruit.io para enviar el recordatorio al usuario a través del calendario de Google o Gmail.
Primero cree una cuenta IFTTT en el sitio web de IFTTT. Iniciar sesión en su cuenta. IFTTT requiere estar conectado a la cuenta de Adafruit donde se creó el tablero. Vaya al siguiente enlace para conectarse a Adafruit
A continuación, haga clic en Conectar, se le dirigirá a la página web de Adafruit y haga clic en Autorizar. Para este proyecto, IFTTT se ha conectado a la cuenta de Adafruit como se muestra en la imagen. Después de que IFTTT se conecte a la cuenta de Adafruit, los applets están listos para ser creados.
Paso 10: Cree un applet en IFTTT
Este proyecto ha intentado conectarse a Gmail, Google Calender y la aplicación IFTTT. Los siguientes son los pasos para crear Applet en la plataforma y crear el disparador desde Adafruit.
1. Vaya a Mi subprograma https://ifttt.com/my_applets y haga clic en Nuevo subprograma.
2. Se le dirigirá a if + this then that y haga clic en + this o haga clic en construir en la plataforma.
Paso 11: Crea un disparador desde Adafruit
Ahora, puede comenzar a configurar su propio Applet.
1. Primero, si se activa, busque Servicios, escriba Adafruit y, a continuación, seleccione Supervisar una fuente en Adafruit IO.
2. Configure otros parámetros Nombre de la etiqueta de la fuente, Relación de la etiqueta de la fuente y Valor de la etiqueta de la fuente. Configurado como personalizable por el usuario para facilitar si se requieren cambios más adelante, no tiene que cambiarlo a través de la plataforma.
3. Para este proyecto, el Alimento que se requiere monitorear es el Cajón 1, el Cajón 2 y la Bolsa de Ropa. Para el Cajón 1 y el Cajón 2 tiene una relación mayor que 5, lo que indica que el cajón está casi vacío, mientras que la bolsa de ropa tiene la relación menor que 5, lo que indica que está casi lleno.
Paso 12: Cree una acción en Gmail, Google Calender y una notificación en la aplicación IFTTT
Finalmente se configuran las acciones para IFTTT, para este proyecto hemos creado un Applet que envía un correo electrónico a Gmail y un evento a Google Calendar siempre que el Cajón 1 o el Cajón 2 estén vacíos o la Bolsa de Lavandería llena. Los siguientes son los pasos para crear la acción:
1. Servicios de búsqueda de acciones Gmail, Google Calender y Notificaciones
2. Después de eso, puede seleccionar del menú desplegable, ya sea un correo electrónico o un evento de adición rápida o enviar una notificación desde la aplicación IFTTT
3. Entonces los Apllets están listos, se puede agregar cualquier texto adicional de acuerdo con su proyecto para el correo electrónico, evento o notificación de la aplicación IFTTT.
Paso 13: Prueba
Ahora probamos nuestro sistema de lavandería. Como se explicó, el usuario recibirá un correo electrónico, un evento en el calendario y una notificación cada vez que uno de los cajones esté casi vacío o la bolsa de lavandería esté casi llena.
Sin embargo, encontramos el problema con el retraso en la recepción de correo electrónico o Calendario de Google e IFTTT solo envía un correo electrónico o incluso aunque se activan tanto el Cajón 1 y 2 como la Bolsa de lavandería. Además, no hay una demora significativa en la aplicación IFTTT para dar la notificación. Como se muestra en la imagen, las tres notificaciones se recibieron aproximadamente al mismo tiempo. Por lo tanto, recomendamos utilizar la aplicación IFTTT para este tipo de sistema para mitigar el retraso.
Paso 14: uso del servicio Zapier
Dado que enfrentamos el problema en IFTTT, donde tenemos un retraso significativo y solo recibimos una notificación (ya sea en Gmail o en el calendario de Google) donde todos los cajones y la bolsa de lavandería se activan. El problema fue consultado a Adafruit y sugirieron utilizar Zapier. Para utilizar Zapier tienes que estar invitado ya que la conexión con Adafruit IO todavía está en fase de prueba (ahora mismo hay menos de 10 usuarios activos). Al implementar, podemos recibir correo electrónico y calendario de Google en 5 minutos (cada 5 minutos, Zapier verifica si apareció un nuevo valor en un feed monitoreado, si es así, el applet se ejecuta). Además, hay un historial de tareas donde podemos monitorear el disparador desde Adafruit hasta Gmail y el calendario de Google.
Básicamente, es el mismo principio con IFTTT, donde debe configurar el gatillo de Adafruit, después de eso, configure la alimentación desde su tablero en este caso, ya sea cajón1, cajón2 o bolsa de lavandería. La relación se establece en la configuración y la condición del filtro, donde establecemos como mayor que 6 para el cajón y menos de 5 para la parte posterior de la ropa. Finalmente, configure la acción para enviar un correo electrónico a través de Gmail o agregar un evento rápidamente.
Paso 15: Activación del sistema desde el nivel IFTTT
El sistema también se puede activar desde IFTTT, lo que proporciona al usuario un nivel de automatización. Para hacer eso, estamos creando dos subprogramas adicionales para cada sensor, uno que enciende el sensor y el segundo que lo apaga.
Encender el subprograma
Gatillo (si)
- En la ventana del servicio de búsqueda, escriba: Datos y hora.
- Elija la opción: Todos los días a las.
- Establezca el valor de la hora necesaria (en este ejemplo, 9:00 p. M.).
Acción (luego)
- En la ventana de servicios de búsqueda, escriba Adafruit IO.
- Etiqueta de campo: nombre de la alimentación ON / OFF.
- Valor: Activado
Llene el campo de título de la miniaplicación con el nombre de la miniaplicación y agregue una breve descripción de la miniaplicación. Haga clic en Guardar y encienda la miniaplicación.
Apagando el subprograma
Clona tu subprograma y cambia:
- Sección de activación: valor de tiempo en 15 minutos más tarde (es decir, 9:15 p.m.).
- Sección de acción: Valor: APAGADO.
Haga clic en Guardar y encienda el subprograma.
De la misma forma crea applets para el resto de sensores. Recuerde: para recibir una notificación de cada sensor, no solo de la lectura del tablero, no se deben activar dos sensores al mismo tiempo (lo que significa que el cajón 1 se activó: 9: 00-9: 15 PM, Cajón 2-9: 15-9: 30PM, Lavandería baf- 9: 30-9: 45 PM).
Paso 16: Alcance futuro: Industrilización del producto
El dispositivo IoT construido aquí se puede producir fácilmente a granel y venderse a empresas que venden hogares inteligentes. Es una herramienta útil para personas con horarios ocupados o en casas grandes con muchas personas y habitaciones. En este caso, el tablero puede incluir datos de todas las habitaciones de todas las personas y así hacerles la vida más fácil. Como esto es completamente inalámbrico y, por lo tanto, se puede escalar fácilmente a cualquier número de cajones necesarios.
Paso 17: Posibles problemas que podría enfrentar
1. Puede ver su ultrasonido dando valores aleatorios. Es porque su potencia podría no ser de 5V. Lo más seguro es usar baterías de 9V y usar Potenciómetros.
2. Asegúrese de que el suelo sea el mismo para el sensor y el ESP; de lo contrario, todo el sistema no funcionará.
Paso 18: Hacia el final …
Este sistema de lavandería es una idea novedosa. Todavía no existe un producto como este en el mercado. Entonces, si lo desea en su hogar, debe construirlo usted mismo. Esperamos que comprenda las instrucciones. Era solo una esencia de IoT y electrónica.
Este sistema es realmente fácil de usar. Sin embargo, tiene pautas de uso. La ropa en los contenedores debe mantenerse doblada, de lo contrario, el sensor simplemente detecta una distancia incorrecta. No es recomendable utilizarlo para ropa de invierno en cajones pequeños, ya que las chaquetas son voluminosas y la extracción de una o dos chaquetas significaría que el cajón está vacío. Lo que podría no ser muy útil.
Durante nuestro trabajo utilizamos las siguientes fuentes, que pueden ser útiles para una comprensión más profunda del proyecto:
learn.adafruit.com/mqtt-adafruit-io-and-yo…
www.instructables.com/id/Distance-Measurem…