Kazalo:

IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets: 7 korakov (s slikami)
IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets: 7 korakov (s slikami)

Video: IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets: 7 korakov (s slikami)

Video: IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets: 7 korakov (s slikami)
Video: Эрик Вайнштейн: геометрическое единство и ноотропы 2024, December
Anonim
Image
Image
IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder z uporabo fotona delcev, integriranega z Alexa, SmartThings, IFTTT, Google Sheets

Potreba po avtomatskem krmilniku za mačke je samoumevna. Mačke (ime naše mačke je Bella) so lahko neprijetne, ko so lačne, in če je vaša mačka kot moja, bo posodo vsakič pojedla na suho. Potreboval sem način, da samodejno razdelim nadzorovano količino hrane na tri načine - 1. glasovni ukaz Alexa, 2. po urniku in 3. z gumbom v SmartThings. Želela sem tudi način, kako slediti, kako in kdaj se mačka nahrani, da se ne hranimo dvakrat (včasih, ko moja žena nahrani mačko, nato pa mačko ponovno nahranim 15 minut kasneje).

Ta projekt ni pretirano težak, nisem razvijalec niti inženir, a na spletu mi je pomagalo veliko virov. Zbiram vse, kar sem uporabil, in vse korake, potrebne za dokončanje tega projekta. Uživajte in srečna gradnja!

1. korak: Pridobite vse potrebne materiale - približno 100 USD

Pridobite vse potrebne materiale - približno 100 USD
Pridobite vse potrebne materiale - približno 100 USD

Tukaj je vse, kar sem kupil za izdelavo tega hranilnika za mačke. Stalo je približno 100 dolarjev, kar je malo več od mojih načrtovanih 75 dolarjev, vendar sem se odločil, da bo zdržal. Nekatere materiale, ki sem jih že moral narediti za izdelavo škatle, kot so lepilo za les, pištola za vroče lepilo, žebljiček 18ga, brusni papir, lesna polnila itd. Po mojem mnenju spadajo pod "orodja" in niso vsi potrebni. Včasih grem samo čez in čez, da stvari naredim lepe.

Če odstopate od teh natančnih izdelkov, se prepričajte, da ima vaš servo kovinski zobnik in zabeležite število zob, ker bo morala vaša servo roka/rog imeti enako število zob. Servo in roka spodaj sta 25T, kar pomeni 25 zob. Tudi jaz sem pri prvem obhodu uporabil plastično roko in v enem tednu uporabe so se mi zobje raztrgali, zato ne hodite po plastični poti, ampak kovinsko.

1. Foton delcev 19,99 USD

2. Žice za ploščice in skakalce 7,69 USD

3. Servo 19,99 USD

4. Kovinska servo roka/hupa 8,98 USD

5. Piezo Buzzer 5,05 USD

6. Dozator za žita 14,95 USD

7. Vlaknasta plošča iz trgovine strojne opreme za škatlo, 2 kosa za vsak slučaj, če zamotite 20 USD

8. Rustoleum razpršena barva za brizganje 5,97 USD

8. Razno. predmeti, kot so vijaki, lepilo za les, žeblji, brusni papir, lesna polnila itd.

2. korak: Nastavite foton delcev

Prvi korak je povezovanje vašega delca Photon z internetom. To je zelo enostavno, zlasti z vodniki, ki jih ponuja Particle. Prenesite aplikacijo Particle na telefon, ustvarite račun za delce in sledite vodniku, kako ga povezati z wifi. Oglejte si video in sledite tem navodilom!

docs.particle.io/guide/getting-started/start/photon/

3. korak: Priključite delce na servo, Breadboard in Buzzer

Priključite delce na servo, Breadboard in Buzzer
Priključite delce na servo, Breadboard in Buzzer
Priključite delce na servo, Breadboard in Buzzer
Priključite delce na servo, Breadboard in Buzzer

V redu, zdaj moramo delce priključiti na servo in brenčalo z uporabo mize. Pritrdite svoj delček na ploščo in pustite 2 luknjiči na vsaki strani, pravzaprav ni pomembno, kje so delci zunaj tega. Spajkal sem žice na zvočni signal, nato pa z vročim lepilom pritrdil. Enostavnejša metoda bi bila uporaba priključnih sponk ali zadnjic in njihovo stiskanje s kleščami. Odvisno od tebe.

Priključite servo žice:

VIN rdeča servo žica

A5 rumena servo žica

GND Črna servo žica

Priključite žice zvonilca (ni važno, kateri je):

D0 žica z zvočnikom

GND žica z zvočnikom

4. korak: Utripajoča koda na Photon

Utripajoča koda na Photon
Utripajoča koda na Photon

Zdaj, ko ste ga priklopili, lahko kodo vdelane programske opreme utripate na foton in preizkusite, ali zvočni signal predvaja melodijo in se servo obrača.

Prijavite se v konzolo za gradnjo delcev s svojim računom

Kliknite gumb za kodo na levi strani orodne vrstice. Kopirajte in prilepite kodo vdelane programske opreme (cat_feeder.c) v gradbeno konzolo, privzeto zamenjajte obstoječo kodo.

Majhna razlaga o funkciji podajanja. Ker je krmljenje mogoče priklicati s tremi različnimi metodami (gumb, glas, urnik), za objavo vsakega dogodka potrebujemo 3 različne ukaze, da vemo, kako je bila mačka nahranjena. Ti ukazi so "bfeed", ko jih napaja gumb, "sfeed", ko se dovajajo po urniku, in "vfeed", ko se dovajajo z glasovnim ukazom.

Kliknite gumb Išči mapo, da shranite kodo in ji dajte ime, ki ga izberete.

Kliknite gumb za preverjanje (videti je kot kljukica s krogom okoli njega). Čez nekaj trenutkov bi morali v spodnji vrstici stanja videti:

Sestavljanje kode… Koda preverjena. Odlično delo! Pripravljen.

Zdaj kliknite gumb Flash na levi orodni vrstici (izgleda kot strela). Čez nekaj trenutkov bi morali v spodnji vrstici stanja videti:

Utripajoča koda … Flash je uspel! Vaša naprava se posodablja. Pripravljen.

Nato se prijavite v konzolo za delce

Kliknite na svoj foton delcev. To je stran stanja za vašo napravo, v dnevnikih dogodkov si lahko ogledate, kdaj so izvedena dejanja, na primer utripajoča koda, ali ko so dogodki objavljeni ob pozivu ukazov za vir. Za zagon ukaza za krmiljenje uporabite ploščico Funkcija na desni strani te ukazne mize. Ker se funkcija v kodi imenuje "feed", bi jo morali videti in polje za vnos argumenta.

V polje za vnos argumenta vnesite "bfeed" in kliknite Pokliči.

To bi moralo predvajati melodijo in nato obrniti servo. Če želite, za namene testiranja spremenite čas zakasnitve v kodi s 330 MS na nekaj daljšega, na primer 5000, če želite preveriti obračanje servomotorja. Vsakič, ko spremenite kodo, morate klikniti gumb Flash. Zakasnitev boste verjetno morali prilagoditi pozneje, da dobite želeno količino obrata (na primer pri hranjenju psa, morda boste želeli razdati več hrane).

5. korak: Naredite škatlo za vse

Naredite škatlo za vse
Naredite škatlo za vse
Naredite škatlo za vse
Naredite škatlo za vse
Naredite škatlo za vse
Naredite škatlo za vse

Ta korak je sestavljen iz vaših dobrih veščin mizarskega mizarstva. Za izdelavo škatle sem kupil 2 vlaknene plošče 2x4ft, ker je močna, gladka na otip, relativno poceni in enostavna za rezanje/obdelavo. Izberete lahko kateri koli material. Ta korak je po vaši presoji glede tega, kako je zgrajen, ker imajo vsi različne potrebe. Ne bom imel podrobnih korakov za izdelavo škatle, lahko pa delim miselni proces in metode, ki sem jih uporabil.

Pri oblikovanju škatle sem upošteval številne dejavnike. Želel sem si, da bi bila ta stvar čim bolj kompaktna. Želel sem, da je enostaven za čiščenje in/ali popravljanje, če je kdaj prišlo do okvare. Nazadnje sem hotel izpostaviti cev razpršilnika, da lahko vidno vidim, kdaj hrane primanjkuje. S tem v mislih sem najprej naredil škatlo in nato izmeril notranje dimenzije, da sem naredil kvadratni okvir, na katerega so pritrjene razdelilna enota, servo in plošča. Na ta način lahko celotno enoto dvignete iz škatle za servisiranje. Oglejte si slike.

6. korak: Upravljavci naprav SmartThings

Uporabniki naprav SmartThings
Uporabniki naprav SmartThings
Uporabniki naprav SmartThings
Uporabniki naprav SmartThings
Uporabniki naprav SmartThings
Uporabniki naprav SmartThings

Ta korak pojasnjuje, kako implementirati klicanje funkcije feed z uporabo SmartThings in Alexa. Za to sem moral napisati 2 groovy upravljalnika naprav. Eden od upravljavcev je za "bfeed", ko pritisnem gumb v SmartThings, drugi pa za "vfeed", ko prosim Alexa, da z glasovnim ukazom nahrani Bello. Drug razlog za dva različna upravljavca je, da Alexa prepozna le naprave, ki so stikala, ne pa gumbov. Zato sem moral prevarati Alexa, da prepozna stikalo, da prikliče funkcijo (izklop in vklop izvede isto dejanje). V redu, začnimo.

Prijavite se (ali ustvarite račun) na portal IDE SmartThings na naslovu https://ide.smartthings.com s svojim računom Samsung ali računom SmartThings.

Potrdite, da se vaše vozlišče SmartThings prikaže pod »Moje lokacije« in »Moja vozlišča«. Če se ne prikaže, odpravite to težavo, preden nadaljujete.

Najprej bomo ustvarili upravljalnik gumbov

V zgornji vrstici za krmarjenje kliknite »Moji upravljavci naprav«.

Kliknite modri gumb "Ustvari nov upravljalnik naprav"

Izberite zavihek "Iz kode" in prilepite kodo iz priložene datoteke button_handler.groovy. Nato kliknite Ustvari.

Kliknite »Shrani« in »Objavi« »Zame«. Videti bi se moralo zeleno obvestilo z napisom "Vrsta naprave je uspešno objavljena."

Zdaj skočite na telefon in odprite aplikacijo SmartThings. Moral bi videti, da se upravljavec prikaže kot nova naprava. Obdelovalec boste morali konfigurirati tako, da bo objavljen v napravi z delci. Izberite novo ustvarjeno napravo in odprite Nastavitve (izgleda kot ikona zobnika).

Vnesite ime naprave - poimenujte napravo, karkoli izberete, prepričan sem, da se tudi vaši mački ne imenuje Bella.

Vnesite žeton za dostop - žeton za dostop boste našli v konzoli za gradnjo delcev https://build.particle.io/ pod nastavitvami (ikona zobnika v spodnjem levem kotu). Žeton za dostop bo niz 40 znakov.

Vnesite ID naprave - ID naprave je na strani Konzola delcev v nizu 24 znakov in je viden tudi v vseh URL -jih delcev, ko ste prijavljeni v svoj račun, ko delate na napravi z delci. ID naprave je na URL -ju videti DROBEN:

Kliknite Shrani.

Kliknite gumb Feed!

S klikom na gumb za vnos morate slišati melodijo in zagnati servo. Prav tako bi morali videti dogodke, objavljene v dnevniku dogodkov konzole.

Nato bomo ustvarili upravljalnik naprav za Alexa

Sledite enakemu postopku kot zgoraj. Pojdite na portal IDE SmartThings in v zgornji vrstici za krmarjenje kliknite »Moji upravljavci naprav«. Kliknite modri gumb »Ustvari nov upravljavec naprav«

Izberite zavihek "Iz kode" in prilepite kodo iz priložene datoteke alexa_handler.groovy. Nato kliknite Ustvari.

Kliknite »Shrani« in »Objavi« »Zame«. Videti bi se moralo zeleno obvestilo z napisom "Vrsta naprave je uspešno objavljena."

Zdaj skočite nazaj na telefon in odprite aplikacijo SmartThings. Videti bi morali, da se upravljavec prikaže kot nova naprava, vendar tokrat brez gumba. Tako kot prej ste morali upravljalnik konfigurirati z vašim žetonom dostopa in ID -jem naprave.

V SmartThings izberite novo ustvarjeno napravo in odprite Nastavitve (izgleda kot ikona zobnika).

Vnesite ime naprave - poimenujte napravo, kakor koli izberete, imenoval sem jo "Cat Feeder Handler for Alexa", tako da moja žena ve, da to ni gumb Cat Feeder.

Vnesite žeton za dostop in vnesite ID naprave, nato kliknite Shrani.

Zdaj odprite aplikacijo Alexa v telefonu. Če tega še niste storili, omogočite spretnost Alexa SmartThings in svoj račun SmartThings povežite z aplikacijo Alexa. Nato pojdite na zaslon pametnega doma in kliknite »Dodaj napravo«. To lahko storite tudi z besedo "Alexa, odkrij naprave". Naprava bi se morala prikazati z ikono stikala, imenovana bo tako, kot ste poimenovali upravljavca v SmartThings. Če želite, lahko spremenite njegovo ime v aplikaciji Alexa, vendar ne pozabite, da je to tip stikala, zato bo treba izgovoriti "Alexa, vklopi" ali "Alexa, izklopi". Vem, da ni lepo reči "Vklopi podajalnik za mačke", zato je alternativa, da v aplikaciji Alexa ustvarite novo rutino in jo pokličete s frazo, ki jo želite točno. Naredil sem rutino, imenovano "Feed Bella", ki vklopi stikalo za podajanje mačk.

S klikom na stikalo v aplikaciji Alexa bi morali zdaj uspešno poklicati funkcijo vira. Dnevnik dogodkov konzole Particle mora objaviti tudi dogodke, ki to nakazujejo.

Ko imate vse poimenovano tako, kot želite, poskusite!

7. korak: Vse skupaj

Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj

Zadnji del, ki ga nisem obravnaval, je, kako razporediti vire in zabeležiti objavljene dogodke v Google Sheet. Verjetno mislite, da lahko aplikacijo Alexa uporabite za izdelavo rutine za urnik, vendar nam to ne bi omogočilo zapisovanja urnika v primerjavi z glasovnim ukazom ali gumbom. Namesto tega že obstaja programček IFTTT za delce, ki ga bomo uporabili.

Ustvarimo programček IFTTT za razporejanje virov

Pojdite na https://ifttt.com ali prenesite aplikacijo za pametni telefon IFTTT in se prijavite (po potrebi ustvarite račun)

Če ste novi v IFTTT, je to zelo preprosto. Vsak programček je sestavljen iz IF (pogoj ali sprožilec) in THAT (nekaj dejanj).

Torej, ko ste prijavljeni v IFTTT, ustvarite nov programček, izberite IF in poiščite ali izberite »Datum in čas«. To nastavite na poljuben urnik. Nato nadaljujte skozi korake in ko pridete do THAT, boste iskali "Particle" in izbrali "Call a Function". Izpolnite polja, kot je prikazano na zgornjem posnetku zaslona, kot vnos uporabite "sfeed", saj je to ukaz, potreben za objavo dogodka "Fed po urniku". Med nastavitvijo tega programčka se boste morda morali povezati ali prijaviti v račun za delce. Shranite programček in vse je v redu. Če želite preizkusiti, samo spremenite datum in čas v bližnji prihodnosti in preverite, ali se pravilno sproži.

Zdaj ustvarite programčke IFTTT za obravnavo treh vrst dogodkov

Ko deluje podajalnik za mačke, moramo upoštevati 3 ukaze. Te so trdo kodirane v vdelani programski opremi delcev:

Bella hranjena po urniku Bella se hrani z gumbom Bella se hrani z glasovnim ukazom

Če vašemu hišnemu ljubljenčku ni ime "Bella", ga verjetno želite spremeniti v vdelani programski opremi in znova utripati. Spremenite besedilo v vrstici Particle.publish kode delcev.

Ustvarite nov programček IFTTT. (to je treba narediti 3 -krat za vsako vrsto dogodka)

Začenši z IF, poiščite Particle in izberite "New event published". Ime dogodka mora biti točno tisto objavljeno ime dogodka, ki ga imate v vdelani programski opremi. Na primer "Bella se hrani po urniku" je točno ime dogodka v kodi, ki sem vam jo posredoval. Za referenco si oglejte posnetek zaslona, ko sem ga izpolnil. Za obravnavo drugih dogodkov boste morali ustvariti še 2 IFTTT. Ta programček bo ustvaril nov list v vašem google pogonu, če še ne obstaja, in zapisal nove dogodke v naslednjo prazno vrstico.

Priporočena: