Aller au contenu

+49 1626571232

info@openelab.io

🚀 Livraison gratuite à partir de 30€ en Allemagne, 50€ dans l'UE !

FAQ

Comment construire une boîte à animaux intelligente avec M5StickC Plus2

06 Mar 2025 0 commentaires

Introduction

Avec le développement rapide de la technologie de l'Internet des Objets (IoT), la Smart Pet Box a émergé comme un nouveau domaine d'application. Les propriétaires d'animaux sont de plus en plus préoccupés par la qualité de vie de leurs animaux, mais les boîtes pour animaux traditionnelles manquent de contrôle automatisé et de surveillance environnementale. La Smart Pet Box, en intégrant des capteurs et des systèmes de contrôle automatisés, est capable de surveiller et ajuster l'environnement de vie des animaux en temps réel.

Ce projet utilise la technologie IoT et une variété de modules de capteurs pour surveiller des paramètres tels que la température, l'humidité, la concentration de CO₂ et l'intensité lumineuse à l'intérieur de la boîte pour animaux, garantissant que l'environnement reste toujours dans une plage confortable. De plus, le projet intègre une fonctionnalité de contrôle à distance via une plateforme cloud, permettant aux utilisateurs de visualiser les données environnementales et ajuster des dispositifs tels que des humidificateurs, des ventilateurs et des coussins chauffants à tout moment. La Smart Pet Box facilite la tâche des propriétaires d'animaux pour gérer l'environnement de leurs animaux, améliorant ainsi la qualité de vie des animaux.

M5StickC PLUS2

M5StickC PLUS2

Voir le produit

Qu'est-ce que le M5StickC Plus2 ?

Le M5StickC Plus2 est une carte de développement compacte qui utilise la puce ESP32 (ESP32-PICO-V3-02), dotée d'un ensemble de capteurs et de périphériques intégrés. Ce design la rend particulièrement adaptée à une large gamme d'applications embarquées. Ses principales caractéristiques incluent :
  • Design Compact : Mesurant seulement 54 mm × 54 mm, il est facile à transporter et à intégrer dans divers projets.
  • Écran intégré : Un écran TFT couleur de 1,14 pouce prenant en charge plusieurs polices et affichages graphiques.
  • Capteurs Multifonctionnels : Comprend un accéléromètre, un gyroscope, des capteurs de température et d'humidité, entre autres, adaptés à divers scénarios d'application.
  • Haut-parleur intégré : Prend en charge la lecture audio, idéal pour les retours sonores et les fonctions d'alarme.
  • Interfaces Riches : Prend en charge GPIO, I2C, UART et d'autres interfaces de communication, facilitant l'expansion des périphériques.
  • Alimenté par batterie : La batterie intégrée prend en charge un fonctionnement à long terme, adaptée aux applications mobiles.

Cette section décrit le matériel et construit l'environnement.

1. Matériel utilisé

M5StickC PLUS2

M5StickC PLUS2

Voir le produit
Caméra OV2640

Caméra OV2640

Voir le produit
Capteur de CO2 SCD40

Capteur de CO2 SCD40

Voir le produit
Relais (3 pièces)

Relais (3 pièces)

Voir le produit
M5Stack NCIR MLX90614

M5Stack NCIR MLX90614

Voir le produit
reptile-usb-pet-heating-pad (1 pcs)

coussin-chauffant-usb-pour-reptiles

Voir le produit
petit-humidificateur (1 pièce)

petit-humidificateur (1 pièce)

Voir le produit
Lampe USB UVB (1 pièce)

Lampe UVB USB (1 pièce)

Voir le produit
Capteur de lumière (Unité lumière)

Capteur de lumière

Voir le produit
PaHub V2.1

PaHub V2.1

Voir le produit
PubHub V1.1

PubHub V1.1

Voir le produit

2. Méthode de connexion

M5StickC Plus 2 et connexion PaHub :

Le M5StickC Plus 2 est connecté au module d'extension PaHub via le bus I2C, le M5StickC Plus 2 étant alimenté par USB-C.

Connexions PaHub et capteurs:

  • Le canal 0 sur le PaHub est connecté au SCD40 Capteur de CO2.
  • Le canal 1 sur le PaHub est connecté au capteur de température infrarouge MLX90614.
  • Le canal 2 sur le PaHub est connecté à PbHub.

PbHub et Périphérique Relations:

  • Le canal 0 sur le PbHub est connecté à un capteur de lumière.
  • Le canal 2 sur le PbHub est connecté au module caméra (utilisé uniquement pour l'alimentation).
  • La chaîne 3 sur le PbHub contrôle le humidificateur via un relais.
  • Le canal 4 sur le PbHub contrôle le coussin chauffant via un relais.
  • La chaîne 5 sur le PbHub contrôle la lumière UVA via un relais.
  • Le canal 1 sur le PbHub contrôle le ventilateur via un relais (optionnel).

Configuration du logiciel

1. Environnement logiciel

Développement Environnement

Utilisez VSCode + PlatformIO pour programmer.

Pour certaines des bibliothèques utilisées par le capteur, allez directement à PIO Accueil -> Bibliothèques -> Registre -> et recherchez un mot-clé.

Bibliothèques requises :

  • M5GFX – Utilisé pour l'affichage de graphiques et de texte, contrôlant l'affichage M5Stack.
  • M5Unified – Fournit une interface API unifiée pour un contrôle plus facile des appareils M5Stack.
  • IRremote – Pour recevoir et transmettre des signaux IR afin de communiquer avec d'autres appareils.
  • M5StickCPlus2 – Contrôle la carte M5StickC Plus2, gérant l'initialisation et le fonctionnement de l'appareil.
  • Sensirion I2C SCD4x – Pour contrôler le capteur environnemental SCD40 afin de lire la température, l'humidité et les niveaux de CO2.
  • ArduinoJson – Utilisé pour traiter et analyser les données JSON afin de télécharger les données des capteurs sur la plateforme cloud.
  • M5Unit-HUB et M5Unit-PbHub – Pour interagir avec les modules PaHub et PbHub, étendre les interfaces I2C et GPIO, et connecter des dispositifs externes supplémentaires.
  • TimerOne – Pour contrôler les intervalles de temps, garantissant une collecte régulière des données des capteurs.
  • PubSubClient – Implémente la communication MQTT pour échanger des données avec la plateforme cloud.
  • Bibliothèque Adafruit MLX90614 – Utilisée pour contrôler le capteur de température infrarouge MLX90614 afin de lire la température inférieure de la boîte pour animaux.

2. Structure du code

  • Connexion WiFi : Se connecte au réseau via WiFi, permettant l'accès à la plateforme cloud pour l'abonnement et la publication de données.
  • MQTT Communication:Utilise la bibliothèque PubSubClient pour mettre en œuvre la communication MQTT, téléchargeant des données environnementales sur la plateforme cloud et recevant des instructions de celle-ci.
  • Récupération des données du capteur : Chaque donnée du capteur est lue périodiquement et téléchargée à l'aide d'une méthode de sondage :
  1. SCD40 : Lit la température, l'humidité et la concentration de CO2.
  2. MLX90614 : Lit les données du capteur de température (température inférieure).
  • Contrôle des appareils :Contrôle des relais pour allumer et éteindre des appareils, tels que des coussins chauffants, des humidificateurs, des lumières UVA, etc. Les appareils peuvent être contrôlés automatiquement ou manuellement en réglant la température et l'humidité cibles.

3. Plateforme IoT et Téléversement de Données

  • Sélection de la plateforme : Nous utilisons Alibaba Cloud IoT pour télécharger des données et gérer des appareils à distance.
  • Connexion et Liaison de l'Appareil : Suivez le tutoriel de configuration pour lier votre appareil à la plateforme cloud.
  • Téléchargement de données : Les données des capteurs sont téléchargées via le protocole MQTT au format 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("Température cible reçue : ");
    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("Humidité cible reçue : ");
    Serial.println(target_humidity);
  }
}



✔ Copié !

4. Rappel pour recevoir des données de la plateforme cloud

// 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("Température cible reçue : ");
    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("Humidité cible reçue : ");
    Serial.println(target_humidity);
  }
}



 ✔ Copié !

 

IoT Configuration de la plateforme

1. Alibaba Cloud IoT:

  • Connectez-vous à la plateforme IoT d'Alibaba Cloud, créez un nouveau projet et configurez les noms des appareils, les clés de produit, etc.
  • Récupérez l'ID client, le nom d'utilisateur, le mot de passe et assurez-vous que les paramètres de communication MQTT sont corrects.

2. Contrôle des applications :

  • Créez un produit sur la plateforme IoT d'Alibaba Cloud et configurez l'interface pour le contrôle des appareils.
  • Utilisez le SDK d'Alibaba Cloud pour développer une application mobile qui permet la surveillance en temps réel et le contrôle à distance des appareils.

Notes et problèmes courants

1. Initialisation du capteur :

  • Le capteur de CO2 SCD40 nécessite environ 6 secondes pour l'initialisation avant que des lectures précises ne soient disponibles.
  • Le capteur MLX90614 nécessite que la vitesse du bus I2C soit réglée à 100 kHz pour fonctionner correctement.

2. Conflits de périphériques :

  • Assurez-vous que les adresses I2C pour les modules PaHub et PbHub sont uniques afin d'éviter les conflits.
  • Attribuez différents canaux pour les capteurs et les périphériques sur PaHub afin d'éviter les interférences.

3. Débogage et Optimisation:

  • Ajustez la connexion de l'appareil et les intervalles de téléchargement des données pour éviter des téléchargements de données excessifs et réduire la charge sur la plateforme cloud.
  • Si les données ne sont pas reçues sur la plateforme cloud, assurez-vous que les connexions des appareils sont stables et vérifiez les paramètres MQTT.

Cas d'utilisation

Le projet Smart Pet Box offre de nombreuses applications, en particulier pour les propriétaires d'animaux cherchant à gérer la santé et les besoins quotidiens de leurs animaux. Voici quelques cas d'utilisation courants :

1. Environnemental Surveillance et Gestion :

Les capteurs (température, humidité, CO2) à l'intérieur de la boîte pour animaux peuvent surveiller en continu les paramètres environnementaux, garantissant que les conditions de vie de l'animal restent toujours dans une plage idéale. Par exemple, si la température devient trop élevée, le coussin chauffant est automatiquement éteint, ou si l'humidité tombe trop bas, l'humidificateur est activé.

2. Télécommande et réglages :

Les propriétaires d'animaux qui voyagent fréquemment ou travaillent de longues heures peuvent gérer l'environnement de leurs animaux à distance grâce à la plateforme cloud. Ils peuvent ajuster la température, l'humidité ou contrôler des dispositifs comme des coussins chauffants, des humidificateurs, etc., le tout via une application mobile.

3. Automatisation :

Le système peut ajuster automatiquement l'environnement en fonction des valeurs de température et d'humidité cibles préétablies, réduisant ainsi le besoin d'intervention manuelle.

4. Surveillance des animaux de compagnie :

Avec le module caméra OV2640, les propriétaires d'animaux peuvent voir des images en direct de leurs animaux et de leur environnement. La plateforme cloud permet également d'interagir avec les animaux par la voix.

5. Utilisation polyvalente :

Que ce soit à la maison, au bureau ou en voyage, la Smart Pet Box offre une gestion efficace des animaux de compagnie, en particulier lors de longues absences où les propriétaires d'animaux n'ont pas à s'inquiéter du bien-être de leurs animaux.

Dans l'ensemble, ce transporteur intelligent pour animaux améliore la commodité de gestion des propriétaires d'animaux et la qualité de vie des animaux grâce à l'automatisation, au contrôle à distance et à la surveillance en temps réel.

Possibilités futures et expansion

La Smart Pet Box ne se limite pas à créer un environnement confortable pour les animaux de compagnie ; elle offre également un potentiel immense pour l'expansion et la personnalisation futures. Voici quelques directions passionnantes pour le développement futur :

1. Environnements pour animaux de compagnie aquatiques :

Bien que conçu pour les animaux de compagnie terrestres, le système s'étendra pour prendre en charge les animaux de compagnie aquatiques en remplaçant le coussin chauffant par des tiges chauffantes submersibles et en ajoutant des capteurs de température sous-marins pour maintenir des conditions aquatiques idéales.

2. Fonctionnalités DIY et personnalisation :

La Smart Pet Box est conçue pour être flexible. À l'avenir, les utilisateurs pourront ajouter des modules personnalisés pour des fonctionnalités supplémentaires. Par exemple, les utilisateurs peuvent ajouter des ventilateurs de ventilation, des fonctionnalités vocales et des mises à niveau de caméra. Grâce à la plateforme cloud, les utilisateurs peuvent contrôler ces fonctionnalités à distance, et même interagir avec leurs animaux de compagnie par communication vocale.

3. Santé Surveillance:

Les améliorations futures incluront des systèmes de surveillance de la santé tels que des moniteurs de fréquence cardiaque, des détecteurs de mouvement et des caméras pour évaluer l'activité des animaux de compagnie. Ce système notifiera les propriétaires de comportements anormaux et permettra une intervention précoce.

4. Intelligence Cloud et Automatisation :

En tirant parti de l'informatique en nuage et de l'IA, la Pet Box utilisera l'analyse prédictive pour ajuster l'environnement en fonction des données historiques. Cela réduira l'entrée manuelle et rendra le système plus intelligent et autonome.

Conclusion

Ce projet intègre M5StickC Plus2 et divers capteurs pour créer une Boîte à Animaux Intelligente capable de surveiller l'environnement, de contrôler des appareils et de fournir une gestion à distance via la plateforme cloud. L'utilisation de PaHub et PbHub garantit un sondage efficace de plusieurs appareils, assurant un fonctionnement fluide et stable du système.

 

Article précédent
Prochain article

laissez un commentaire

Tous les commentaires du blog sont vérifiés avant la publication

Quelqu'un a récemment acheté un

Merci pour votre subscription!

Cet email a été enregistré !

Achetez le look

Choisissez les options

vu récemment

Modifier l'option
Notification de retour en stock
this is just a warning
Se connecter
Panier
0 articles
RuffRuff App RuffRuff App by Tsun