Zum Inhalt springen

+49 1626571232

info@openelab.io

🚀 Kostenloser Versand ab 30€ in Deutschland, 50€ in der EU!

Wie man eine intelligente Haustierbox mit M5StickC Plus2 baut

06 Mar 2025 0 Kommentare

Einführung

Mit der rasanten Entwicklung der Internet der Dinge (IoT) Technologie hat sich die Smart Pet Box als ein neues Anwendungsfeld herausgebildet. Tierbesitzer sind zunehmend besorgt über die Lebensqualität ihrer Haustiere, aber traditionelle Tierboxen fehlen automatisierte Steuerung und Umweltüberwachung. Die Smart Pet Box ist in der Lage, durch die Integration von Sensoren und automatisierten Steuerungssystemen die Lebensumgebung von Haustieren in Echtzeit zu überwachen und anzupassen.

Dieses Projekt nutzt IoT-Technologie und eine Vielzahl von Sensor-Modulen, um Parameter wie Temperatur, Luftfeuchtigkeit, CO₂-Konzentration und Lichtintensität im Haustierbox zu überwachen, um sicherzustellen, dass die Umgebung immer innerhalb eines komfortablen Bereichs bleibt. Darüber hinaus integriert das Projekt Funktionen zur Fernsteuerung über eine Cloud-Plattform, die es den Nutzern ermöglicht, Umweltdaten zu anzeigen und Geräte wie Luftbefeuchter, Ventilatoren und Heizkissen jederzeit anzupassen. Die Smart Pet Box erleichtert es Haustierbesitzern, die Umgebung ihrer Haustiere zu verwalten, was die allgemeine Lebensqualität für Haustiere verbessert.

M5StickC PLUS2

M5StickC PLUS2

Produkt ansehen

Was ist M5StickC Plus2?

Das M5StickC Plus2 ist ein kompaktes Entwicklungsboard, das den ESP32-Chip (ESP32-PICO-V3-02) nutzt und eine Vielzahl integrierter Sensoren und Peripheriegeräte bietet. Dieses Design macht es äußerst geeignet für eine Vielzahl von eingebetteten Anwendungen. Zu den Hauptmerkmalen gehören:
  • Kompaktes Design: Mit nur 54mm × 54mm ist es einfach zu transportieren und in verschiedene Projekte zu integrieren.
  • Integriertes Display: Ein 1,14-Zoll-Farb-TFT-Display, das mehrere Schriftarten und grafische Anzeigen unterstützt.
  • Multifunktionale Sensoren: Beinhaltet einen Beschleunigungssensor, ein Gyroskop, Temperatur- und Feuchtigkeitssensoren sowie weitere, geeignet für verschiedene Anwendungsszenarien.
  • Integrierter Lautsprecher: Unterstützt die Audio-Wiedergabe, ideal für akustisches Feedback und Alarmfunktionen.
  • Reiche Schnittstellen: Unterstützt GPIO, I2C, UART und andere Kommunikationsschnittstellen, die die Peripherieerweiterung erleichtern.
  • Batteriebetrieben: Integrierter Akku unterstützt den langfristigen Betrieb, geeignet für mobile Anwendungen.

Dieser Abschnitt beschreibt die Hardware und erstellt die Umgebung.

1. Verwendete Hardware

M5StickC PLUS2

M5StickC PLUS2

Produkt ansehen
OV2640 Kamera

OV2640 Kamera

Produkt ansehen
SCD40 CO2-Sensor

SCD40 CO2-Sensor

Produkt ansehen
Relais (3 Stück)

Relais (3 Stück)

Produkt ansehen
M5Stack NCIR MLX90614

M5Stack NCIR MLX90614

Produkt ansehen
reptil-usb-haustier-heizkissen (1 Stück)

reptil-usb-haustier-heizkissen

Produkt ansehen
kleiner-Luftbefeuchter (1 Stk)

kleiner-Luftbefeuchter(1 Stk)

Produkt ansehen
USB UVB Lampe (1 Stück)

USB-UVB-Lampe (1 Stück)

Produkt ansehen
Lichtsensor (Einheit Licht)

Lichtsensor

Produkt ansehen
PaHub V2.1

PaHub V2.1

Produkt ansehen
PubHub V1.1

PubHub V1.1

Produkt ansehen

2. Verbindungsart

M5StickC Plus 2 und PaHub Verbindung:

Der M5StickC Plus 2 ist über den I2C-Bus mit dem PaHub-Erweiterungsmodul verbunden, wobei der M5StickC Plus 2 über USB-C mit Strom versorgt wird.

PaHub und Sensorverbindungen:

  • Der Kanal 0 am PaHub ist mit dem SCD40 CO2-Sensor verbunden.
  • Der Kanal 1 auf dem PaHub ist mit dem MLX90614 InfrarotTemperatursensor verbunden.
  • Der Kanal 2 auf dem PaHub ist mit PbHub verbunden.

PbHub und Peripheriegeräte Verbindungen:

  • Der Kanal 0 am PbHub ist mit einem Lichtsensor verbunden.
  • Der Kanal 2 auf dem PbHub ist mit dem Kameramodul verbunden (nur zur Stromversorgung verwendet).
  • Der Kanal 3 auf dem PbHub steuert den Luftbefeuchter über ein Relais.
  • Der Kanal 4 auf dem PbHub steuert das Heizkissen über ein Relais.
  • Der Kanal 5 auf dem PbHub steuert das UVA Licht über ein Relais.
  • Der Kanal 1 auf dem PbHub steuert den Ventilator über ein Relais (optional).

Software-Setup

1. Softwareumgebung

Entwicklung Umfeld

Verwenden Sie VSCode + PlatformIO zum Programmieren.

Für einige der von dem Sensor verwendeten Bibliotheken gehen Sie direkt zu PIO Home -> Bibliotheken -> Registry -> und suchen Sie nach einem Schlüsselwort.

Erforderliche Bibliotheken:

  • M5GFX – Wird zur Anzeige von Grafiken und Text verwendet, um das M5Stack-Display zu steuern.
  • M5Unified – Bietet eine einheitliche API-Schnittstelle für eine einfachere Steuerung von M5Stack-Geräten.
  • IRremote – Zum Empfangen und Senden von IR-Signalen zur Kommunikation mit anderen Geräten.
  • M5StickCPlus2 – Steuert das M5StickC Plus2-Board, verwaltet die Geräteinitialisierung und den Betrieb.
  • Sensirion I2C SCD4x – Zur Steuerung des SCD40 Umweltsensors zur Messung von Temperatur, Luftfeuchtigkeit und CO2-Werten.
  • ArduinoJson – Wird verwendet, um JSON-Daten zu verarbeiten und zu parsen, um Sensordaten auf die Cloud-Plattform hochzuladen.
  • M5Unit-HUB und M5Unit-PbHub – Zum Interagieren mit PaHub- und PbHub-Modulen, Erweitern der I2C- und GPIO-Schnittstellen und Anschließen zusätzlicher externer Geräte.
  • TimerOne – Zur Steuerung von Zeitintervallen, um eine regelmäßige Datensammlung von Sensoren sicherzustellen.
  • PubSubClient – Implementiert die MQTT-Kommunikation zum Austausch von Daten mit der Cloud-Plattform.
  • Adafruit MLX90614 Bibliothek – Wird verwendet, um den MLX90614 Infrarot-Temperatursensor zu steuern, um die Bodentemperatur der Tierbox zu lesen.

2. Codestruktur

  • WiFi-Verbindung:Stellt eine Verbindung zum Netzwerk über WiFi her, wodurch der Zugriff auf die Cloud-Plattform für die Abonnierung und Veröffentlichung von Daten ermöglicht wird.
  • MQTT Kommunikation:Verwendet die PubSubClient-Bibliothek, um die MQTT-Kommunikation zu implementieren, Umweltdaten in die Cloud-Plattform hochzuladen und Anweisungen von ihr zu empfangen.
  • Sensor-Datenabruf: Jedes Sensors Daten werden regelmäßig gelesen und mithilfe einer Abfragemethode hochgeladen:
  1. SCD40: Liest Temperatur, Luftfeuchtigkeit und CO2-Konzentration.
  2. MLX90614:Liest die Daten des Temperatursensors (Untertemperatur).
  • Gerätesteuerung:Steuert Relais, um Geräte ein- und auszuschalten, wie z.B. Heizkissen, Luftbefeuchter, UVA-Lampen usw. Die Geräte können automatisch oder manuell gesteuert werden, indem die Zieltemperatur und -feuchtigkeit eingestellt werden.

3. IoT-Plattform und Daten-Upload

  • Plattformauswahl: Wir verwenden Alibaba Cloud IoT, um Daten hochzuladen und Geräte aus der Ferne zu verwalten.
  • Geräteverbindung und Bindung: Befolgen Sie das Einrichtungstutorial, um Ihr Gerät mit der Cloud-Plattform zu verbinden.
  • Daten-Upload: Sensordaten werden über das MQTT-Protokoll im JSON-Format hochgeladen.
// 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("Empfangene Zieltemperatur: ");
    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("Empfangen Ziel-Feuchtigkeit: ");
    Serial.println(target_humidity);
  }
}



✔ Kopiert!

4. Rückruf zum Empfang von Daten von der Cloud-Plattform

// 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("Empfangene Zieltemperatur: ");
    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("Empfangen Ziel-Feuchtigkeit: ");
    Serial.println(target_humidity);
  }
}



 ✔ Kopiert!

 

IoT Plattformkonfiguration

1. Alibaba Cloud IoT:

  • Melden Sie sich bei der Alibaba Cloud IoT-Plattform an, erstellen Sie ein neues Projekt und konfigurieren Sie Gerätenamen, Produkt-Keys usw.
  • Rufen Sie die Client-ID, den Benutzernamen, das Passwort ab und stellen Sie sicher, dass die MQTT-Kommunikationseinstellungen korrekt sind.

2. App-Steuerung:

  • Erstellen Sie ein Produkt auf der Alibaba Cloud IoT-Plattform und konfigurieren Sie die Schnittstelle zur Gerätesteuerung.
  • Verwenden Sie das SDK von Alibaba Cloud, um eine mobile App zu entwickeln, die eine Echtzeitüberwachung und Fernsteuerung von Geräten ermöglicht.

Notizen und häufige Probleme

1. Sensorinitialisierung:

  • Der SCD40 CO2-Sensor benötigt etwa 6 Sekunden für die Initialisierung, bevor genaue Messwerte verfügbar sind.
  • Der MLX90614-Sensor erfordert, dass die I2C-Busgeschwindigkeit auf 100 kHz eingestellt wird, um korrekt zu funktionieren.

2. Gerätekonflikte:

  • Stellen Sie sicher, dass die I2C-Adressen für die PaHub- und PbHub-Module eindeutig sind, um Konflikte zu vermeiden.
  • Weisen Sie verschiedene Kanäle für Sensoren und Peripheriegeräte auf PaHub zu, um Interferenzen zu vermeiden.

3. Debuggen und Optimierung:

  • Passen Sie die Gerätekonfiguration und die Datenübertragungsintervalle an, um übermäßige Datenübertragungen zu vermeiden und die Belastung der Cloud-Plattform zu reduzieren.
  • Wenn keine Daten auf der Cloud-Plattform empfangen werden, stellen Sie stabile Geräteverbindungen sicher und überprüfen Sie die MQTT-Einstellungen.

Anwendungsfälle

Das Smart Pet Box-Projekt bietet zahlreiche Anwendungsmöglichkeiten, insbesondere für Tierbesitzer, die die Gesundheit und täglichen Bedürfnisse ihrer Haustiere verwalten möchten. Hier sind einige häufige Anwendungsfälle:

1. Umwelt Überwachung und Verwaltung:

Die Sensoren (Temperatur, Luftfeuchtigkeit, CO2) im Haustierkasten können kontinuierlich Umweltparameter überwachen und sicherstellen, dass die Lebensbedingungen des Haustiers immer innerhalb eines idealen Bereichs liegen. Wenn die Temperatur beispielsweise zu hoch wird, wird das Heizkissen automatisch abgeschaltet, oder wenn die Luftfeuchtigkeit zu niedrig ist, wird der Luftbefeuchter aktiviert.

2. Fernbedienung und Anpassungen:

Haustierbesitzer, die häufig reisen oder lange Arbeitszeiten haben, können die Umgebung ihrer Haustiere über die Cloud-Plattform aus der Ferne verwalten. Sie können die Temperatur, die Luftfeuchtigkeit anpassen oder Geräte wie Heizkissen, Luftbefeuchter usw. steuern, alles über eine mobile App.

3. Automatisierung:

Das System kann die Umgebung automatisch an die voreingestellten Zielwerte für Temperatur und Luftfeuchtigkeit anpassen, wodurch der Bedarf an manueller Intervention verringert wird.

4. Haustierüberwachung:

Mit dem OV2640-Kameramodul können Haustierbesitzer Live-Aufnahmen ihrer Haustiere und ihrer Umgebung ansehen. Die Cloud-Plattform ermöglicht auch die Interaktion mit Haustieren über Sprache.

5. Vielseitige Nutzung:

Ob zu Hause, im Büro oder auf Reisen, die Smart Pet Box bietet eine effiziente Tierverwaltung, insbesondere bei längeren Abwesenheiten, bei denen sich Tierbesitzer keine Sorgen um das Wohlbefinden ihrer Haustiere machen müssen.

Insgesamt verbessert diese intelligente Haustiertrage die Verwaltungskomfort für Haustierbesitzer und die Lebensqualität von Haustieren durch Automatisierung, Fernsteuerung und Echtzeitüberwachung.

Zukünftige Möglichkeiten und Expansion

Die Smart Pet Box geht nicht nur darum, eine komfortable Umgebung für Haustiere zu schaffen; sie birgt auch großes Potenzial für zukünftige Erweiterungen und Anpassungen. Hier sind einige spannende Richtungen für die zukünftige Entwicklung:

1. Aquatische Haustierumgebungen:

Während es für terrestrische Haustiere konzipiert ist, wird das System erweitert, um aquatische Haustiere zu unterstützen, indem die Heizmatte durch untertauchbare Heizstäbe ersetzt und Unterwassertemperatursensoren hinzugefügt werden, um ideale aquatische Bedingungen aufrechtzuerhalten.

2. DIY-Funktionen und Anpassung:

Die Smart Pet Box ist so konzipiert, dass sie flexibel ist. In Zukunft werden Benutzer in der Lage sein, benutzerdefinierte Module für zusätzliche Funktionen hinzuzufügen. Zum Beispiel können Benutzer Belüftungsventilatoren, Sprachfunktionen und Kamera-Upgrades hinzufügen. Über die Cloud-Plattform können Benutzer diese Funktionen aus der Ferne steuern und sogar über Sprachkommunikation mit ihren Haustieren interagieren.

3. Gesundheit Überwachung:

Zukünftige Verbesserungen werden Gesundheitssysteme wie Herzfrequenzmonitore, Bewegungssensoren und Kameras zur Bewertung der Aktivität von Haustieren umfassen. Dieses System wird die Besitzer über abnormales Verhalten informieren und eine frühzeitige Intervention ermöglichen.

4. Cloud-Intelligenz und Automatisierung:

Durch die Nutzung von Cloud-Computing und KI wird die Pet Box prädiktive Analysen verwenden, um die Umgebung basierend auf historischen Daten anzupassen. Dies wird den manuellen Aufwand reduzieren und das System intelligenter und autonomer machen.

Abschluss

Dieses Projekt integriert M5StickC Plus2 und verschiedene Sensoren, um eine Smart Pet Box zu schaffen, die in der Lage ist, die Umgebung zu überwachen, Geräte zu steuern und eine Fernverwaltung über die Cloud-Plattform bereitzustellen. Der Einsatz von PaHub und PbHub gewährleistet eine effiziente Abfrage mehrerer Geräte und sorgt für einen reibungslosen und stabilen Betrieb des Systems.

 

Vorheriger Beitrag
Nächster Beitrag

Hinterlassen Sie einen Kommentar

Alle Blog-Kommentare werden vor der Veröffentlichung geprüft

Jemand kaufte vor kurzem ein

Danke fürs Abonnieren!

Diese E-Mail wurde registriert!

Shoppen Sie den Look

Wähle Optionen

zuletzt angesehen

Bearbeitungsoption
Benachrichtigung wieder vorrätig
this is just a warning
Anmeldung
Einkaufswagen
0 Artikel
RuffRuff App RuffRuff App by Tsun