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, Juli
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!

Zar ne bi bilo sjajno kada biste mogli nahraniti i dati vodu voljenoj osobi bez otkazivanja planova kako biste stigli kući na vrijeme? 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 pregledati podatke i upravljati dozatorima:

  • Pogledajte nivo hrane i vode u rezervoarima.
  • Pogledajte nivo hrane i vode u činijama.
  • Da li životinja jede ili pije u ovom trenutku?
  • Zakažite hranjenje (uređaj neće izdavati hranu ako ima dovoljno hrane u zdjeli).
  • Automatski ispustite vodu kada se posuda isprazni.
  • Izlijte hranu/vodu pritiskom na dugme.
  • Primajte push obavijesti na svoj telefon (putem aplikacije Telegram).

Ko smo mi?

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

Ovaj projekat je napravljen za IOT kurs.

Supplies

Elektronika

  • 2 X ESP8266 (Wemos d1 mini).
  • Žice za kratkospojnike.
  • 2 X Breadboard.
  • 4 X Ultrazvučni senzor.
  • 2 X Merna ćelija.
  • 2 X Pojačalo sa mjernim ćelijama (HX711).
  • Servo (180 °).
  • Servo (kontinuirana rotacija).
  • 2 x 6V napajanje.

Delovi

  • Dozator za kukuruzne pahuljice (Amazon veza).
  • Lijevak za točenje hrane s 3D printom (https://www.thingiverse.com/thing:3998805).
  • Servo nastavak za 3D štampač dozatora za hranu (https://www.thingiverse.com/thing:3269637).
  • Stalak za točenje hrane s 3D printom (dizajniran za ovaj projekt:
  • 3D štampana baza i ploča mernih ćelija (dizajnirana za ovaj projekat:
  • Dozator vode (Amazon veza na nešto slično).
  • Žica (za spajanje dugmeta dozatora vode na servo).
  • 3 x Ultrazvučno postolje senzora.

Korak 1: Kako to funkcionira?

Kako to radi?
Kako to radi?

Ploče ESP8266 šalju očitanja senzora Node-RED-u preko 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 informacije na nadzornoj ploči.

Sva izračunavanja se izvode u Node-RED-u, tako da 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:

Mosquitto

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 kola

Raspored kola
Raspored kola

* Oba uređaja imaju identična kola

Dozator vode

  • Ultrazvučni senzor (za rezervoar za vodu)

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

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGER - D7
  • Opterećenje ćelije

    • ZELENO - A+ (HX711)
    • BIJELO - A- (HX711)
    • CRNO - E- (HX711)
    • CRVENO - E+ (HX711)
  • HX711 (pojačalo sa mjernim ćelijama)

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

    • GND - G
    • VCC - 5V

Dozator hrane

  • Ultrazvučni senzor (za rezervoar za hranu)

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

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGER - D7
  • Opterećenje ćelije

    • ZELENO - A+ (HX711)
    • BIJELO - A- (HX711)
    • CRNO - E- (HX711)
    • CRVENO - E+ (HX711)
  • HX711 (pojačalo sa mjernim ćelijama)

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

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

Korak 4: Zanat

Craft
Craft
Craft
Craft
Craft
Craft

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 unutrašnju stranu spremnika, blizu njegovog vrha (senzor okrenut prema dolje).
  5. Zalijepite jedan ultrazvučni senzor ispod ručice 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 štampani deo).
  2. Zalijepite lijevak (3D štampani dio) na držač rezervoara (3D štampani dio).
  3. Priključite držač rezervoara na postolje dozatora (3D štampani deo) i postavite rezervoar na mesto.
  4. Umetnite dio za predenje (3D štampan) na svoje 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 unutrašnju 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 štampanu podlogu i ploču (strelica mjerne ćelije okrenuta prema dolje)

Korak 5: Komarac

Mosquitto
Mosquitto

Otvorite Mosquitto (korisnici operativnog sistema Windows: idite u fasciklu Mosquitto, otvorite cmd i unesite: "mosquitto -v").

* Da biste dobili internu IP adresu računara, 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" dio ovog vodiča:

Idite na Tools-> Board i odaberite "LOLIN (WEMOS) D1 R2 & mini".

Idite na Sketch-> Include Library-> Add. ZIP Library … i dodajte 3 biblioteke 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 bauda).

* Zapišite faktor kalibracije i nulti pomak (za kasniju upotrebu).

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).

* Primijetite da smo koristili biblioteku "AsyncMqttClient", a ne uobičajenu biblioteku "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 Evropu).

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

Korak 8: Node-RED

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

Otvorite Node-RED (korisnici Windowsa: 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:

  • node-red-contrib-persist.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • node-red-dashboard.
  • node-red-contrib-telegrambot.

Idite na meni-> Uvoz i otpremanje datoteke protoka (izdvojite priloženu RAR datoteku i otpremite json datoteku).

Za objašnjenja protoka pogledajte priložene slike.

Morat ćete izmijeniti ove čvorove sa svojim postavkama:

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

    • Aktiviraj kućnog ljubimca da jede/pije upozorenja.
    • Odredite udaljenost za aktiviranje upozorenja o jelu/piću.
    • Definirajte obradu podataka o zdjelama i spremnicima.
    • Mijenjajte vrijeme točenja (koliko dugo se točenje vrši - automatski način rada i pritisak na tipku).
    • Odredite postotak praga prelijevanja zdjele za hranu (obustavite automatsko točenje hrane ako u posudi ima dovoljno hrane).

Rasporedite tok (gore desno).

* Tek pri prvom postavljanju vidjet ćete upozorenje u prozoru za otklanjanje greš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.

Svoju 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 YOUR_NGROK_ADDRESS/ui (sa bilo kojeg mjesta).

Korak 9: Završite

Zamotati
Zamotati

Nadamo se da je ovaj vodič bio informativan i lak za čitanje, razumijevanje i implementaciju.

Slobodno nas pitajte bilo što.

Preporučuje se: