Cuprins:

Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google: 7 pași (cu imagini)
Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google: 7 pași (cu imagini)

Video: Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google: 7 pași (cu imagini)

Video: Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google: 7 pași (cu imagini)
Video: CS50 2014 - Week 7 2024, Iulie
Anonim
Image
Image
Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google
Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google
Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google
Alimentator pentru pisici IoT utilizând fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google
Alimentator pentru pisici IoT folosind fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google
Alimentator pentru pisici IoT folosind fotonul de particule integrat cu Alexa, SmartThings, IFTTT, Foi de calcul Google

Nevoia unui alimentator automat pentru pisici se explică de la sine. Pisicile (pisica noastră se numește Bella) pot fi dezgustătoare când îi este foame și dacă pisica ta este ca a mea, va mânca bolul uscat de fiecare dată. Aveam nevoie de o modalitate de a distribui automat o cantitate controlată de alimente prin 3 metode - 1. Comandă vocală Alexa, 2. printr-un program și 3. printr-un buton în SmartThings. De asemenea, am vrut o modalitate de a urmări cum și când pisica se hrănește, astfel încât să nu ne hrănim de două ori (uneori când soția mea hrănește pisica și apoi hrănesc pisica din nou 15 minute mai târziu).

Acest proiect nu este prea dificil, nu sunt dezvoltator și nici inginer, dar au existat multe resurse online care m-au ajutat. Compilez tot ce am folosit și toți pașii necesari pentru ca tu să finalizezi și tu acest proiect. Bucurați-vă și clădire fericită!

Pasul 1: obțineți toate materialele necesare - aproximativ 100 USD

Obțineți toate materialele necesare - aproximativ 100 USD
Obțineți toate materialele necesare - aproximativ 100 USD

Iată tot ce am cumpărat pentru a face acest hrănitor pentru pisici. Au fost aproximativ 100 de dolari, ceea ce este puțin mai mult decât planificați 75 de dolari, dar am ales câteva piese de calitate mai bună pentru a vă asigura că va dura. Unele dintre materialele pe care le-am avut deja pentru a face cutia, cum ar fi lipici pentru lemn, pistol de lipit fierbinte, cuie 18ga, hârtie de nisip, material de umplutură etc. Acestea se încadrează în „instrumente” în opinia mea și nu sunt toate necesare. Pur și simplu merg dincolo și dincolo de a face lucrurile frumoase.

Dacă vă abateți de la aceste produse exacte, asigurați-vă că servo-ul dvs. are un angrenaj metalic și notați numărul de dinți, deoarece brațul / claxonul dvs. servo va trebui să aibă același număr de dinți. Servo și brațul enumerate mai jos sunt 25T, adică 25 de dinți. De asemenea, am folosit un braț de plastic la prima mișcare și dinții dezlipiți în decurs de o săptămână de utilizare, așa că nu mergeți pe ruta de plastic, luați metal.

1. Foton cu particule 19,99 USD

2. Firele de pană și jumper 7,69 USD

3. Servo 19,99 USD

4. Braț / claxon servo metalic 8,98 USD

5. Piezo Buzzer 5,05 USD

6. Dispenser de cereale 14,95 USD

7. Placă de fibră din magazinul de hardware pentru cutie, 2 bucăți doar în cazul în care aruncați 20 USD

8. Vopsea cu pulverizare ciocănită Rustoleum 5,97 USD

8. Diverse articole precum șuruburi, lipici pentru lemn, cuie, hârtie de nisip, umplutură pentru lemn etc.

Pasul 2: Configurați fotonul de particule

Primul pas este conectarea fotonului dvs. de particule la internet. Acest lucru este foarte ușor, mai ales cu ghidurile furnizate de Particle. Descărcați aplicația Particle pe telefon, creați un cont de particule și urmați ghidul pentru conectarea la wifi. Urmăriți videoclipul și urmați aceste instrucțiuni!

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

Pasul 3: Conectați particula la Servo, Breadboard și Buzzer

Conectați particula la Servo, Breadboard și Buzzer
Conectați particula la Servo, Breadboard și Buzzer
Conectați particula la Servo, Breadboard și Buzzer
Conectați particula la Servo, Breadboard și Buzzer

Bine, acum trebuie să conectăm particula la servo și buzzer folosind o panou. Atașați particula la panoul de lăsat lăsând 2 găuri de pin pe fiecare parte, nu contează cu adevărat unde este plasată particula în afara acesteia. Mi-am lipit firele de buzzer și apoi am folosit lipici fierbinte pentru a-l asigura. O metodă mai simplă ar fi utilizarea conectorilor terminali sau a conectorilor de cap și sertizarea lor cu clești. Depinde de tine.

Conectați firele servo:

Sârmă servo roșie VIN

A5 Sârmă servo galbenă

Sârmă servo GND neagră

Conectați firele soneriei (nu contează care este):

D0 Sârmă sonoră

Sârmă sonoră GND

Pasul 4: Cod intermitent pe foton

Cod intermitent către foton
Cod intermitent către foton

Acum, când îl aveți conectat, permiteți să blocați codul firmware-ului pe foton și să testați dacă buzzerul redă o melodie și servo-ul se rotește.

Conectați-vă la consola de construire a particulelor utilizând contul dvs.

Faceți clic pe butonul de cod din bara de instrumente din partea stângă. Copiați și lipiți codul de firmware furnizat (cat_feeder.c) în consola de construire, înlocuiți în mod implicit orice cod existent acolo.

O mică explicație despre funcția de alimentare. Deoarece hrănirea poate fi invocată prin 3 metode diferite (buton, voce, programare) avem nevoie de 3 comenzi diferite pentru a publica fiecare eveniment, astfel încât să știm cum a fost hrănită pisica. Aceste comenzi sunt „bfeed” când sunt alimentate de buton, „sfeed” când sunt alimentate conform programării și „vfeed” când sunt alimentate prin comandă vocală.

Faceți clic pe butonul Căutare dosar pentru a vă salva codul, pentru a-i da numele dorit.

Faceți clic pe butonul de verificare (arată ca o bifă cu un cerc în jurul său). După câteva momente, ar trebui să vedeți în bara de stare de jos:

Cod de compilare … Cod verificat. Buna treaba! Gata.

Acum, faceți clic pe butonul Flash din bara de instrumente din stânga (arată ca un fulger). După câteva momente, ar trebui să vedeți în bara de stare de jos:

Cod intermitent … Flash reușit! Dispozitivul dvs. este în curs de actualizare. Gata.

Apoi, conectați-vă la consola de particule

Faceți clic pe fotonul dvs. de particule. Aceasta este o pagină de stare pentru dispozitivul dvs., puteți vedea în jurnalele de evenimente când sunt întreprinse acțiuni, cum ar fi codul intermitent sau când evenimentele sunt publicate din invocarea comenzilor de alimentare. Pentru a iniția o comandă de alimentare, veți utiliza dala Funcție din partea dreaptă a acestei console. Deoarece funcția este numită „feed” în cod, ar trebui să o vedeți și o casetă de introducere a argumentului.

Tastați „bfeed” în caseta de introducere a argumentului și faceți clic pe Apelare.

Aceasta ar trebui să redea melodia și apoi să rotească servo-ul. Dacă doriți, în scopuri de testare, schimbați timpul de întârziere din cod de la 330 MS la ceva mai lung de 5000, dacă doriți să verificați rotirea servo. Trebuie să faceți clic pe butonul Flash de fiecare dată când modificați codul. Probabil va trebui să reglați întârzierea mai târziu pentru a obține cantitatea dorită de viraj (cum ar fi hrănirea unui câine, poate doriți să distribuiți mai multe alimente).

Pasul 5: Faceți o cutie pentru a adăuga totul

Faceți o cutie pentru a găzdui totul
Faceți o cutie pentru a găzdui totul
Faceți o cutie pentru a găzdui totul
Faceți o cutie pentru a găzdui totul
Faceți o cutie pentru a găzdui totul
Faceți o cutie pentru a găzdui totul

Acest pas constă în abilitățile tale bune de tâmplărie. Am cumpărat 2 plăci din fibră de 2x4ft pentru a face cutia, deoarece este puternică, netedă la atingere, relativ ieftină și ușor de tăiat / de lucrat. Puteți alege orice material. Acest pas este într-adevăr la discreția dvs. în modul în care este construit, deoarece toată lumea are nevoi diferite. Nu voi avea un pas cu pas detaliat pentru realizarea cutiei, dar pot împărtăși procesul de gândire și metodele pe care le-am folosit.

Au fost o serie de factori pe care i-am luat în considerare pentru proiectarea cutiei. Am vrut acest lucru cât mai compact posibil. Am vrut să fie ușor de întreținut pentru curățare și / sau reparare, dacă a funcționat vreodată defectuos. În cele din urmă, am vrut ca tubul dozator să fie expus, astfel încât să văd vizibil când alimentele se epuizează. Având în vedere acest lucru, am făcut cutia mai întâi și apoi am măsurat dimensiunile interioare pentru a face un cadru pătrat pe care sunt atașate unitatea distribuitoare, servo și placă. În acest fel, întreaga unitate poate fi ridicată chiar din cutie pentru service. Vezi imaginile.

Pasul 6: SmartThings Device Handlers

Manipulatori de dispozitive SmartThings
Manipulatori de dispozitive SmartThings
Manipulatori de dispozitive SmartThings
Manipulatori de dispozitive SmartThings
Manipulatori de dispozitive SmartThings
Manipulatori de dispozitive SmartThings

Acest pas explică cum să implementați apelarea funcției de alimentare folosind SmartThings și Alexa. Pentru a face acest lucru, a trebuit să scriu 2 manipulatoare de dispozitive groovy. Unul dintre handler este pentru „bfeed” când apăs butonul din SmartThings și celălalt handler este pentru „vfeed” când îi cer lui Alexa să o hrănească pe Bella prin comandă vocală. Un alt motiv pentru a avea 2 manageri diferiți este că Alexa recunoaște numai dispozitivele care sunt comutatoare, nu butoane. Așa că a trebuit să-l păcălesc pe Alexa să recunoască un comutator pentru a invoca funcția (oprit și activat, efectuează aceeași acțiune). Ok, să începem.

Conectați-vă (sau creați un cont) la portalul IDE SmartThings la https://ide.smartthings.com utilizând fie contul dvs. Samsung, fie contul SmartThings.

Confirmați că hub-ul dvs. SmartThings apare în „Locațiile mele” și „Huburile mele”. Dacă nu apare, depanați acest lucru înainte de a continua.

Mai întâi vom crea butonul Handler

Faceți clic pe „Dispozitivele mele de gestionare” din bara de navigare de sus.

Faceți clic pe butonul albastru „Create New Device Handler”

Selectați fila „Din cod” și lipiți codul din fișierul atașat button_handler.groovy. Apoi faceți clic pe Creați.

Faceți clic pe „Salvați” și „Publicați” „Pentru mine”. Ar trebui să apară o notificare verde care să spună „Tip de dispozitiv publicat cu succes”.

Acum, treceți la telefon și deschideți aplicația SmartThings. Ar trebui să vedeți că dispozitivul de gestionare apare ca un dispozitiv nou. Va trebui să configurați handlerul astfel încât să fie postat pe dispozitivul dvs. cu particule. Selectați dispozitivul nou creat și deschideți Setările (arată ca o pictogramă roată).

Introduceți numele dispozitivului - Denumiți dispozitivul indiferent de alegerea dvs., sunt sigur că pisica dvs. nu este numită și Bella.

Introduceți jetonul de acces - Jetonul de acces va fi găsit în consola Particle Build https://build.particle.io/ sub Setări (pictograma roată din stânga jos). Jetonul de acces va fi un șir de 40 de caractere.

Introduceți ID-ul dispozitivului - ID-ul dispozitivului se găsește pe pagina Particle Console ca un șir de 24 de caractere și este, de asemenea, văzut în toate adresele URL ale particulelor atunci când sunteți conectat la contul dvs. care lucrează pe dispozitivul dvs. cu particule. ID-ul dispozitivului văzut BOLD în adresa URL:

Faceți clic pe Salvare.

Faceți clic pe butonul Feed!

Dând clic pe butonul de alimentare, ar trebui să auziți melodia și să faceți ca servo-ul să se întoarcă. De asemenea, ar trebui să vedeți evenimente publicate în jurnalul de evenimente al consolei de particule.

Apoi, vom crea Device Handler pentru Alexa

Urmați aceeași procedură ca mai sus. Accesați portalul IDE SmartThings și faceți clic pe „Dispozitivele mele de gestionare” din bara de navigare de sus. Faceți clic pe butonul albastru „Creați un dispozitiv de gestionare nou”

Selectați fila „Din cod” și lipiți codul din fișierul atașat alexa_handler.groovy. Apoi faceți clic pe Creați.

Faceți clic pe „Salvați” și „Publicați” „Pentru mine”. Ar trebui să apară o notificare verde care să spună „Tip de dispozitiv publicat cu succes”.

Acum, săriți înapoi la telefon și deschideți aplicația SmartThings. Ar trebui să vedeți că dispozitivul de manipulare apare ca un dispozitiv nou, dar de această dată fără niciun buton. Va trebui să configurați gestionarul cu jetonul de acces și ID-ul dispozitivului, așa cum ați făcut anterior.

Selectați dispozitivul nou creat în SmartThings și deschideți Setările (arată ca o pictogramă roată).

Introduceți numele dispozitivului - Denumiți dispozitivul indiferent de ce ați ales, l-am numit „Cat Feeder Handler for Alexa”, astfel încât soția mea să știe că nu este butonul Cat Feeder.

Introduceți jetonul de acces și introduceți ID-ul dispozitivului, apoi faceți clic pe Salvare.

Acum, deschideți aplicația Alexa pe telefon. Dacă nu ați făcut-o deja, activați SmartThings Alexa Skill și conectați-vă contul SmartThings la aplicația Alexa. Apoi accesați ecranul Smart Home și faceți clic pe „Adăugați dispozitiv”. Acest lucru se poate face și spunând „Alexa, descoperă dispozitive”. Un dispozitiv ar trebui să apară cu o pictogramă de comutare, acesta va fi numit oricum l-ați numit handler în SmartThings. Puteți schimba numele acesteia în aplicația Alexa, dacă doriți, dar nu uitați că acesta este un tip de comutator, astfel încât va fi necesar să spuneți „Alexa, activați” sau „Alexa, opriți”. Știu că nu este frumos să spui „Porniți alimentatorul pentru pisici”, așa că o alternativă este să creați o nouă rutină în aplicația Alexa și să o apelați exact cu expresia pe care o doriți. Am făcut o rutină numită „Feed Bella” care pornește comutatorul de alimentare pentru pisici.

Făcând clic pe comutatorul din aplicația Alexa, acum ar trebui să apelați cu succes funcția de alimentare. Jurnalul de evenimente Particle Console ar trebui să posteze și evenimentele care indică acest lucru.

Odată ce ați numit totul așa cum doriți, continuați și încercați!

Pasul 7: Puneți totul împreună

Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună

Ultima piesă pe care nu am acoperit-o este cum să programez fluxurile și să înregistrați evenimentele publicate într-o foaie Google. Probabil că vă gândiți că aplicația Alexa poate fi utilizată pentru a face o rutină pentru program, dar acest lucru nu ne-ar permite să înregistrăm programul vs comanda vocală sau butonul. Deci, în schimb, există deja un applet IFTTT pentru particule pe care îl vom folosi.

Să creăm applet-ul IFTTT pentru programarea fluxurilor

Accesați https://ifttt.com sau descărcați aplicația pentru smartphone IFTTT și conectați-vă (creați un cont dacă este necesar)

Dacă sunteți nou în IFTTT, este foarte simplu. Fiecare applet constă dintr-un IF (o condiție sau un declanșator) și un THAT (o acțiune de făcut).

Așadar, odată conectat la IFTTT, creați un nou applet, selectați IF și căutați sau selectați „Data și ora”. Configurați acest lucru în funcție de orarul pe care îl preferați. Apoi continuați pașii și odată ce ajungeți la THAT, veți căuta „Particulă” și selectați „Apelați o funcție”. Completați câmpurile ca în captura de ecran de mai sus, asigurați-vă că utilizați „sfeed” ca intrare deoarece aceasta este comanda necesară pentru a publica un eveniment „Alimentat după program”. Este posibil să fie necesar să vă conectați sau să vă conectați la contul dvs. de particule în timp ce configurați acest applet. Salvați applet-ul și ar trebui să fiți bine să mergeți. Dacă doriți să testați, schimbați data și ora pentru a se apropia în viitor și vedeți dacă se declanșează corect.

Acum, pentru a crea applet-urile IFTTT pentru gestionarea celor 3 tipuri de evenimente

Există 3 comenzi pe care trebuie să le luăm în considerare atunci când alimentatorul pentru pisici rulează. Acestea sunt codate greu în firmware-ul particulei:

Bella hrănită prin programare Bella hrănită prin buton Bella hrănită prin comandă vocală

Dacă animalul dvs. de companie nu este numit „Bella”, probabil că doriți să schimbați acest lucru în firmware și să reluați intermitent. Schimbați textul în linia Particle.publish a codului particulei.

Creați un nou applet IFTTT. (trebuie să faceți acest lucru de 3 ori, pentru fiecare tip de eveniment)

Începând cu IF, căutați Particle și selectați „Eveniment nou publicat”. Numele evenimentului va trebui să fie exact numele evenimentului publicat pe care îl aveți în firmware. De exemplu, „Bella alimentată după program” este numele exact al evenimentului din codul pe care vi l-am furnizat. Verificați captura de ecran în timp ce am completat-o pentru referință. Va trebui să creați încă 2 IFTTT pentru a gestiona și celelalte evenimente. Acest applet va crea o foaie nouă în unitatea Google dacă nu există deja și va înregistra evenimente noi la următorul rând gol.

Recomandat: