Sadržaj:

Pametna hranilica za kućne ljubimce: 9 koraka
Pametna hranilica za kućne ljubimce: 9 koraka

Video: Pametna hranilica za kućne ljubimce: 9 koraka

Video: Pametna hranilica za kućne ljubimce: 9 koraka
Video: 30 ideja imena za psa 2024, Studeni
Anonim
Image
Image
Pametna hranilica za kućne ljubimce
Pametna hranilica za kućne ljubimce

Imate li kućnog ljubimca?

  • Ne: usvoji jednu! (i vratite se ovom uputstvu).
  • Da: dobar posao!

Ne bi li bilo sjajno kad biste mogli nahraniti i dati vodu svojoj voljenoj osobi bez otkazivanja planova kako biste na vrijeme stigli kući? Kažemo da se više ne brini.

U ovom projektu napravili smo daljinski upravljane (putem weba) dozatore hrane i vode.

Putem internetske nadzorne ploče možete pregledavati podatke i upravljati dozatorima:

  • Pogledajte razinu hrane i vode u spremnicima.
  • Pogledajte razinu hrane i vode u zdjelama.
  • Jede li životinja ili pije u ovom trenutku?
  • Zakažite hranjenje (uređaj neće izdavati hranu ako ima dovoljno hrane u zdjeli).
  • Automatski ispustite vodu kad se posuda isprazni.
  • Izlijte hranu/vodu pritiskom na gumb.
  • Primajte push obavijesti na svoj telefon (putem aplikacije Telegram).

Tko smo mi?

Kreirali Tom Kaufman i Katya Fichman, studenti računarstva na IDC -u Herzliya.

Ovaj je projekt napravljen za tečaj IOT -a.

Pribor

Elektronika

  • 2 X ESP8266 (Wemos d1 mini).
  • Kratkospojne žice.
  • 2 X Oglasna ploča.
  • 4 X Ultrazvučni senzor.
  • 2 X Mjerač ćelije.
  • 2 X Pojačalo s mjernim ćelijama (HX711).
  • Servo (180 °).
  • Servo (kontinuirana rotacija).
  • 2 x 6V napajanje.

Dijelovi

  • Dozator za kukuruzne pahuljice (Amazon veza).
  • Lijevak za točenje hrane s 3D printom (https://www.thingiverse.com/thing:3998805).
  • Servo nastavak za 3D ispis dozatora hrane (https://www.thingiverse.com/thing:3269637).
  • Stalak za točenje hrane s 3D printom (dizajniran za ovaj projekt:
  • 3D ispisana baza i ploča mjernih ćelija (dizajnirana za ovaj projekt:
  • Dozator vode (Amazon veza na nešto slično).
  • Žica (za spajanje ručice dozatora vode na servo).
  • Stalak za 3 x ultrazvučni senzor.

Korak 1: Kako to funkcionira?

Kako radi?
Kako radi?

Ploče ESP8266 šalju očitanja senzora u Node-RED putem Mosquitta (MQTT posrednik).

Node-RED obrađuje podatke, poduzimajući odgovarajuće radnje (također šalje naredbe za izdavanje na ploče ESP8266 putem Mosquitta) i prikazuje podatke na nadzornoj ploči.

Svi proračuni izvode se u Node-RED-u, pa bi bilo lako ponoviti ovaj projekt i promijeniti obradu podataka prema vašim postavkama i željama, a da vam ruke ne zaprljaju kodiranje.

Korak 2: Softver

Softver
Softver

Arduino IDE

Preuzmite i instalirajte (veza:

Komarac

Preuzmite i instalirajte (veza:

Node.js

Preuzmite i instalirajte (veza:

Čvor-CRVENI

Slijedite upute:

ngrok

Preuzimanje:

Telegram

Instalirajte aplikaciju na svoj pametni telefon.

Korak 3: Raspored kruga

Raspored kruga
Raspored kruga

* Oba uređaja imaju identične krugove

Dozator vode

  • Ultrazvučni senzor (za spremnik vode)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGER - D0
  • Ultrazvučni senzor (za udaljenost ljubimca od zdjele)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGER - D7
  • Učitavanje ćelija
    • ZELENO - A+ (HX711)
    • BIJELO - A- (HX711)
    • CRNO - E- (HX711)
    • CRVENO - E+ (HX711)
  • HX711 (pojačalo s mjernim ćelijama)

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

    • GND - G
    • VCC - 5V

Dozator hrane

  • Ultrazvučni senzor (za spremnik hrane)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGER - D0
  • Ultrazvučni senzor (za udaljenost ljubimca od zdjele)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGER - D7
  • Učitavanje ćelija
    • ZELENO - A+ (HX711)
    • BIJELO - A- (HX711)
    • CRNO - E- (HX711)
    • CRVENO - E+ (HX711)
  • HX711 (pojačalo s mjernim ćelijama)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (kontinuirana rotacija)

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

Korak 4: Zanat

Obrt
Obrt
Obrt
Obrt
Obrt
Obrt

Dozator vode

  1. Zalijepite servo na vrh donjeg dijela dozatora (kao što je prikazano na fotografiji).
  2. Izbušite malu rupu u ručici dozatora vode.
  3. Spojite servo glavu s gumbom žicom (provjerite je li servo glava u položaju 0 i provjerite je li žica čvrsta).
  4. Zalijepite jedan ultrazvučni senzor na unutarnju stranu spremnika, blizu njegova vrha (senzor okrenut prema dolje).
  5. Zalijepite jedan ultrazvučni senzor ispod gumba za vodu prema van (provjerite je li dovoljno visok da posuda za vodu neće utjecati na očitanja).

Dozator hrane

  1. Pričvrstite servo na držač (3D ispisani dio).
  2. Zalijepite lijevak (3D ispisani dio) na držač spremnika (3D ispisani dio).
  3. Spojite držač spremnika na postolje dozatora (3D ispisani dio) i postavite spremnik na mjesto.
  4. Umetnite rotirajući dio (3D ispisan) na njegovo mjesto i kroz gumeni dio dozatora koji se okreće.
  5. Pričvrstite dio servo držača na postolje dozatora.
  6. Zalijepite jedan ultrazvučni senzor na unutarnju stranu poklopca spremnika (senzor okrenut prema dolje).
  7. Zalijepite jedan ultrazvučni senzor na stranu držača spremnika okrenutu prema mjestu gdje će vaš ljubimac jesti.

Učitaj ćelije

Zalijepite svaku mjernu ćeliju na 3D tiskanu podlogu i ploču (strelica mjerne ćelije okrenuta prema dolje)

Korak 5: Komarac

Komarac
Komarac

Otvorite Mosquitto (korisnici sustava Windows: idite u mapu Mosquitto, otvorite cmd i unesite: "mosquitto -v").

* Da biste dobili internu IP adresu računala, pokrenite cmd i unesite "ipconfig".

Korak 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Otvorite Arduino IDE i slijedite dio "Instaliraj dodatak ESP8266 u Arduino IDE" u ovom vodiču:

Idite na Alati-> Ploča i odaberite "LOLIN (WEMOS) D1 R2 & mini".

Idite na Sketch-> Include Library-> Add. ZIP Library … i dodajte 3 knjižnice u datoteku "Libraries.rar".

Otvorite skicu "HX711Calibration", prenesite je na oba ESP8266 -a, pokrenite je i slijedite upute (na početku koda i na serijskom monitoru) za kalibraciju mjernih ćelija (provjerite je li brzina prijenosa serijskog monitora postavljena na 115200 bodova).

* Zapišite kalibracijski faktor i nulti pomak (za kasniju uporabu).

Otvorite skice "FoodDispenser" i "WaterDispenser" kroz IDE i promijenite sljedeće varijable sa svojim postavkama (u datoteci "Settings.h"):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* U MQTT_SERVER unesite internu IP adresu iz koraka "Mosquitto".

Prenesite skice na svoja dva ESP8266 (po jedan kôd na svaku ploču).

* Uočite da smo koristili knjižnicu "AsyncMqttClient", a ne uobičajenu knjižnicu "pubsubclient" budući da se esp8266 ruši u kombinaciji s bibliotekom "HX711".

* Ako odlučite promijeniti kôd, pazite da ne koristite funkcije "odgode" i "prinosa" unutar funkcija povratnog poziva jer će to uzrokovati rušenja.

Korak 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Raspakirajte preuzetu datoteku (s veze u koraku "Softver").

Otvorite "ngrok.exe" i pokrenite naredbu "ngrok http 1880".

* Možete odabrati najbližu regiju (au, eu, ap, us, jp, in, sa). Zadana vrijednost smo mi.

Na primjer, pokrenite naredbu: "ngrok http --region = eu 1880" (postavite regiju na Europu).

Sada ćete vidjeti svoju web adresu za vanjsku upotrebu (mi ćemo je nazivati YOUR_NGROK_ADDRESS).

Korak 8: Čvor-CRVENI

Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI

Otvorite Node-RED (korisnici sustava Windows: otvorite cmd i unesite "node-red") i idite na https:// localhost: 1880 (ako ne radi, potražite adresu u cmd prozoru gdje je napisano "Poslužitelj sada radi na ").

Otvorite izbornik (u gornjem desnom kutu) i pritisnite "Upravljanje paletom".

Idite na karticu "Instaliraj", pretražite i instalirajte ove module:

  • čvor-crveni-doprinosi-opstati.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • node-red-dashboard.
  • node-red-contrib-telegrambot.

Idite na izbornik-> Uvoz i učitavanje datoteke protoka (izdvojite priloženu RAR datoteku i prenesite datoteku json).

Za objašnjenja o protoku pogledajte priložene slike.

Morat ćete izmijeniti ove čvorove svojim postavkama:

  • Ažurirajte profil čvora "Telegram pošiljatelj" korisničkim imenom i tokenom vašeg bota (upotrijebite ovaj vodič:
  • U dnu toka promijenite korisni teret čvorova "Ngrok Address" i "Telegram Chat Id" (nabavite svoj ID za chat pomoću vodiča za Telegram na gornjoj vezi).
  • U donjem dijelu toka nalaze se čvorovi postavki - izmijenite ih prema svojim potrebama:

    • Aktiviraj kućnog ljubimca upozorenja o jelu/piću.
    • Odredite udaljenost za aktiviranje upozorenja o jelu/piću.
    • Definirajte obradu podataka o zdjelama i spremnicima.
    • Promijenite vrijeme izdavanja (koliko dugo traju doziranja - automatski način rada i pritisak gumba).
    • Odredite postotak praga prelijevanja zdjele za hranu (poništite automatsko točenje hrane ako u zdjeli ima dovoljno hrane).

Rasporedite tok (u gornjem desnom kutu).

* Tek pri prvom postavljanju vidjet ćete upozorenje u prozoru za otklanjanje pogrešaka o nedostajanju datoteke 'persistance.json'. Ne brinite zbog toga jer ćete u ovom trenutku postaviti vrijeme hranjenja ili promijeniti automatski prekidač za vodu, pokrenuti će ovu datoteku i više nećete imati ovo upozorenje.

Nadzornu ploču možete pogledati na https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (ako ste spojeni na isti LAN kao poslužitelj) ili na VAŠ_NGROK_ADDRESS/ui (sa bilo kojeg mjesta).

Korak 9: Završite

Zamotati
Zamotati

Nadamo se da je ovaj vodič bio informativan i jednostavan za čitanje, razumijevanje i provedbu.

Slobodno nas pitajte bilo što.

Preporučeni: