Tartalomjegyzék:

IoT macskaadagoló részecskefoton segítségével, integrálva Alexa, SmartThings, IFTTT, Google Táblázatok: 7 lépés (képekkel)
IoT macskaadagoló részecskefoton segítségével, integrálva Alexa, SmartThings, IFTTT, Google Táblázatok: 7 lépés (képekkel)

Videó: IoT macskaadagoló részecskefoton segítségével, integrálva Alexa, SmartThings, IFTTT, Google Táblázatok: 7 lépés (képekkel)

Videó: IoT macskaadagoló részecskefoton segítségével, integrálva Alexa, SmartThings, IFTTT, Google Táblázatok: 7 lépés (képekkel)
Videó: Scott Aaronson: The Greatest Unsolved Problem in Math 2024, Július
Anonim
Image
Image
IoT macskaadagoló részecskefoton használatával, integrálva az Alexa, a SmartThings, az IFTTT és a Google Táblázatok
IoT macskaadagoló részecskefoton használatával, integrálva az Alexa, a SmartThings, az IFTTT és a Google Táblázatok
IoT macskaadagoló részecskefoton segítségével, integrálva az Alexa, a SmartThings, az IFTTT és a Google Táblázatok
IoT macskaadagoló részecskefoton segítségével, integrálva az Alexa, a SmartThings, az IFTTT és a Google Táblázatok
IoT macskaadagoló részecskefoton használatával, integrálva az Alexa, a SmartThings, az IFTTT és a Google Táblázatok
IoT macskaadagoló részecskefoton használatával, integrálva az Alexa, a SmartThings, az IFTTT és a Google Táblázatok

Az automatikus macskaadagoló szükségessége magától értetődő. A macskák (a macskánk neve Bella) kellemetlenek lehetnek éhesek, és ha a macskája olyan, mint az enyém, minden alkalommal szárazon eszi meg a tálat. Szükségem volt arra, hogy szabályozott mennyiségű ételt automatikusan adagolhassak 3 módszerrel - 1. Alexa hangutasítás, 2. ütemterv és 3. gomb a SmartThings alkalmazásban. Azt is szerettem volna, hogy nyomon lehessen követni, hogyan és mikor etetik a macskát, hogy ne etessünk kétszer (néha amikor feleségem eteti a macskát, majd 15 perccel később újra etetem).

Ez a projekt nem túl nehéz, nem vagyok sem fejlesztő, sem mérnök, de sok online forrás is segített nekem. Összeállítom mindazt, amit használtam, és minden lépést, amellyel Ön is elvégezheti ezt a projektet. Élvezze, és boldog építést!

1. lépés: Szerezze be az összes szükséges anyagot - körülbelül 100 USD

Szerezze be az összes szükséges anyagot - nagyjából 100 dollár
Szerezze be az összes szükséges anyagot - nagyjából 100 dollár

Itt van minden, amit megvettem a macska etető elkészítéséhez. Ez körülbelül 100 dollár volt, ami egy kicsit több, mint a tervezett 75 dollárom, de néhány jobb minőségű alkatrészre mentem, hogy biztosítsam az élettartamát. Néhány anyag, amelyet már meg kellett készítenem a dobozban, például faragasztó, forró ragasztópisztoly, 18 -as szegező, csiszolópapír, fa töltőanyag stb. Véleményem szerint ezek "eszközök" alá tartoznak, és nem minden szükséges. Néha túl vagyok azon, hogy szép legyen a dolog.

Ha eltér ezektől a pontos termékektől, győződjön meg arról, hogy a szervó fém fogaskerékkel rendelkezik, és jegyezze fel a fogak számát, mert a szervókarnak/kürtnek ugyanannyi fogra lesz szüksége. Az alább felsorolt szervó és kar 25T, azaz 25 fog. Emellett műanyag kart használtam az első körbejáráskor, és a fogakat egy héttel a használat után eltávolították, úgyhogy ne menjen a műanyag útra, szerezzen fémet.

1. Részecskés foton 19,99 USD

2. Breadboard és Jumper vezetékek $ 7.69

3. Szervó 19,99 USD

4. Fém szervókar/kürt $ 8.98

5. Piezo Buzzer $ 5.05

6. Gabonaadagoló 14,95 USD

7. Farostlemez a hardverboltból a dobozhoz, 2 darab, ha esetleg elrontana 20 dollárt

8. Rustoleum Hammered Spray Paint $ 5.97

8. Egyéb csavarok, faragasztó, szögek, csiszolópapír, fa töltőanyag stb.

2. lépés: Állítsa be a részecske fotont

Az első lépés a részecskefoton csatlakoztatása az internethez. Ez nagyon egyszerű, különösen a Particle által biztosított útmutatók segítségével. Töltse le a Particle alkalmazást a telefonjára, hozzon létre egy részecskefiókot, és kövesse az útmutatót a wifi -hez való csatlakoztatásához. Nézze meg a videót, és kövesse ezeket az utasításokat!

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

3. lépés: Csatlakoztassa a részecskéket a szervóhoz, a kenyértáblához és a csengőhöz

Csatlakoztassa a részecskéket a szervóhoz, a kenyértáblához és a csengőhöz
Csatlakoztassa a részecskéket a szervóhoz, a kenyértáblához és a csengőhöz
Csatlakoztassa a részecskéket a szervóhoz, a kenyértáblához és a csengőhöz
Csatlakoztassa a részecskéket a szervóhoz, a kenyértáblához és a csengőhöz

Oké, most be kell kötni a részecskéket a szervóhoz és a zümmögőhöz egy kenyérsütő deszkán keresztül. Csatlakoztassa a részecskéket a kenyértáblához, és hagyjon 2 tűs lyukat mindkét oldalon, teljesen mindegy, hogy ezen kívül hol helyezkedik el. A vezetékeket a csengőhöz forrasztottam, majd forró ragasztóval rögzítettem. Egyszerűbb módszer a terminálcsatlakozók vagy tompacsatlakozók használata és fogóval történő préselés. Tőled függ.

Csatlakoztassa a szervo vezetékeket:

VIN Piros szervóhuzal

A5 Sárga szervohuzal

GND Fekete szervohuzal

Csatlakoztassa a hangjelző vezetékeket (nem mindegy, melyik):

D0 Zümmögő vezeték

GND zümmögő huzal

4. lépés: Villogó kód a fotonhoz

Villogó kód a fotonhoz
Villogó kód a fotonhoz

Most, hogy be van kapcsolva, engedje, hogy a firmware -kódot a foton felé villogja, és ellenőrizze, hogy a zümmögő dallamot játszik le, és a szervó elfordul.

Jelentkezzen be a részecske -építési konzolba a https://build.particle.io fiókjával

Kattintson a bal oldali eszköztár kódgombjára. Másolja ki és illessze be a mellékelt firmware -kódot (cat_feeder.c) a build konzolba, és alapértelmezés szerint cserélje ki a meglévő kódokat.

Egy kis magyarázat a betáplálás funkcióról. Mivel az etetést 3 különböző módszerrel (gomb, hang, ütemezés) lehet meghívni, 3 különböző parancsra van szükségünk az egyes események közzétételéhez, hogy tudjuk, hogyan etették a macskát. Ezek a parancsok "bfeed", ha a gomb táplálja őket, "sfeed", ha ütemezés szerint táplálják, és "vfeed", ha hangutasítással táplálják.

Kattintson a Mappa keresése gombra a kód mentéséhez, és adjon neki egy választott nevet.

Kattintson az ellenőrzés gombra (úgy néz ki, mint egy pipa, körülötte egy kör). Néhány pillanat múlva látni kell az alsó állapotsorban:

Kód fordítása… A kód ellenőrzött. Nagyszerű munka! Kész.

Most kattintson a vaku gombra a bal eszköztáron (úgy néz ki, mint egy villám). Néhány pillanat múlva az alsó állapotsorban látni kell:

Villogó kód… A vaku sikeres! Eszköze frissítés alatt áll. Kész.

Ezután jelentkezzen be a részecske konzolba

Kattintson a részecske fotonjára. Ez az eszköz állapotoldala, és az eseménynaplókban láthatja, hogy milyen műveleteket hajtanak végre, például villogó kódot, vagy amikor a hírcsatorna -parancsok meghívása után közzétesznek eseményeket. A feed parancs kezdeményezéséhez használja a konzol jobb oldalán található Funkció lapkát. Mivel a függvényt "feed" -nek hívják a kódban, látnia kell azt és egy argumentumbeviteli mezőt.

Írja be a "bfeed" -t az argumentumbeviteli mezőbe, majd kattintson a Hívás gombra.

Ennek el kell játszania a dallamot, majd el kell fordítania a szervót. Ha szeretné, tesztelés céljából módosítsa a kód késleltetési idejét 330 MS -ről valami hosszabbra, mint 5000, ha ellenőrizni szeretné a szervo elfordulását. Minden alkalommal, amikor módosítja a kódot, a Flash gombra kell kattintania. Valószínűleg később módosítania kell a késleltetést, hogy elérje a kívánt fordulatszámot (például ha kutyát etet, érdemes több ételt kiadnia).

5. lépés: Készítsen egy dobozt minden ház elhelyezéséhez

Készítsd el a dobozt, ahol mindent megtalálsz
Készítsd el a dobozt, ahol mindent megtalálsz
Készítsd el a dobozt, ahol mindent megtalálsz
Készítsd el a dobozt, ahol mindent megtalálsz
Készítsd el a dobozt, ahol mindent megtalálsz
Készítsd el a dobozt, ahol mindent megtalálsz

Ez a lépés az Ön jó divatos asztalos készségeiből áll. Vettem 2-2x4ft -es farostlemezt a doboz elkészítéséhez, mert erős, sima tapintású, viszonylag olcsó és könnyen vágható/dolgozható. Bármilyen anyagot választhat. Ez a lépés valóban a saját belátása szerint történik a felépítésében, mert mindenkinek más az igénye. Nem fogok részletes lépésről lépésre elkészíteni a dobozt, de megoszthatom az általam alkalmazott gondolatmenetet és módszereket.

A doboz tervezésekor számos tényezőt vettem figyelembe. Azt akartam, hogy ez a dolog a lehető legkompaktabb legyen. Azt akartam, hogy könnyen tisztítható és/vagy javítható legyen, ha meghibásodna. Végül azt akartam, hogy az adagolócső legyen látható, hogy jól lássam, mikor fogy el az étel. Ezt szem előtt tartva először elkészítettem a dobozt, majd megmértem a belső méreteket, hogy négyzet alakú keretet alkossak, amelyhez az adagolóegység, a szervo és a tábla van rögzítve. Így a teljes egység kivehető a dobozból szervizelés céljából. Lásd a képeket.

6. lépés: SmartThings eszközkezelők

SmartThings eszközkezelők
SmartThings eszközkezelők
SmartThings eszközkezelők
SmartThings eszközkezelők
SmartThings eszközkezelők
SmartThings eszközkezelők

Ez a lépés elmagyarázza, hogyan valósítható meg a hírcsatorna -hívás SmartThings és Alexa használatával. Ehhez 2 groovy eszközkezelőt kellett írnom. Az egyik kezelő "bfeed", amikor megnyomom a gombot a SmartThings -ben, a másik kezelő pedig "vfeed", amikor megkérem Alexát, hogy táplálja Bellát hangutasítással. A 2 különböző kezelő másik oka, hogy az Alexa csak a kapcsolóeszközöket ismeri fel, gombokat nem. Így kénytelen voltam becsapni Alexát, hogy ismerjen fel egy kapcsolót, hogy meghívja a funkciót (ki és bekapcsolva ugyanazt a műveletet hajtja végre). Ok, kezdjük.

Jelentkezzen be (vagy hozzon létre fiókot) az IDE SmartThings portálra a https://ide.smartthings.com címen Samsung vagy SmartThings fiókja segítségével.

Győződjön meg arról, hogy a SmartThings hub megjelenik a "Saját helyek" és a "Saját hubok" alatt. Ha nem jelenik meg, akkor folytassa a hibaelhárítást, mielőtt folytatja.

Először létrehozzuk a Gombkezelőt

Kattintson a "Saját eszközkezelők" elemre a felső navigációs sávon.

Kattintson az "Új eszközkezelő létrehozása" kék gombra

Válassza a "From Code" fület, és illessze be a kódot a csatolt fájlból button_handler.groovy. Ezután kattintson a Létrehozás gombra.

Kattintson a "Mentés" és a "Közzététel" "Számomra" gombra. Látnia kell egy zöld értesítést, amely így szól: "Az eszköztípus sikeresen közzétéve".

Most ugorjon át a telefonjára, és nyissa meg a SmartThings alkalmazást. Látnia kell, hogy a kezelő új eszközként jelenik meg. Be kell állítania a kezelőt, hogy közzétegye a részecske -eszközön. Válassza ki az újonnan létrehozott eszközt, és nyissa meg a Beállításokat (úgy néz ki, mint egy fogaskerék ikon).

Írja be az eszköz nevét - Nevezze el az eszközt, bármit is választ, biztos vagyok benne, hogy a macskája szintén nem Bella.

Írja be a hozzáférési tokent - A hozzáférési token megtalálható a Particle Build konzol https://build.particle.io/ beállításai alatt (fogaskerék ikon a bal alsó sarokban). A hozzáférési token egy 40 karakterből álló karakterlánc lesz.

Írja be az eszköz azonosítóját - Az eszközazonosító a Részecskekonzol oldalon található 24 karakteres karakterláncként, és az összes részecske URL -ben is megjelenik, amikor bejelentkezik fiókjába a részecske -eszközön. Az eszköz -azonosító félkövérként látható az URL -ben:

Kattintson a Mentés gombra.

Kattintson a Feed gombra!

A feed gombra kattintva meg kell hallania a dallamot, és be kell kapcsolnia a szervót. Látnia kell a részecske konzol eseménynaplójában közzétett eseményeket is.

Ezután létrehozzuk az Eszközkezelőt az Alexa számára

Kövesse a fent leírt eljárást. Lépjen az IDE SmartThings portálra, és kattintson a "Saját eszközkezelők" elemre a felső navigációs sávon. Kattintson a kék gombra "Új eszközkezelő létrehozása"

Válassza a "From Code" fület, és illessze be a kódot a alexa_handler.groovy csatolt fájlból. Ezután kattintson a Létrehozás gombra.

Kattintson a "Mentés" és a "Közzététel" "Számomra" gombra. Látnia kell egy zöld értesítést, amely így szól: "Az eszköztípus sikeresen közzétéve".

Most ugorjon vissza a telefonjára, és nyissa meg a SmartThings alkalmazást. Látnia kell, hogy a kezelő új eszközként jelenik meg, de ezúttal gomb nélkül. Be kell állítania a kezelőt hozzáférési jogkivonatával és eszközazonosítójával, mint korábban.

Válassza ki az újonnan létrehozott eszközt a SmartThings alkalmazásban, és nyissa meg a Beállításokat (úgy néz ki, mint egy fogaskerék ikon).

Írja be az eszköz nevét - Nevezze el az eszközt, bármit is választ, én "macskaadagoló kezelőnek Alexának" neveztem, így a feleségem tudja, hogy nem a macskaadagoló gomb.

Írja be a hozzáférési jogkivonatot és az eszköz azonosítóját, majd kattintson a Mentés gombra.

Most nyissa meg az Alexa alkalmazást a telefonján. Ha még nem tette meg korábban, engedélyezze a SmartThings Alexa Skill szolgáltatást, és kapcsolja össze SmartThings -fiókját az Alexa alkalmazással. Ezután lépjen az Intelligens kezdőképernyőre, és kattintson az "Eszköz hozzáadása" gombra. Ezt úgy is megteheti, hogy "Alexa, fedezze fel az eszközöket". Egy eszköznek kapcsoló ikonnal kell megjelennie, és a SmartThings -ben a kezelőnek adott nevet kapja. Ha szeretné, megváltoztathatja annak nevét az Alexa alkalmazásban, de ne feledje, hogy ez a kapcsoló típusa, ezért azt kell mondania, hogy "Alexa, kapcsolja be" vagy "Alexa, kapcsolja ki". Tudom, hogy nem szép azt mondani, hogy „Kapcsolja be a macskatáplálót”, ezért alternatívaként hozzon létre egy új rutint az Alexa alkalmazásban, és nevezze el a kívánt kifejezéssel. Készítettem egy "Feed Bella" nevű rutint, amely bekapcsolja a macskaadagoló kapcsolót.

Ha az Alexa alkalmazásban lévő kapcsolóra kattint, akkor sikeresen meg kell hívnia a feed funkciót. A részecske konzol eseménynaplójának szintén közzé kell tennie az erre utaló eseményeket.

Ha már mindent úgy neveztél el, ahogy szeretnéd, menj tovább, és próbáld ki!

7. lépés: Összerakás

Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni

Az utolsó rész, amivel nem foglalkoztam, az a hírcsatornák ütemezése és a közzétett események Google Táblázatba rögzítése. Valószínűleg azt gondolja, hogy az Alexa alkalmazással rutinszerű ütemezést lehet készíteni az ütemezéshez, de ez nem teszi lehetővé, hogy naplózzuk az ütemezést vs hangparancsot vagy gombot. Tehát helyette van egy IFTTT kisalkalmazás a részecskékhez, amelyet használni fogunk.

Hozzuk létre az IFTTT kisalkalmazást a hírcsatornák ütemezéséhez

Nyissa meg a https://ifttt.com webhelyet, vagy töltse le az IFTTT okostelefonos alkalmazást, és jelentkezzen be (szükség esetén hozzon létre fiókot)

Ha még nem ismeri az IFTTT -t, akkor nagyon egyszerű. Minden kisalkalmazás IF -ből (feltételből vagy triggerből) és THAT -ból (bizonyos tennivalókból) áll.

Tehát miután bejelentkezett az IFTTT -be, hozzon létre egy új kisalkalmazást, válassza az IF lehetőséget, és keresse meg vagy válassza a "Dátum és idő" lehetőséget. Ezt a kívánt ütemezésnek megfelelően konfigurálhatja. Ezután folytassa a lépésekkel, és miután eljutott az EZT -hez, keresse meg a "Részecske" kifejezést, és válassza a "Funkció hívása" lehetőséget. Töltse ki a mezőket, mint a fenti képernyőképen, győződjön meg róla, hogy az "sfeed" értéket használja bemenetként, mivel ez a parancs szükséges a "Fed szerint ütemezett" esemény közzétételéhez. Előfordulhat, hogy a kisalkalmazás beállítása során csatlakoznia kell, vagy be kell jelentkeznie a részecskeszámlájához. Mentse el az kisalkalmazást, és már indulhat is. Ha tesztelni szeretne, csak a jövőben módosítsa a dátumot és az időt, és nézze meg, hogy megfelelően aktiválódik -e.

Most hozza létre az IFTTT kisalkalmazásokat a 3 eseménytípus kezelésére

Három parancsot kell figyelembe vennünk, amikor a macskaadagoló fut. Ezek keményen kódolva vannak a részecske firmware -ben:

Bella a menetrend szerint táplálkozik

Ha háziállatának nem a "Bella" a neve, akkor valószínűleg meg kell változtatnia ezt a firmware-ben, és újra fel kell villannia. Változtassa meg a részecske kód Particle.publish sorában található szöveget.

Hozzon létre egy új IFTTT kisalkalmazást. (ezt háromszor kell megtenni, minden eseménytípusnál)

Az IF -től kezdve keressen rá a Részecskére, és válassza az "Új esemény közzétéve" lehetőséget. Az eseménynévnek pontosan a közzétett esemény nevének kell lennie, amelyet a firmware tartalmaz. Például: "Bella táplált ütemterv szerint" az esemény pontos neve az általam megadott kódban. Nézze meg a képernyőképet, mivel kitöltöttem referenciaként. További 2 IFTTT -t kell létrehoznia a többi esemény kezelésére. Ez az kisalkalmazás új lapot hoz létre a Google meghajtón, ha még nem létezik, és új eseményeket naplóz a következő üres sorba.

Ajánlott: