Una solapa de gato inteligente

Hola y bienvenidos a una nueva y emocionante serie de blogs de dos partes. Esta breve serie trata sobre nuestros compañeros de cuarto de 4 patas (favoritos). Nos referimos a los gatos, incluso si los perros son, por supuesto, también parte de ella. 😊

Esta vez, un colega me dio la idea de este blog. Él lee mis blogs de vez en cuando y es un gran fanático de la casa inteligente. Ahora me preguntó recientemente que le gustaría recibir una notificación en su teléfono celular cuando su gato llega a casa de sus "incursiones" o está en las calles . Me dijo que ya estaba buscando una solapa con la funcionalidad adecuada en el mercado, pero que no había encontrado nada adecuado. ¿No podría construir una solución al problema? Por supuesto que puedo y aquí está:

El principio de nuestra tapa para gato inteligente se basa en el hecho de que nuestro gato tiene que "empujar" la tapa en la puerta en una dirección diferente (hacia la derecha o hacia la izquierda) cada vez que entra o sale por la tapa del gato para pasar a través de la tapa.

Dado que la dirección del movimiento de la aleta depende de la trayectoria del gato, podemos obtener toda la información necesaria simplemente organizando 2 botones en la aleta. El siguiente diagrama ilustra esto en la función mecánica / eléctrica básica.camino.

Como funciona

Se puede ver que al caminar a través de la solapa del gato, el gato presiona el botón "el gato está llegando" o el botón "el gato está yendo", dependiendo de la dirección en la que pasa la aleta.

Estos dos botones de "dirección" están conectados de acuerdo con la estructura mecánica como en el siguiente plan de Fritzing:

 

Plan fritzing

Ambos botones se cierran poco después de más (3,3 voltios) cuando se presionan. Baje las resistencias de 330 KOhm; de lo contrario, baje los puertos.

La lista de hardware para este proyecto es agradablemente clara:

 

  • 2x resistencia de 330 KOhm
  • 1x ESP32
  • 2x botones
  • 1x fuente de alimentación o banco de energía

Ahora que hemos configurado el hardware y la mecánica, es hora de configurar o preparar nuestro teléfono celular. Para hacer esto, descargamos la aplicación "Blynk" de la App Store en nuestro teléfono móvil. La aplicación en sí es gratuita y también se puede operar para la aplicación descrita sin costos adicionales para la aplicación.

Independientemente de esto, existen costos para la transmisión de datos desde nuestra tapa de gato al teléfono celular. ¡Tenga en cuenta estos costos al construir el proyecto!

Entonces, después de descargar la aplicación Blynk de la tienda y comenzarla por primera vez, primero tenemos que crear una cuenta. Para hacer esto, tocamos "Crear nueva cuenta"

 

Registrarse cuenta Blynk

Nos registramos con nuestra propia dirección de correo electrónico y le asignamos una contraseña:

 

Crear una cuenta Blynk - 2

 

Luego hacemos clic en nuevo proyecto:

 

Blynk - Crea un nuevo proyecto

 

Terminamos en el diálogo sobre la creación de un nuevo proyecto. Los datos básicos del proyecto deben ingresarse aquí, p. el nombre del proyecto, nuestra plataforma de desarrollo ESP32 y el formulario de conexión deseado. Se pueden proporcionar varios parámetros de conexión, como Bluetooth o WLAN.

Sin embargo, para poder recibir datos mientras está en movimiento, se debe seleccionar el tipo de conexión GSM. La configuración que he elegido para el proyecto se muestra a continuación:

 

Blynk - Crear nuevo proyecto - Detalles del proyecto

 

Confirmamos la información con "Crear" y terminamos en un proyecto vacío.

Ahora agregamos nuestro primer elemento activo a nuestra aplicación usando el símbolo "Más" en la barra de título:

 

Añadir elemento Blynk

 

Seleccionamos "Notificación" como primer elemento y configuramos el elemento.

 

Blynk - Agregar widget

Aquí están los detalles de la configuración del elemento:

 

Blynk - configuración de notificaciones

Confirmamos la configuración con la flecha a la izquierda y luego volvemos a la vista principal de la APLICACIÓN:

Blynk: ¡Eso es!

Eso es todo!

Ahora podemos cerrar la aplicación nuevamente. Ahora llegamos a la parte del microcontrolador. Ahora tenemos que adaptar nuestro código IDE y ESP de Arduino a nuestra aplicación.

Para hacer esto, primero instalamos la última versión de la biblioteca Blynk en el IDE de Arduino a través del administrador de la biblioteca:

Instalar la biblioteca Blynk en Arduino

 

Luego adaptamos el código a nuestro proyecto. Nuestro código se ajusta en los siguientes lugares:

// Variables globales
char auth [] = "11111111111111111111111111"; // Ingrese el token de autenticación de su aplicación Blynk aquí (correo electrónico). ¡El token de autenticación es un ficticio!

// Sus datos de acceso WiFi.
char ssid [] = "***********";
char pass [] = "**************"; // Establecer contraseña en" "para redes abiertas.

Después de que el código se haya adaptado a su propia WLAN y parámetros de token de autenticación, se puede cargar en el ESP:

 

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>

// Botón de definición de puerto
#definir Cat_Go_SW  15    // gato va
#definir Cat_Comes_SW 2    // viene el gato

#definir BLYNK_PRINT De serie
#definir BLYNK_NO_BUILTIN
#definir BLYNK_NO_FLOAT
#definir Switch_Poll_Interval 200
// # define BLYNK_DEBUG

// Variables globales
char auth[] = "11111111111111111111111111"; // Ingrese el token de autenticación de su aplicación Blynk aquí (correo electrónico).

// Sus datos de acceso WiFi.
char ssid[] = "***********";
char pasar[] = "**************";  // Establezca la contraseña en "" para redes abiertas.
sin firmar largo Switch_ServiceCall_Handler = 0;  // Variable de retraso para retraso entre lecturas de Moisure
bool State_Cat_Go_old = falso;
bool State_Cat_Comes_old = falso ;

nulo configuración() {   pinMode(Cat_Go_SW, ENTRADA);   pinMode(Cat_Comes_SW, ENTRADA);   De serie.comenzar(9600);   // inicializa la comunicación en serie a 115200 bits por segundo:   De serie.imprimir(F("Conexión a WLAN"));   retrasar(500);   Blynk.comenzar(auth, ssid, pasar);  // Inicializa la conexión WiFi a través de la Biblioteca Blynk   De serie.println(F("exitoso".));
}

nulo Run_Check_Switches ()   //
{   bool State_Cat_Go = falso;   bool State_Cat_Comes = falso;   si (millis() -  Switch_ServiceCall_Handler >= Switch_Poll_Interval)   {     Switch_ServiceCall_Handler = millis();     State_Cat_Go = digitalRead(Cat_Go_SW);     State_Cat_Comes = digitalRead(Cat_Comes_SW);     si (State_Cat_Go && (!State_Cat_Go_old))     {       State_Cat_Go_old = cierto;       Blynk.notificar ("Nota: el gato se va");       retrasar(1000);     } otra cosa si ((!State_Cat_Go) && State_Cat_Go_old)     {       State_Cat_Go_old = falso;       retrasar(1000);     } otra cosa si (State_Cat_Comes && (!State_Cat_Comes_old))     {       State_Cat_Comes_old = cierto;       Blynk.notificar ("Nota: viene el gato");       retrasar(1000);     } otra cosa si ((!State_Cat_Comes) && State_Cat_Comes_old)     {       State_Cat_Comes_old = falso;       retrasar(1000);     }   }
}

// lazo principal
nulo bucle()
{   Run_Check_Switches();   Blynk.correr();   // Ejecutar funciones básicas de Blync
}

 

 

Hecho

Si ahora conectamos brevemente el puerto 2 a Plus para la prueba, recibimos el siguiente mensaje en el teléfono celular:

Prueba de funcionamiento: viene el gato

Ahora conectamos el puerto 15 brevemente con plus para realizar pruebas. Ahora deberíamos ver el siguiente mensaje en el teléfono:

Prueba de funcionamiento: el gato se va. : '(

Ahora todo lo que tenemos que hacer es conectar la electrónica o la mecánica a la tapa del gato y ahora siempre recibimos un mensaje cuando nuestro tigre de la habitación usa la tapa. Espero que disfrutes copiando.

¡Hasta la próxima parte de la serie y diviértete construyéndola!

 

Esp-32Proyectos para avanzados.Casa inteligente

3 comentarios

Thorsten

Thorsten

Stichwort Smarte Katzenidentifikation

Hallo zusammen,
zu uns kommen mehrer Katzen durch eine Katzenklappe (Klappe ausgebaut) zum Fressen in den Schuppen, eigene und fremde. Ich würde nun gerne wissen wollen, welche Katze wann in den Schuppen kommt (raus ist erst einmal egal). Als Idee hätte ich, dass 1. Fotos von der hereinkommenden Katze gemacht werden (Bewegungsmelder), auch nachts, und 2. mittels RFID-Scanner an der Öffnung der Chipcode ausgelesen wird. Fotos, RF-ID-Code und Uhrzeit sollten auf einem Webserver gespeichert werden, wo ich sie über Handy auslesen kann (bestenfalls auch per ESP im eigenen WLAN umgesetzt). Zur Not auch über eine Iot-Cloud.
auch mit Zeitstempel zuordnenbar sein.
Mit dieser Methode könnte ich nämlich auch Katzen identifizieren, die nicht gechipt sind und ggf. Anwärter auf eine Kastration/Chippung wären.
Vielleicht habt ihr ja eine schnuckelige Idee für eine Umsetzung per ESP32-CAM mit OV2640 und weiteres Zubehör (Bewegungsmelder, RFID-Reader) dafür? Würde mich freuen.
Viele Grüße, Thorsten

Sascha

Sascha

Echt eine tolle Sache!
Würde es auch gerne mit dem RFID Chip am Halsband realisieren, da die Katze eh schon einen hat, um die Klappe zu öffnen.
Wenn es dafür auch noch eine Lösung gäbe, wäre es echt ein Traum.
Vllt. mit 2 RFID Lesern. Einer kommt ganz an den Anfang der Klappe und einer an das Ende.
Je nach dem in welcher Reihenfolge die Leser ausgelöst werden, ist die Katze dann eben drin oder draußen.

Dirk Zwijas

Dirk Zwijas

Wäre das ganze nicht leichter mit einem RFID Chip im Katzenhalsband zu realisieren ?

Deja un comentario

Todos los comentarios son moderados antes de ser publicados

Artículos de blog

  1. Ahora instalamos el esp32 a través de la administración.
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. Transporte Aéreo - programación de ESP mediante redes locales inalámbricas