Doorgaan naar artikel

+49 1626571232

info@openelab.io

🚀 Gratis verzending vanaf 30€ in Duitsland, 50€ in de EU!

Hoe een Slimme Huisdierdoos te Bouwen met M5StickC Plus2

06 Mar 2025 0 Opmerkingen

Invoering

Met de snelle ontwikkeling van Internet of Things (IoT) technologie is de Slimme Dierenbox ontstaan als een nieuw toepassingsgebied. Dierenbezitters maken zich steeds meer zorgen over de kwaliteit van het leven van hun huisdieren, maar traditionele dierenboxen missen geautomatiseerde controle en milieu monitoring. De Slimme Dierenbox kan, door sensoren en geautomatiseerde controlesystemen te integreren, de leefomgeving van huisdieren in real-time monitoren en aanpassen.

Dit project maakt gebruik van IoT-technologie en een verscheidenheid aan sensormodules om parameters zoals temperatuur, luchtvochtigheid, CO₂-concentratie en lichtintensiteit binnen de huisdierbox te monitoren, zodat de omgeving altijd binnen een comfortabel bereik blijft. Daarnaast omvat het project functionaliteit voor afstandsbediening via een cloudplatform, waardoor gebruikers milieugegevens kunnen bekijken en apparaten zoals luchtbevochtigers, ventilatoren en verwarmingskussens op elk moment kunnen aanpassen. De Slimme Huisdierbox maakt het gemakkelijker voor huisdiereigenaren om de omgeving van hun huisdieren te beheren, wat de algehele levenskwaliteit voor huisdieren verbetert.

M5StickC PLUS2

M5StickC PLUS2

Bekijk product

Wat is de M5StickC Plus2?

De M5StickC Plus2 is een compacte ontwikkelbord die gebruikmaakt van de ESP32-chip (ESP32-PICO-V3-02), met een reeks geïntegreerde sensoren en randapparatuur. Dit ontwerp maakt het zeer geschikt voor een breed scala aan embedded toepassingen. De belangrijkste kenmerken zijn:'
  • Compact Ontwerp: Met een afmeting van slechts 54mm × 54mm is het gemakkelijk te dragen en te integreren in verschillende projecten.
  • Ingebouwd Display: Een 1,14-inch kleur TFT-display dat meerdere lettertypen en grafische weergaven ondersteunt.
  • Multifunctionele Sensoren: Bevat een versnellingsmeter, gyroscoop, temperatuur- en vochtigheidssensoren, onder andere, geschikt voor diverse toepassingsscenario's.
  • Ingebouwde luidspreker: Ondersteunt audioweergave, ideaal voor geluidsfeedback en alarmfuncties.
  • Rijke Interfaces: Ondersteunt GPIO, I2C, UART en andere communicatieinterfaces, wat perifere uitbreiding vergemakkelijkt.
  • Batterij-Aangedreven: Geïntegreerde batterij ondersteunt langdurige werking, geschikt voor mobiele toepassingen.

Deze sectie beschrijft de hardware en bouwt de omgeving.

1. Gebruikte hardware

M5StickC PLUS2

M5StickC PLUS2

Bekijk product
OV2640-camera

OV2640-camera

Bekijk product
SCD40 CO2-sensor

SCD40 CO2-sensor

Bekijk product
Relais (3 stuks)

Relais (3 stuks)

Bekijk product
M5Stack NCIR MLX90614

M5Stack NCIR MLX90614

Bekijk product
reptiel-usb-huisdier-verwarmingsmat (1 stuks)

reptiel-usb-huisdier-verwarmingsmat

Bekijk product
kleine-luchtbevochtiger (1 stuks)

kleine-luchtbevochtiger(1 stuks)

Bekijk product
USB UVB Lamp (1 stuks)

USB UVB-lamp (1 st.)

Bekijk product
Lichtsensor (Eenheid Licht)

Lichtsensor

Bekijk product
PaHub V2.1

PaHub V2.1

Bekijk product
PubHub V1.1

PubHub V1.1

Bekijk product

2. Verbinding Methode

M5StickC Plus 2 en PaHub Verbinding:

De M5StickC Plus 2 is verbonden met de PaHub uitbreidingsmodule via de I2C-bus, waarbij de M5StickC Plus 2 van stroom wordt voorzien via USB-C.

PaHub en Sensorverbindingen:

  • Kanaal 0 op de PaHub is verbonden met de SCD40 CO2 Sensor.
  • Kanaal 1 op de PaHub is verbonden met de MLX90614 InfraroodTemperatuursensor.
  • Kanaal 2 op de PaHub is verbonden met PbHub.

PbHub en Perifeer Verbindingen:

  • Kanaal 0 op de PbHub is verbonden met een lichtsensor.
  • Kanaal 2 op de PbHub is verbonden met de camera module (alleen gebruikt voor stroom).
  • Kanaal 3 op de PbHub bestuurt de luchtbevochtiger via een relais.
  • Kanaal 4 op de PbHub bestuurt het verwarmingskussen via een relais.
  • Kanaal 5 op de PbHub bestuurt het UVA licht via een relais.
  • Kanaal 1 op de PbHub bestuurt de ventilator via een relais (optioneel).

Software-installatie

1. Softwareomgeving

Ontwikkeling Omgeving

Gebruik VSCode + PlatformIO voor programmeren.

Voor sommige van de bibliotheken die door de sensor worden gebruikt, ga direct naar PIO Home -> Bibliotheken -> Register -> en zoek naar een trefwoord.

Vereiste bibliotheken:

  • M5GFX – Gebruikt voor grafische en tekstweergave, het bedienen van de M5Stack-display.
  • M5Unified – Biedt een uniforme API-interface voor eenvoudigere controle van M5Stack-apparaten.
  • IRremote – Voor het ontvangen en verzenden van IR-signalen om te communiceren met andere apparaten.
  • M5StickCPlus2 – Beheert de M5StickC Plus2 board, en regelt de apparaatinitialisatie en werking.
  • Sensirion I2C SCD4x – Voor het aansturen van de SCD40-omgevingssensor om temperatuur, luchtvochtigheid en CO2-niveaus te meten.
  • ArduinoJson – Gebruikt voor het verwerken en parseren van JSON-gegevens om sensorgegevens naar het cloudplatform te uploaden.
  • M5Unit-HUB en M5Unit-PbHub – Voor interactie met PaHub en PbHub modules, het uitbreiden van I2C en GPIO interfaces, en het aansluiten van extra externe apparaten.
  • TimerOne – Voor het beheersen van tijdsintervallen, zodat regelmatige sensorgegevensverzameling wordt gegarandeerd.
  • PubSubClient – Implementeert MQTT-communicatie voor het uitwisselen van gegevens met het cloudplatform.
  • Adafruit MLX90614 Bibliotheek – Gebruikt voor het aansturen van de MLX90614 infrarood temperatuursensor om de ondertemperatuur van de huisdierdoos te lezen.

2. Codestructuur

  • WiFi-verbinding:Verbindt met het netwerk via WiFi, waardoor toegang tot het cloudplatform mogelijk is voor abonnement en publicatie van gegevens.
  • MQTT Communicatie:Maakt gebruik van de PubSubClient-bibliotheek om MQTT-communicatie te implementeren, waarbij omgevingsgegevens naar het cloudplatform worden geüpload en instructies van het platform worden ontvangen.
  • Sensor Data Retrieval: Elke sensor's gegevens worden periodiek gelezen en geüpload met behulp van een pollingmethode:
  1. SCD40: Leest temperatuur, luchtvochtigheid en CO2-concentratie.
  2. MLX90614:Leest de temperatuur sensor gegevens (ondertemperatuur).
  • Apparaatbediening:Beheert relais om apparaten in en uit te schakelen, zoals verwarmingskussens, luchtbevochtigers, UVA-lampen, enz. De apparaten kunnen automatisch of handmatig worden bediend door de doeltemperatuur en -vochtigheid in te stellen.

3. IoT-platform en gegevensupload

  • Platformselectie: We gebruiken Alibaba Cloud IoT om gegevens te uploaden en apparaten op afstand te beheren.
  • Apparaatverbinding en Binding: Volg de installatiehandleiding om uw apparaat met het cloudplatform te binden.
  • Gegevensupload: Sensorgegevens worden geüpload via het MQTT-protocol in JSON-indeling.
// 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()) {
    doel_temperatuur = doc["params"]["doel_temperatuur"];
    Serial.print("Ontvangen target_temperature: ");
    Serial.println(doel_temperatuur);
  }
  // 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("Ontvangen target_humidity: ");
    Serial.println(target_humidity);
  }
}



✔ Gekopieerd!

4. Callback om Gegevens van het Cloudplatform te Ontvangen

// 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()) {
    doel_temperatuur = doc["params"]["doel_temperatuur"];
    Serial.print("Ontvangen target_temperature: ");
    Serial.println(doel_temperatuur);
  }
  // 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("Ontvangen target_humidity: ");
    Serial.println(target_humidity);
  }
}



 ✔ Gekopieerd!

 

IoT Platformconfiguratie

1. Alibaba-wolk IoT:

  • Log in op het Alibaba Cloud IoT-platform, maak een nieuw project aan en configureer apparaatsnamen, productcodes, enz.
  • Haal de client-ID, gebruikersnaam, wachtwoord op en zorg ervoor dat de MQTT-communicatie-instellingen correct zijn.

2. App-beheer:

  • Maak een product op het Alibaba Cloud IoT-platform en configureer de interface voor apparaatbediening.
  • Gebruik de SDK van Alibaba Cloud om een mobiele app te ontwikkelen die realtime monitoring en afstandsbediening van apparaten mogelijk maakt.

Notities en Veelvoorkomende Problemen

1. Sensorinitialisatie:

  • De SCD40 CO2-sensor heeft ongeveer 6 seconden nodig voor de initialisatie voordat nauwkeurige metingen beschikbaar zijn.
  • De MLX90614-sensor vereist dat de I2C-bussnelheid op 100 kHz wordt ingesteld om correct te functioneren.

2. Apparaatconflicten:

  • Zorg ervoor dat de I2C-adressen voor PaHub en PbHub modules uniek zijn om conflicten te voorkomen.
  • Wijs verschillende kanalen toe voor sensoren en randapparatuur op PaHub om interferentie te voorkomen.

3. Debuggen en Optimalisatie:

  • Pas de apparaatverbinding en de gegevensuploadintervallen aan om overmatige gegevensuploads te voorkomen en de belasting van het cloudplatform te verminderen.
  • Als gegevens niet op het cloudplatform worden ontvangen, zorg dan voor stabiele apparaatverbindingen en controleer de MQTT-instellingen.

Gebruiksgevallen

Het Smart Pet Box-project biedt brede toepassingen, vooral voor huisdiereigenaren die de gezondheid en dagelijkse behoeften van hun huisdieren willen beheren. Hier zijn enkele veelvoorkomende gebruiksscenario's:

1. Milieu Monitoring en Beheer:

De sensoren (temperatuur, luchtvochtigheid, CO2) binnen de dierenbox kunnen continu de omgevingsparameters monitoren, zodat de leefomstandigheden van het huisdier altijd binnen een ideaal bereik blijven. Bijvoorbeeld, als de temperatuur te hoog wordt, wordt de verwarmingsmat automatisch uitgeschakeld, of als de luchtvochtigheid te laag wordt, wordt de luchtbevochtiger geactiveerd.

2. Afstandsbediening en Aanpassingen:

Huisdiereigenaren die vaak reizen of lange uren werken, kunnen de omgeving van hun huisdieren op afstand beheren via het cloudplatform. Ze kunnen de temperatuur, luchtvochtigheid aanpassen of apparaten zoals verwarmingskussens, luchtbevochtigers, enz. bedienen, allemaal via een mobiele app.

3. Automatisering:

Het systeem kan automatisch de omgeving aanpassen op basis van vooraf ingestelde doeltemperatuur- en luchtvochtigheidswaarden, waardoor de behoefte aan handmatige interventie wordt verminderd.

4. Huisdierenbewaking:

Met de OV2640 Camera-module kunnen huisdiereigenaren live beelden van hun huisdieren en hun omgeving bekijken. Het cloudplatform maakt ook interactie met huisdieren via stem mogelijk.

5. Veelzijdig gebruik:

Of het nu thuis is, op kantoor of tijdens het reizen, de Smart Pet Box biedt efficiënte huisdierbeheer, vooral voor lange afwezigheden waarbij huisdiereigenaren zich geen zorgen hoeven te maken over het welzijn van hun huisdieren.

Over het algemeen verbetert deze slimme dierenvervoerder het beheer van huisdieren voor eigenaren en de levenskwaliteit van huisdieren door middel van automatisering, afstandsbediening en realtime monitoring.

Toekomstige Mogelijkheden en Uitbreiding

De Smart Pet Box gaat niet alleen om het creëren van een comfortabele omgeving voor huisdieren; het heeft ook een enorme potentie voor toekomstige uitbreiding en aanpassing. Hier zijn enkele spannende richtingen voor toekomstige ontwikkeling:

1. Aquatische Huisdieromgevingen:

Hoewel het systeem is ontworpen voor landdieren, zal het worden uitgebreid om aquatische huisdieren te ondersteunen door de verwarmingsmat te vervangen door onderdompelbare verwarmingsstaven en onderwater temperatuur sensoren toe te voegen om ideale aquatische omstandigheden te handhaven.

2. DIY Kenmerken en Aanpassing:

De Smart Pet Box is ontworpen om flexibel te zijn. In de toekomst zullen gebruikers in staat zijn om aangepaste modules toe te voegen voor extra functionaliteit. Gebruikers kunnen bijvoorbeeld ventilatoren, spraakfuncties en camera-upgrades toevoegen. Via het cloudplatform kunnen gebruikers deze functies op afstand bedienen, zelfs interactie hebben met huisdieren via spraakcommunicatie.

3. Gezondheid Toezicht:

Toekomstige verbeteringen zullen gezondheidsmonitoringssystemen omvatten, zoals hartslagmeters, bewegingsdetectoren en camera's om de activiteit van huisdieren te beoordelen. Dit systeem zal eigenaren waarschuwen voor abnormaal gedrag en vroege interventie mogelijk maken.

4. Cloudintelligentie en automatisering:

Door gebruik te maken van cloud computing en AI, zal de Pet Box voorspellende analyses gebruiken om de omgeving aan te passen op basis van historische gegevens. Dit zal de handmatige invoer verminderen en het systeem intelligenter en autonomer maken.

Conclusie

Dit project integreert M5StickC Plus2 en verschillende sensoren om een Slimme Huisdierdoos te creëren die in staat is om de omgeving te monitoren, apparaten te bedienen en op afstand beheer te bieden via het cloudplatform. Het gebruik van PaHub en PbHub zorgt voor efficiënte polling van meerdere apparaten, wat zorgt voor een soepele en stabiele werking van het systeem.

 

Vorig bericht
Volgende bericht

laat een reactie achter

Alle blogreacties worden vóór publicatie gecontroleerd

Iemand heeft onlangs een gekocht

Bedankt voor het abonneren!

Deze e-mail is geregistreerd!

Shop de look

Kies opties

Recent bekeken

Bewerk optie
Terug op voorraad melding
this is just a warning
Log in
Winkelmand
0 artikelen
RuffRuff App RuffRuff App by Tsun