Jak zbudować inteligentne pudełko dla zwierząt z M5StickC Plus2

Wprowadzenie

Wraz z szybkim rozwojem technologii Internetu Rzeczy (IoT), Inteligentna Skrzynka dla Zwierząt stała się nowym polem zastosowań. Właściciele zwierząt coraz bardziej dbają o jakość życia swoich zwierząt, jednak tradycyjne skrzynki dla zwierząt nie posiadają automatycznej kontroli ani monitoringu środowiska. Inteligentna Skrzynka dla Zwierząt, integrując czujniki oraz systemy automatycznej kontroli, jest w stanie monitorować i dostosowywać środowisko życia zwierząt w czasie rzeczywistym.

Ten projekt wykorzystuje technologię IoT oraz różnorodne moduły czujników do monitorowania parametrów takich jak temperatura, wilgotność, stężenie CO₂ oraz natężenie światła wewnątrz pudełka dla zwierząt, zapewniając, że środowisko zawsze pozostaje w komfortowym zakresie. Dodatkowo, projekt zawiera funkcjonalność zdalnego sterowania za pośrednictwem platformy chmurowej, umożliwiając użytkownikom przeglądanie danych środowiskowych oraz regulację urządzeń takich jak nawilżacze, wentylatory i podkładki grzewcze w dowolnym momencie. Smart Pet Box ułatwia właścicielom zwierząt zarządzanie środowiskiem swoich pupili, poprawiając ogólną jakość życia zwierząt.

M5StickC PLUS2

M5StickC PLUS2

Zobacz produkt

Czym jest M5StickC Plus2?

M5StickC Plus2 to kompaktowa płytka rozwojowa wykorzystująca układ ESP32 (ESP32-PICO-V3-02), wyposażona w zestaw zintegrowanych czujników i peryferiów. Ta konstrukcja czyni ją bardzo odpowiednią do różnorodnych zastosowań wbudowanych. Jej główne cechy to:
  • Kompaktowa konstrukcja: Mierząc zaledwie 54mm × 54mm, jest łatwy do przenoszenia i integracji w różnych projektach.
  • Wbudowany wyświetlacz: Kolorowy wyświetlacz TFT o przekątnej 1,14 cala, obsługujący wiele czcionek i wyświetlanie grafiki.
  • Wielofunkcyjne czujniki: Zawiera akcelerometr, żyroskop, czujniki temperatury i wilgotności oraz inne, odpowiednie do różnych scenariuszy zastosowań.
  • Wbudowany głośnik: Obsługuje odtwarzanie dźwięku, idealny do funkcji dźwiękowej informacji zwrotnej i alarmów.
  • Bogate interfejsy: Obsługuje GPIO, I2C, UART oraz inne interfejsy komunikacyjne, ułatwiając rozbudowę peryferiów.
  • Zasilany baterią: Wbudowana bateria wspiera długotrwałą pracę, odpowiednia do zastosowań mobilnych.

Ta sekcja opisuje sprzęt i tworzy środowisko

1. Używany sprzęt

M5StickC PLUS2

M5StickC PLUS2

Zobacz produkt
Kamera OV2640

Kamera OV2640

Zobacz produkt
Czujnik CO2 SCD40

Czujnik CO2 SCD40

Zobacz produkt
Przekaźnik (3 szt.)

Przekaźnik (3 szt.)

Zobacz produkt
M5Stack NCIR MLX90614

M5Stack NCIR MLX90614

Zobacz produkt
mata grzewcza dla gadów USB (1 szt.)

podgrzewana-poduszka-dla-zwierząt-reptilii-usb

Zobacz produkt
mały nawilżacz (1 szt.)

mały nawilżacz (1 szt.)

Zobacz produkt
Lampa USB UVB (1 szt.)

Lampa USB UVB (1 szt.)

Zobacz produkt
Czujnik światła (jednostka światła)

Czujnik światła

Zobacz produkt
PaHub V2.1

PaHub V2.1

Zobacz produkt
PbHub V1.1

PbHub V1.1

Zobacz produkt

2. Metoda połączenia

Połączenie M5StickC Plus 2 i PaHub:

M5StickC Plus 2 jest podłączony do modułu rozszerzeń PaHub za pomocą magistrali I2C, a M5StickC Plus 2 jest zasilany przez USB-C.

Połączenia PaHub i czujników:

  • Kanał 0 na PaHub jest podłączony do SCD40 CO2 Sensor.
  • Kanał 1 na PaHub jest podłączony do czujnika temperatury na podczerwień MLX90614.
  • Kanał 2 na PaHub jest połączony z PbHub.

PbHub i Peryferyjny Połączenia:

  • Kanał 0 na PbHub jest podłączony do czujnika światła.
  • Kanał 2 na PbHub jest podłączony do modułu kamery (używany tylko do zasilania).
  • Kanał 3 na PbHub steruje nawilżaczem za pomocą przekaźnika.
  • Kanał 4 na PbHub steruje podkładką grzewczą za pomocą przekaźnika.
  • Kanał 5 na PbHub steruje światłem UVA za pomocą przekaźnika.
  • Kanał 1 na PbHub steruje wentylatorem za pomocą przekaźnika (opcjonalnie).

Konfiguracja oprogramowania

1. Środowisko oprogramowania

Rozwój Środowisko

Użyj VSCode + PlatformIO do programowania.

Dla niektórych bibliotek używanych przez czujnik, przejdź bezpośrednio do PIO Home -> Libraries -> Registry -> i wyszukaj słowo kluczowe.

Wymagane biblioteki:

  • M5GFX – Używany do wyświetlania grafiki i tekstu, kontrolując wyświetlacz M5Stack.
  • M5Unified – Zapewnia zunifikowany interfejs API dla łatwiejszej kontroli urządzeń M5Stack.
  • IRremote – Do odbierania i nadawania sygnałów podczerwieni w celu komunikacji z innymi urządzeniami.
  • M5StickCPlus2 – Steruje płytką M5StickC Plus2, zarządzając inicjalizacją i działaniem urządzenia.
  • Sensirion I2C SCD4x – Do sterowania czujnikiem środowiskowym SCD40 w celu odczytu temperatury, wilgotności i poziomu CO2.
  • ArduinoJson – Używany do przetwarzania i analizowania danych JSON w celu przesyłania danych z czujników na platformę chmurową.
  • M5Unit-HUB i M5Unit-PbHub – Do interakcji z modułami PaHub i PbHub, rozszerzania interfejsów I2C i GPIO oraz podłączania dodatkowych urządzeń zewnętrznych.
  • TimerOne – Do kontrolowania interwałów czasowych, zapewniając regularne zbieranie danych z czujników.
  • PubSubClient – Implementuje komunikację MQTT do wymiany danych z platformą chmurową.
  • Biblioteka Adafruit MLX90614 – Używana do sterowania czujnikiem temperatury na podczerwień MLX90614 w celu odczytu temperatury dna pudełka dla zwierząt.

2. Struktura kodu

  • Połączenie WiFi:Łączy się z siecią przez WiFi, umożliwiając dostęp do platformy w chmurze w celu subskrypcji i publikacji danych.
  • MQTT Komunikacja:Używa biblioteki PubSubClient do realizacji komunikacji MQTT, przesyłając dane środowiskowe do platformy chmurowej i odbierając z niej instrukcje.
  • Pobieranie danych z czujnika: Każdy czujnik jest okresowo odczytywany, a dane przesyłane metodą odpytywania:
  1. SCD40: Odczytuje temperaturę, wilgotność i stężenie CO2.
  2. MLX90614:Odczytuje dane z czujnika temperatury (temperatura dolna).
  • Sterowanie urządzeniem:Steruje przekaźnikami, aby włączać i wyłączać urządzenia, takie jak podkładki grzewcze, nawilżacze, lampy UVA itp. Urządzeniami można sterować automatycznie lub ręcznie, ustawiając docelową temperaturę i wilgotność.

3. Platforma IoT i przesyłanie danych

  • Wybór platformy: Używamy Alibaba Cloud IoT do przesyłania danych i zdalnego zarządzania urządzeniami.
  • Połączenie i powiązanie urządzenia: Postępuj zgodnie z samouczkiem konfiguracji, aby powiązać swoje urządzenie z platformą chmurową.
  • Przesyłanie danych: Dane z czujnika są przesyłane za pomocą protokołu MQTT w formacie 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("Otrzymano target_temperature: ");
    Serial.println(docelowa_temperatura);
  }
  // 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("Otrzymano target_humidity: ");
    Serial.println(docelowa_wilgotność);
  }
}



✔ Skopiowano!

4. Wywołanie zwrotne do odbierania danych z platformy chmurowej

// 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("Otrzymano target_temperature: ");
    Serial.println(docelowa_temperatura);
  }
  // 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("Otrzymano target_humidity: ");
    Serial.println(docelowa_wilgotność);
  }
}



 ✔ Skopiowano!

 

Internet rzeczy Konfiguracja platformy

1. Alibaba Cloud Internet rzeczy:

  • Zaloguj się do platformy Alibaba Cloud IoT, utwórz nowy projekt i skonfiguruj nazwy urządzeń, klucze produktów itp.
  • Pobierz identyfikator klienta, nazwę użytkownika, hasło i upewnij się, że ustawienia komunikacji MQTT są poprawne.

2. Sterowanie aplikacją:

  • Utwórz produkt na platformie Alibaba Cloud IoT i skonfiguruj interfejs do sterowania urządzeniem.
  • Użyj SDK Alibaba Cloud do opracowania aplikacji mobilnej, która umożliwia monitorowanie w czasie rzeczywistym i zdalne sterowanie urządzeniami.

Notatki i Częste Problemy

1. Inicjalizacja czujnika:

  • Czujnik CO2 SCD40 wymaga około 6 sekund na inicjalizację, zanim dostępne będą dokładne odczyty.
  • Czujnik MLX90614 wymaga ustawienia prędkości magistrali I2C na 100kHz, aby działał poprawnie.

2. Konflikty urządzeń:

  • Upewnij się, że adresy I2C dla modułów PaHub i PbHub są unikalne, aby uniknąć konfliktów.
  • Przypisz różne kanały dla czujników i urządzeń peryferyjnych na PaHub, aby uniknąć zakłóceń.

3. Debugowanie i Optymalizacja:

  • Dostosuj interwały połączenia urządzenia i przesyłania danych, aby uniknąć nadmiernego przesyłania danych i zmniejszyć obciążenie platformy chmurowej.
  • Jeśli dane nie są odbierane na platformie chmurowej, upewnij się, że połączenia urządzeń są stabilne i sprawdź ustawienia MQTT.

Przypadki użycia

Projekt Smart Pet Box oferuje szerokie zastosowania, szczególnie dla właścicieli zwierząt domowych, którzy chcą zarządzać zdrowiem i codziennymi potrzebami swoich pupili. Oto kilka typowych przypadków użycia:

1. Środowiskowy Monitorowanie i zarządzanie:

Czujniki (temperatury, wilgotności, CO2) wewnątrz pudełka dla zwierząt mogą nieprzerwanie monitorować parametry środowiskowe, zapewniając, że warunki życia zwierzęcia są zawsze w idealnym zakresie. Na przykład, jeśli temperatura stanie się zbyt wysoka, podgrzewacz jest automatycznie wyłączany, lub jeśli wilgotność spadnie zbyt nisko, nawilżacz zostaje aktywowany.

2. Pilot zdalnego sterowania i regulacje:

Właściciele zwierząt, którzy często podróżują lub pracują długie godziny, mogą zdalnie zarządzać środowiskiem swoich zwierząt za pośrednictwem platformy w chmurze. Mogą regulować temperaturę, wilgotność lub kontrolować urządzenia takie jak podkładki grzewcze, nawilżacze itp., wszystko za pomocą aplikacji mobilnej.

3. Automatyzacja:

System może automatycznie dostosować środowisko na podstawie wcześniej ustawionych docelowych wartości temperatury i wilgotności, zmniejszając potrzebę ręcznej interwencji.

4. Monitorowanie zwierząt domowych:

Dzięki modułowi kamery OV2640 właściciele zwierząt mogą oglądać na żywo obraz swoich pupili i ich otoczenia. Platforma w chmurze umożliwia także interakcję ze zwierzętami za pomocą głosu.

5. Wszechstronne zastosowanie:

Niezależnie od tego, czy w domu, w biurze, czy podczas podróży, Smart Pet Box zapewnia efektywne zarządzanie zwierzętami domowymi, szczególnie podczas długich nieobecności, kiedy właściciele nie muszą martwić się o dobro swoich zwierząt.

Ogólnie rzecz biorąc, ten inteligentny transporter dla zwierząt zwiększa wygodę zarządzania dla właścicieli zwierząt oraz jakość życia zwierząt dzięki automatyzacji, zdalnemu sterowaniu i monitorowaniu w czasie rzeczywistym.

Przyszłe możliwości i rozwój

Smart Pet Box to nie tylko tworzenie komfortowego środowiska dla zwierząt; ma również ogromny potencjał do przyszłej rozbudowy i personalizacji. Oto kilka ekscytujących kierunków przyszłego rozwoju:

1. Środowiska wodnych zwierząt domowych:

Chociaż system został zaprojektowany dla zwierząt domowych lądowych, zostanie rozszerzony o wsparcie dla zwierząt wodnych poprzez zastąpienie podkładki grzewczej zanurzalnymi prętami grzewczymi oraz dodanie podwodnych czujników temperatury w celu utrzymania idealnych warunków wodnych.

2. Funkcje DIY i personalizacja:

Smart Pet Box został zaprojektowany tak, aby był elastyczny. W przyszłości użytkownicy będą mogli dodawać niestandardowe moduły dla dodatkowej funkcjonalności. Na przykład, użytkownicy mogą dodać wentylatory, funkcje głosowe oraz ulepszenia kamer. Poprzez platformę w chmurze użytkownicy mogą zdalnie kontrolować te funkcje, a nawet komunikować się ze zwierzętami za pomocą głosu.

3. Zdrowie Monitorowanie:

Przyszłe ulepszenia będą obejmować systemy monitorowania zdrowia, takie jak monitory tętna, czujniki ruchu i kamery do oceny aktywności zwierząt domowych. System ten będzie powiadamiał właścicieli o nieprawidłowym zachowaniu i umożliwiał wczesną interwencję.

4. Inteligencja chmurowa i automatyzacja:

Wykorzystując chmurę obliczeniową i sztuczną inteligencję, Pet Box będzie korzystać z analityki predykcyjnej, aby dostosować środowisko na podstawie danych historycznych. Zmniejszy to konieczność ręcznego wprowadzania danych i uczyni system bardziej inteligentnym i autonomicznym.

Wniosek

Ten projekt integruje M5StickC Plus2 oraz różne czujniki, tworząc Smart Pet Box zdolny do monitorowania środowiska, sterowania urządzeniami oraz zapewniania zdalnego zarządzania za pośrednictwem platformy chmurowej. Wykorzystanie PaHub i PbHub zapewnia efektywne odpytywanie wielu urządzeń, gwarantując płynną i stabilną pracę systemu.

 

Zostaw komentarz

Twój adres e-mail nie będzie opublikowany. Wymagane pola są oznaczone *

Zarejestruj się do naszego newslettera

Uzyskaj najnowsze informacje o naszych produktach i specjalnych ofertach.