Spisu treści:

Inteligentny karmnik dla zwierząt: 9 kroków
Inteligentny karmnik dla zwierząt: 9 kroków

Wideo: Inteligentny karmnik dla zwierząt: 9 kroków

Wideo: Inteligentny karmnik dla zwierząt: 9 kroków
Wideo: PETONEER NUTRI VISION MINI vs PETONEER NUTRI MINI - SMART PODAJNIKI KARMY DLA ZWIERZĄT! (WIFI) 2024, Lipiec
Anonim
Image
Image
Inteligentny karmnik dla zwierząt
Inteligentny karmnik dla zwierząt

Czy masz zwierzę?

  • Nie: zaadoptuj jeden! (i wróć do tej instrukcji).
  • Tak: dobra robota!

Czy nie byłoby wspaniale, gdybyś mógł karmić i podawać wodę ukochanej osobie bez anulowania planów, aby wrócić do domu na czas? Mówimy, że już się nie martw.

W tym projekcie wykonaliśmy zdalnie sterowane (przez sieć) dystrybutory żywności i wody.

Poprzez pulpit nawigacyjny online możesz przeglądać dane i sterować dystrybutorami:

  • Zobacz poziom żywności i wody w zbiornikach.
  • Zobacz poziom żywności i wody w miskach.
  • Czy w tej chwili zwierzę je lub pije?
  • Zaplanuj karmienie (urządzenie nie wyda jedzenia, jeśli w misce jest wystarczająco dużo jedzenia).
  • Automatycznie dozuj wodę, gdy miska się opróżni.
  • Dozuj jedzenie/wodę jednym naciśnięciem przycisku.
  • Otrzymuj powiadomienia push na swój telefon (przez aplikację Telegram).

Kim jesteśmy?

Stworzony przez Toma Kaufmana i Katyę Fichman, studentów informatyki w IDC Herzliya.

Ten projekt powstał na potrzeby kursu IOT.

Kieszonkowe dzieci

Elektronika

  • 2 X ESP8266 (Wemos d1 mini).
  • Przewody połączeniowe.
  • 2 X deska do krojenia chleba.
  • 4 X czujnik ultradźwiękowy.
  • 2 X ogniwo obciążnikowe.
  • 2 X Wzmacniacz tensometryczny (HX711).
  • Serwo (180°).
  • Serwo (ciągły obrót).
  • Zasilanie 2X6 V.

Części

  • Dozownik płatków kukurydzianych (link Amazon).
  • Lejek do dozownika żywności wydrukowany w 3D (https://www.thingiverse.com/thing:3998805).
  • Przystawka serwo do dozownika żywności wydrukowana w 3D (https://www.thingiverse.com/thing:3269637).
  • Stojak na dystrybutor żywności wydrukowany w 3D (zaprojektowany na potrzeby tego projektu:
  • Wydrukowana w 3D podstawa i płytka czujnika tensometrycznego (zaprojektowane dla tego projektu:
  • Dystrybutor wody (link Amazon do czegoś podobnego).
  • Przewód (do połączenia pokrętła dystrybutora wody z serwomechanizmem).
  • 3 X Stojak na czujnik ultradźwiękowy.

Krok 1: Jak to działa?

Jak to działa?
Jak to działa?

Płyty ESP8266 wysyłają odczyty czujników do Node-RED przez Mosquitto (broker MQTT).

Node-RED przetwarza dane, wykonując odpowiednie działania (również wysyłając polecenia dozowania do płyt ESP8266 przez Mosquitto) i wyświetlając informacje na desce rozdzielczej.

Wszystkie obliczenia są wykonywane w Node-RED, więc łatwo byłoby zreplikować ten projekt i zmienić przetwarzanie danych zgodnie z własnymi ustawieniami i preferencjami bez brudzenia sobie rąk kodowaniem.

Krok 2: Oprogramowanie

Oprogramowania
Oprogramowania

IDE Arduino

Pobierz i zainstaluj (link:

Komar

Pobierz i zainstaluj (link:

Node.js

Pobierz i zainstaluj (link:

Węzeł-CZERWONY

Postępuj zgodnie z instrukcjami:

nrok

Pobierz:

Telegram

Zainstaluj aplikację na swoim smartfonie.

Krok 3: Układ obwodu

Układ obwodu
Układ obwodu

* Oba urządzenia mają identyczne obwody

Dystrybutor wody

  • Czujnik ultradźwiękowy (do zbiornika na wodę)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • SPUST - D0
  • Czujnik ultradźwiękowy (do pomiaru odległości zwierzęcia od miski)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • SPUST - D7
  • Ogniwo obciążnikowe

    • ZIELONY - A+ (HX711)
    • BIAŁY - A- (HX711)
    • CZARNY - E- (HX711)
    • CZERWONY - E+ (HX711)
  • HX711 (wzmacniacz tensometryczny)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Serwo (180°)

    • GND - G
    • VCC - 5V

Dozownik żywności

  • Czujnik ultradźwiękowy (do zbiornika na żywność)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • SPUST - D0
  • Czujnik ultradźwiękowy (do pomiaru odległości zwierzęcia od miski)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • SPUST - D7
  • Ogniwo obciążnikowe

    • ZIELONY - A+ (HX711)
    • BIAŁY - A- (HX711)
    • CZARNY - E- (HX711)
    • CZERWONY - E+ (HX711)
  • HX711 (wzmacniacz tensometryczny)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Serwo (ciągły obrót)

    • GND - G
    • VCC - 5V
    • STEROWANIE - D8

Krok 4: rzemiosło

Rękodzieło
Rękodzieło
Rękodzieło
Rękodzieło
Rękodzieło
Rękodzieło

Dystrybutor wody

  1. Przyklej serwo do górnej części dolnej części dozownika (jak pokazano na zdjęciu).
  2. Wywierć mały otwór w pokrętle dozownika wody.
  3. Połącz głowicę serwomechanizmu z pokrętłem za pomocą przewodu (upewnij się, że głowica serwomechanizmu jest w pozycji 0 i upewnij się, że przewód jest napięty).
  4. Przyklej jeden czujnik ultradźwiękowy do wewnętrznej strony zbiornika, w jego górnej części (czujnik skierowany w dół).
  5. Przyklej jeden czujnik ultradźwiękowy pod pokrętłem wody na zewnątrz (upewnij się, że jest wystarczająco wysoki, aby miska na wodę nie miała wpływu na odczyty).

Dozownik żywności

  1. Przykręć serwo do jego uchwytu (część drukowana 3D).
  2. Przyklej lejek (część drukowana 3D) do uchwytu zbiornika (część drukowana 3D).
  3. Podłącz uchwyt zbiornika do stojaka dystrybutora (część drukowana 3D) i umieść zbiornik na miejscu.
  4. Włóż wirującą część (nadruk 3D) na swoje miejsce i przez wirującą gumową część dozownika.
  5. Przykręcić część uchwytu serwomechanizmu do stojaka dozownika.
  6. Przyklej jeden czujnik ultradźwiękowy do wewnętrznej strony pokrywy zbiornika (czujnik skierowany w dół).
  7. Przyklej jeden czujnik ultradźwiękowy do boku uchwytu zbiornika skierowanego w stronę miejsca, w którym będzie jadł Twój zwierzak.

Ogniwa obciążnikowe

Przyklej każde ogniwo obciążnikowe do wydrukowanej w 3D podstawy i płyty (strzałka ogniwa obciążnikowego skierowana w dół)

Krok 5: Komar

Komar
Komar

Otwórz Mosquitto (użytkownicy Windows: przejdź do folderu Mosquitto, otwórz cmd i wpisz: "mosquitto -v").

* Aby uzyskać wewnętrzny adres IP komputera, uruchom cmd i wpisz „ipconfig”.

Krok 6: Arduino IDE

IDE Arduino
IDE Arduino
IDE Arduino
IDE Arduino

Otwórz Arduino IDE i postępuj zgodnie z częścią tego przewodnika „Zainstaluj dodatek ESP8266 w Arduino IDE”:

Przejdź do Narzędzia->Płyta i wybierz "LOLIN(WEMOS) D1 R2 & mini".

Przejdź do Sketch->Include Library->Add. ZIP Library… i dodaj 3 biblioteki w pliku „Libraries.rar”.

Otwórz szkic "HX711Calibration", prześlij go do obu ESP8266, uruchom go i postępuj zgodnie z instrukcjami (na początku kodu i w monitorze szeregowym), aby skalibrować ogniwa obciążnikowe (upewnij się, że prędkość transmisji monitora szeregowego jest ustawiona na 115200 bodów).

* Zapisz współczynnik kalibracji i przesunięcie zera (do późniejszego wykorzystania).

Otwórz szkice „FoodDispenser” i „WaterDispenser” za pomocą IDE i zmień następujące zmienne za pomocą swoich ustawień (w pliku „Settings.h”):

  • WIFI_SSID
  • HASŁO DO WIFI
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* W MQTT_SERVER wprowadź wewnętrzny adres IP z kroku „Mosquitto”.

Prześlij szkice do swoich dwóch ESP8266 (jeden kod na każdą płytkę).

* Zauważ, że użyliśmy biblioteki "AsyncMqttClient", a nie bardziej popularnej biblioteki "pubsubclient", ponieważ esp8266 ulega awarii w połączeniu z biblioteką "HX711".

* Jeśli zdecydujesz się wprowadzić zmiany w kodzie, upewnij się, że nie używasz funkcji "delay" i "yield" w funkcjach wywołania zwrotnego, ponieważ spowoduje to awarię.

Krok 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Rozpakuj pobrany plik (z linku w kroku „Oprogramowanie”).

Otwórz "ngrok.exe" i uruchom polecenie "ngrok http 1880".

* Możesz wybrać najbliższy region (au, eu, ap, us, jp, in, sa). Domyślnie jesteśmy my.

Na przykład uruchomienie polecenia: "ngrok http --region=eu 1880" (ustaw region na Europę).

Teraz zobaczysz swój adres internetowy do użytku zewnętrznego (nazywamy go YOUR_NGROK_ADDRESS).

Krok 8: Węzeł-CZERWONY

Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY

Otwórz Node-RED (użytkownicy Windows: otwórz cmd i wpisz „node-red”) i przejdź do https://localhost:1880 (jeśli to nie działa, wyszukaj adres w oknie cmd, gdzie jest napisane „Serweruj teraz działa w ).

Otwórz menu (w prawym górnym rogu) i naciśnij "Zarządzaj paletą".

Przejdź do zakładki "Instaluj", wyszukaj i zainstaluj te moduły:

  • node-red-contrib-persist.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • węzeł-czerwony-dashboard.
  • node-red-contrib-telegrambot.

Przejdź do menu->Importuj i prześlij plik flow (wypakuj załączony plik RAR i prześlij plik json).

Zobacz załączone obrazy, aby uzyskać wyjaśnienia dotyczące przepływu.

Musisz zmodyfikować te węzły za pomocą swoich ustawień:

  • Zaktualizuj profil węzła „Telegram sender” o nazwę użytkownika i token swojego bota (skorzystaj z tego przewodnika:
  • Na dole przepływu zmień ładunki węzłów „Ngrok Address” i „Telegram Chat Id” (uzyskaj identyfikator czatu, korzystając z przewodnika po telegramie w powyższym linku).
  • W dolnej części przepływu znajdują się węzły ustawień - modyfikuj je według własnych potrzeb:

    • Aktywuj alerty o jedzeniu/piciu zwierzaków.
    • Określ, jaka odległość ma być aktywowana w przypadku ostrzeżenia o jedzeniu/piciu.
    • Zdefiniuj przetwarzanie danych misek i zbiorników.
    • Modyfikuj czasy dozowania (jak długo trwa dozowanie - tryb automatyczny i naciśnięcie przycisku).
    • Zdefiniuj procentowy próg przepełnienia miski na żywność (przerwij automatyczne dozowanie żywności, jeśli w misce jest wystarczająca ilość żywności).

Wdróż przepływ (w prawym górnym rogu).

* Tylko przy pierwszym wdrożeniu zobaczysz ostrzeżenie w oknie debugowania o braku pliku „persistance.json”. Nie martw się o to, ponieważ w tej chwili ustawisz czas karmienia lub zmienisz automatyczny przełącznik wody, zainicjuje ten plik i nie będziesz już mieć tego ostrzeżenia.

Możesz wyświetlić swój pulpit nawigacyjny na https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (jeśli jesteś podłączony do tej samej sieci LAN co serwer) lub YOUR_NGROK_ADDRESS/ui (z dowolnego miejsca).

Krok 9: Podsumowanie

Zakończyć
Zakończyć

Mamy nadzieję, że ten samouczek był pouczający i łatwy do przeczytania, zrozumienia i wdrożenia.

Zapytaj nas o wszystko.

Zalecana: