saltar al contenido

+49 1626571232

info@openelab.io

🚀 ¡Envío gratis a partir de 30€ en Alemania, 50€ en la UE!

Cómo construir una caja para mascotas inteligente con M5StickC Plus2

06 Mar 2025 0 Comentarios

Introducción

Con el rápido desarrollo de la tecnología del Internet de las Cosas (IoT), la Caja Inteligente para Mascotas ha surgido como un nuevo campo de aplicación. Los dueños de mascotas están cada vez más preocupados por la calidad de vida de sus mascotas, pero las cajas tradicionales para mascotas carecen de control automatizado y monitoreo ambiental. La Caja Inteligente para Mascotas, al integrar sensores y sistemas de control automatizado, es capaz de monitorear y ajustar el entorno de vida de las mascotas en tiempo real.

Este proyecto utiliza tecnología IoT y una variedad de módulos de sensores para monitorear parámetros como temperatura, humedad, concentración de CO₂ e intensidad de luz dentro de la caja para mascotas, asegurando que el ambiente siempre se mantenga dentro de un rango cómodo. Además, el proyecto incorpora funcionalidad de control remoto a través de una plataforma en la nube, permitiendo a los usuarios ver datos ambientales y ajustar dispositivos como humidificadores, ventiladores y almohadillas térmicas en cualquier momento. La Caja Inteligente para Mascotas facilita a los dueños de mascotas gestionar el ambiente de sus mascotas, mejorando la calidad de vida de las mascotas.

M5StickC PLUS2

M5StickC PLUS2

Ver producto

¿Qué es M5StickC Plus2?

El M5StickC Plus2 es una placa de desarrollo compacta que utiliza el chip ESP32 (ESP32-PICO-V3-02), que cuenta con una variedad de sensores y periféricos integrados. Este diseño la hace altamente adecuada para una amplia gama de aplicaciones embebidas. Sus principales características incluyen:
  • Diseño Compacto: Midiendo solo 54mm × 54mm, es fácil de llevar e integrar en varios proyectos.
  • Pantalla incorporada: Una pantalla TFT a color de 1.14 pulgadas que soporta múltiples fuentes y gráficos.
  • Sensores Multifuncionales: Incluye un acelerómetro, giroscopio, sensores de temperatura y humedad, entre otros, adecuados para diversos escenarios de aplicación.
  • Altavoz incorporado: Soporta la reproducción de audio, ideal para retroalimentación de sonido y funciones de alarma.
  • Interfaces Ricas: Soporta GPIO, I2C, UART y otras interfaces de comunicación, facilitando la expansión de periféricos.
  • Batería de Alimentación: La batería integrada soporta un funcionamiento a largo plazo, adecuada para aplicaciones móviles.

Esta sección describe el hardware y construye el entorno.

1. Hardware utilizado

M5StickC PLUS2

M5StickC PLUS2

Ver producto
Cámara OV2640

Cámara OV2640

Ver producto
Sensor de CO2 SCD40

Sensor de CO2 SCD40

Ver producto
Relé (3 piezas)

Relé (3 piezas)

Ver producto
M5Stack NCIR MLX90614

M5Stack NCIR MLX90614

Ver producto
reptil-usb-almohadilla-calefactora (1 unidad)

almohadilla de calefacción para mascotas reptiles-usb

Ver producto
humidificador pequeño (1 unidad)

humidificador pequeño (1 unidad)

Ver producto
Lámpara USB UVB (1 unidad)

Lámpara UVB USB (1 unidad)

Ver producto
Sensor de Luz (Unidad de Luz)

Sensor de luz

Ver producto
PaHub V2.1

PaHub V2.1

Ver producto
PubHub V1.1

PubHub V1.1

Ver producto

2. Método de Conexión

Conexión M5StickC Plus 2 y PaHub:

El M5StickC Plus 2 está conectado al módulo de expansión PaHub a través del bus I2C, con el M5StickC Plus 2 alimentado por USB-C.

Conexiones de PaHub y Sensores:

  • El Canal 0 en el PaHub está conectado al SCD40 Sensor de CO2.
  • El Canal 1 en el PaHub está conectado al Sensor de Temperatura Infrarrojo MLX90614.
  • El Canal 2 en el PaHub está conectado a PbHub.

PbHub y Periférico Conexiones:

  • El Canal 0 en el PbHub está conectado a un sensor de luz.
  • El canal 2 en el PbHub está conectado al módulo de cámara (utilizado solo para alimentación).
  • El Canal 3 en el PbHub controla el humidificador a través de un relé.
  • El Canal 4 en el PbHub controla la almohadilla térmica a través de un relé.
  • El Canal 5 en el PbHub controla la luz UVA a través de un relé.
  • El Canal 1 en el PbHub controla el ventilador a través de un relé (opcional).

Configuración del software

1. Entorno de software

Desarrollo Ambiente

Usa VSCode + PlatformIO para programar.

Para algunas de las bibliotecas utilizadas por el sensor, ve directamente a PIO Home -> Libraries -> Registry -> y busca una palabra clave.

Bibliotecas requeridas:

  • M5GFX – Utilizado para la visualización de gráficos y texto, controlando la pantalla M5Stack.
  • M5Unified – Proporciona una interfaz de API unificada para un control más fácil de los dispositivos M5Stack.
  • IRremote – Para recibir y transmitir señales IR para comunicarse con otros dispositivos.
  • M5StickCPlus2 – Controla la placa M5StickC Plus2, gestionando la inicialización y operación del dispositivo.
  • Sensirion I2C SCD4x – Para controlar el sensor ambiental SCD40 para leer la temperatura, la humedad y los niveles de CO2.
  • ArduinoJson – Utilizado para procesar y analizar datos JSON para subir datos de sensores a la plataforma en la nube.
  • M5Unit-HUB y M5Unit-PbHub – Para interactuar con los módulos PaHub y PbHub, expandiendo las interfaces I2C y GPIO, y conectando dispositivos externos adicionales.
  • TimerOne – Para controlar intervalos de tiempo, asegurando la recolección regular de datos del sensor.
  • PubSubClient – Implementa la comunicación MQTT para intercambiar datos con la plataforma en la nube.
  • Biblioteca Adafruit MLX90614 – Utilizada para controlar el sensor de temperatura infrarrojo MLX90614 para leer la temperatura inferior de la caja para mascotas.

2. Estructura del código

  • Conexión WiFi:Se conecta a la red a través de WiFi, lo que permite el acceso a la plataforma en la nube para la suscripción y publicación de datos.
  • MQTT Comunicación:Utiliza la biblioteca PubSubClient para implementar la comunicación MQTT, subiendo datos ambientales a la plataforma en la nube y recibiendo instrucciones de ella.
  • Recuperación de Datos del Sensor: Cada dato del sensor se lee periódicamente y se carga utilizando un método de sondeo:
  1. SCD40: Lee la temperatura, la humedad y la concentración de CO2.
  2. MLX90614: Lee los datos del sensor de temperatura (temperatura inferior).
  • Control de Dispositivos:Controla relés para encender y apagar dispositivos, como almohadillas térmicas, humidificadores, luces UVA, etc. Los dispositivos se pueden controlar automáticamente o manualmente estableciendo la temperatura y la humedad objetivo.

3. Plataforma IoT y Carga de Datos

  • Selección de Plataforma: Usamos Alibaba Cloud IoT para subir datos y gestionar dispositivos de forma remota.
  • Conexión y Vinculación del Dispositivo: Sigue el tutorial de configuración para vincular tu dispositivo con la plataforma en la nube.
  • Carga de Datos: Los datos del sensor se cargan a través del protocolo MQTT en formato JSON.
// Parse the received JSON message
void callback(char* topic, byte* payload, unsigned int length)
{
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");

  // Convert the received payload to a string
  char msg[length + 1];
  for (unsigned int i = 0; i < length; i++) {
    msg[i] = (char)payload[i];
  }
  msg[length] = '\0'; // Null terminator for the string

  // Output the received message
  Serial.println(msg);

  // Parse the JSON data
  JsonDocument doc;  // Use JsonDocument to parse JSON
  DeserializationError error = deserializeJson(doc, msg);  // Parse the message into a JSON object

  // Check if parsing was successful
  if (error) {
    Serial.printf("deserializeJson() failed: ");
    Serial.println(error.f_str());
    return;  // Exit if parsing failed
  }

  // Get the temperature value and print it, correctly retrieving the target_temperature from the nested "params" field
  if (doc["params"]["target_temperature"].is()) {
    target_temperature = doc["params"]["target_temperature"];
    Serial.print("Temperatura objetivo recibida: ");
    Serial.println(target_temperature);
  }
  // Get the humidity value and print it, correctly retrieving the target_humidity from the nested "params" field
  if (doc["params"]["target_humidity"].is()) {
    target_humidity = doc["params"]["target_humidity"];
    Serial.print("Recibido target_humidity: ");
    Serial.println(target_humidity);
  }
}



✔ ¡Copiado!

4. Llamada de retorno para recibir datos de la plataforma en la nube

// Parse the received JSON message
void callback(char* topic, byte* payload, unsigned int length)
{
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");

  // Convert the received payload to a string
  char msg[length + 1];
  for (unsigned int i = 0; i < length; i++) {
    msg[i] = (char)payload[i];
  }
  msg[length] = '\0'; // Null terminator for the string

  // Output the received message
  Serial.println(msg);

  // Parse the JSON data
  JsonDocument doc;  // Use JsonDocument to parse JSON
  DeserializationError error = deserializeJson(doc, msg);  // Parse the message into a JSON object

  // Check if parsing was successful
  if (error) {
    Serial.printf("deserializeJson() failed: ");
    Serial.println(error.f_str());
    return;  // Exit if parsing failed
  }

  // Get the temperature value and print it, correctly retrieving the target_temperature from the nested "params" field
  if (doc["params"]["target_temperature"].is()) {
    target_temperature = doc["params"]["target_temperature"];
    Serial.print("Temperatura objetivo recibida: ");
    Serial.println(target_temperature);
  }
  // Get the humidity value and print it, correctly retrieving the target_humidity from the nested "params" field
  if (doc["params"]["target_humidity"].is()) {
    target_humidity = doc["params"]["target_humidity"];
    Serial.print("Recibido target_humidity: ");
    Serial.println(target_humidity);
  }
}



 ✔ ¡Copiado!

 

Internet de las cosas Configuración de la Plataforma

1. Alibaba Cloud Internet de las cosas:

  • Inicie sesión en la plataforma IoT de Alibaba Cloud, cree un nuevo proyecto y configure los nombres de los dispositivos, las claves de producto, etc.
  • Recupera el ID del cliente, nombre de usuario, contraseña y asegúrate de que la configuración de comunicación MQTT sea correcta.

2. Control de la aplicación:

  • Crea un producto en la plataforma IoT de Alibaba Cloud y configura la interfaz para el control de dispositivos.
  • Utiliza el SDK de Alibaba Cloud para desarrollar una aplicación móvil que permita la monitorización en tiempo real y el control remoto de dispositivos.

Notas y Problemas Comunes

1. Inicialización del sensor:

  • El sensor de CO2 SCD40 requiere aproximadamente 6 segundos para la inicialización antes de que estén disponibles lecturas precisas.
  • El sensor MLX90614 requiere que la velocidad del bus I2C se establezca en 100kHz para funcionar correctamente.

2. Conflictos de Dispositivos:

  • Asegúrese de que las direcciones I2C para los módulos PaHub y PbHub sean únicas para evitar conflictos.
  • Asigne diferentes canales para sensores y periféricos en PaHub para evitar interferencias.

3. Depuración y Mejoramiento:

  • Ajuste la conexión del dispositivo y los intervalos de carga de datos para evitar cargas de datos excesivas y reducir la carga en la plataforma en la nube.
  • Si no se reciben datos en la plataforma en la nube, asegúrese de que las conexiones de los dispositivos sean estables y verifique la configuración de MQTT.

Casos de uso

El proyecto Smart Pet Box ofrece amplias aplicaciones, especialmente para los dueños de mascotas que buscan gestionar la salud y las necesidades diarias de sus mascotas. Aquí hay algunos casos de uso comunes:

1. Ambiental Monitoreo y Gestión:

Los sensores (temperatura, humedad, CO2) dentro de la caja para mascotas pueden monitorear continuamente los parámetros ambientales, asegurando que las condiciones de vida de la mascota estén siempre dentro de un rango ideal. Por ejemplo, si la temperatura se eleva demasiado, la almohadilla calefactora se apaga automáticamente, o si la humedad baja demasiado, se activa el humidificador.

2. Control Remoto y Ajustes:

Los dueños de mascotas que viajan con frecuencia o trabajan largas horas pueden gestionar el entorno de sus mascotas de forma remota a través de la plataforma en la nube. Pueden ajustar la temperatura, la humedad o controlar dispositivos como almohadillas calefactoras, humidificadores, etc., todo a través de una aplicación móvil.

3. Automatización:

El sistema puede ajustar automáticamente el entorno en función de los valores de temperatura y humedad objetivo preestablecidos, reduciendo la necesidad de intervención manual.

4. Monitoreo de mascotas:

Con el módulo de cámara OV2640, los dueños de mascotas pueden ver imágenes en vivo de sus mascotas y su entorno. La plataforma en la nube también permite interactuar con las mascotas a través de la voz.

5. Uso versátil:

Ya sea en casa, en una oficina o mientras viaja, la Smart Pet Box proporciona una gestión eficiente de las mascotas, especialmente durante largas ausencias en las que los dueños de mascotas no tienen que preocuparse por el bienestar de sus animales.

En general, este transportador inteligente para mascotas mejora la conveniencia de gestión de los dueños de mascotas y la calidad de vida de las mascotas a través de la automatización, el control remoto y la monitorización en tiempo real.

Posibilidades Futuras y Expansión

La Smart Pet Box no solo se trata de crear un ambiente cómodo para las mascotas; también tiene un gran potencial para futuras expansiones y personalizaciones. Aquí hay algunas direcciones emocionantes para el desarrollo futuro:

1. Entornos para Mascotas Acuáticas:

Aunque está diseñado para mascotas terrestres, el sistema se expandirá para soportar mascotas acuáticas al reemplazar la almohadilla calefactora con varillas calefactoras sumergibles y agregar sensores de temperatura submarinos para mantener condiciones acuáticas ideales.

2. Características de bricolaje y personalización:

La Smart Pet Box está diseñada para ser flexible. En el futuro, los usuarios podrán agregar módulos personalizados para funcionalidad adicional. Por ejemplo, los usuarios pueden agregar ventiladores de ventilación, funciones de voz y actualizaciones de cámara. A través de la plataforma en la nube, los usuarios pueden controlar estas funciones de forma remota, incluso interactuar con las mascotas a través de la comunicación por voz.

3. Salud Escucha:

Las mejoras futuras incluirán sistemas de monitoreo de salud, como monitores de frecuencia cardíaca, detectores de movimiento y cámaras para evaluar la actividad de las mascotas. Este sistema notificará a los dueños sobre comportamientos anormales y permitirá una intervención temprana.

4. Inteligencia en la Nube y Automatización:

Aprovechando la computación en la nube y la IA, la Caja de Mascotas utilizará análisis predictivos para ajustar el entorno en función de datos históricos. Esto reducirá la entrada manual y hará que el sistema sea más inteligente y autónomo.

Conclusión

Este proyecto integra M5StickC Plus2 y varios sensores para crear una Smart Pet Box capaz de monitorear el entorno, controlar dispositivos y proporcionar gestión remota a través de la plataforma en la nube. El uso de PaHub y PbHub garantiza un sondeo eficiente de múltiples dispositivos, asegurando un funcionamiento fluido y estable del sistema.

 

Publicación anterior
Siguiente publicación

Deja un comentario

Todos los comentarios del blog se revisan antes de publicarlos.

Alguien compró recientemente un

¡Gracias por suscribirte!

¡Este correo electrónico ha sido registrado!

Compra el look

Elija opciones

Visto recientemente

Editar opción
Notificación de nuevo disponible
this is just a warning
Acceso
Carro de la compra
0 elementos
RuffRuff App RuffRuff App by Tsun