Talaan ng mga Nilalaman:

IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets: 7 Mga Hakbang (na may Mga Larawan)
IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets: 7 Mga Hakbang (na may Mga Larawan)

Video: IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets: 7 Mga Hakbang (na may Mga Larawan)

Video: IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets: 7 Mga Hakbang (na may Mga Larawan)
Video: PRACTICAL WORK 3 IOT AUTOMATIC PET FEEDER 2024, Nobyembre
Anonim
Image
Image
IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Gamit ang Particle Photon Isinama Sa Alexa, SmartThings, IFTTT, Google Sheets

Ang pangangailangan para sa isang awtomatikong tagapagpakain ng pusa ay nagpapaliwanag sa sarili. Ang mga Pusa (ang pangalan ng aming pusa ay Bella) ay maaaring maging kasuklam-suklam kapag nagugutom at kung ang iyong pusa ay tulad ng sa akin ay kakainin ang mangkok sa tuwing. Kailangan ko ng isang paraan upang maipamahagi ang isang kontroladong halaga ng pagkain awtomatiko sa pamamagitan ng 3 pamamaraan - 1. Alexa boses utos, 2. sa pamamagitan ng isang iskedyul, at 3. sa pamamagitan ng isang pindutan sa SmartThings. Nais ko rin ng isang paraan upang subaybayan kung paano at kailan nagpapakain ang pusa kaya hindi kami nagpapakain nang dalawang beses (minsan kapag pinakain ng asawa ang pusa at saka ko pinapakain muli ang pusa pagkalipas ng 15 minuto).

Ang proyektong ito ay hindi labis na mahirap, hindi ako nag-develop, o isang inhinyero, ngunit maraming mga mapagkukunan sa online na tumulong sa akin. Pinagsasama-sama ko ang lahat ng ginamit ko at lahat ng mga hakbang na kinakailangan upang makumpleto mo rin ang proyektong ito. Tangkilikin, at maligayang gusali!

Hakbang 1: Kunin ang Lahat ng Iyong Mga Kinakailangan na Materyales - Halos $ 100

Kunin ang Lahat ng Iyong Mga Kinakailangan na Materyales - Halos $ 100
Kunin ang Lahat ng Iyong Mga Kinakailangan na Materyales - Halos $ 100

Narito ang lahat ng binili ko upang gawin itong tagapagpakain ng pusa. Ito ay tungkol sa $ 100 na kung saan ay kaunti pa kaysa sa aking pinlano na $ 75 ngunit nagpunta para sa ilang mga mas mahusay na kalidad na mga bahagi upang matiyak na magtatagal ito. Ang ilan sa mga materyales ay kinailangan ko nang gawin ang kahon tulad ng pandikit na kahoy, mainit na pandikit na baril, 18ga nailer, papel ng buhangin, tagapuno ng kahoy, atbp. Ang mga ito ay nahuhulog sa ilalim ng "mga tool" sa aking palagay at hindi lahat kinakailangan. Pupunta lamang ako sa itaas at lampas minsan sa pagpapaganda ng mga bagay.

Kung lumihis ka mula sa eksaktong mga produktong ito, siguraduhin lamang na ang iyong servo ay mayroong metal gear at tandaan ang bilang ng mga ngipin dahil ang iyong servo arm / sungay ay kailangang magkaroon ng parehong bilang ng mga ngipin. Ang servo at braso na nakalista sa ibaba ay 25T, nangangahulugang 25 ngipin. Gayundin, gumamit ako ng isang plastik na braso sa unang pag-ikot at ang mga ngipin ay hinubaran sa loob ng isang linggo ng paggamit kaya huwag pumunta sa ruta ng plastik, kumuha ng metal.

1. Particle Photon $ 19.99

2. Ang wread ng Breadboard at Jumper ay $ 7.69

3. Servo $ 19.99

4. Metal servo arm / sungay $ 8.98

5. Piezo Buzzer $ 5.05

6. Cereal Dispenser $ 14.95

7. Fiber board mula sa tindahan ng hardware para sa kahon, 2 piraso kung sakaling magulo mo ang $ 20

8. Rustoleum Hammered Spray Paint $ 5.97

8. Misc. mga item tulad ng mga turnilyo, pandikit na kahoy, mga kuko, papel ng buhangin, tagapuno ng kahoy, atbp.

Hakbang 2: I-set up ang Particle Photon

Ang unang hakbang ay ang pagkonekta sa iyong Particle Photon sa internet. Napakadali nito, lalo na sa mga gabay na ibinigay ng Particle. I-download ang Particle app sa iyong telepono, lumikha ng isang particle account, at i-folllow ang gabay sa pagkonekta nito sa iyong wifi. Panoorin ang Video at sundin ang mga tagubiling ito!

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

Hakbang 3: Ikonekta ang Particle sa Servo, Breadboard, at Buzzer

Ikonekta ang Particle sa Servo, Breadboard, at Buzzer
Ikonekta ang Particle sa Servo, Breadboard, at Buzzer
Ikonekta ang Particle sa Servo, Breadboard, at Buzzer
Ikonekta ang Particle sa Servo, Breadboard, at Buzzer

Ok, ngayon kailangan nating i-wire ang maliit na butil sa servo at buzzer gamit ang isang breadboard. Ikabit ang iyong maliit na butil sa breadboard na nag-iiwan ng 2 pin na butas sa bawat panig, hindi mahalaga kung saan nakalagay ang maliit na butil sa labas nito. Inilagay ko ang aking mga wire sa buzzer at pagkatapos ay gumamit ng mainit na pandikit upang ma-secure ito. Ang isang mas simpleng pamamaraan ay ang paggamit ng mga konektor ng terminal o mga konektor ng puwit at i-crimp ang mga ito sa mga pliers. Bahala ka

Ikonekta ang mga wire ng servo:

VIN Red servo wire

A5 Dilaw na servo wire

GND Itim na servo wire

Ikonekta ang mga wire ng buzzer (hindi mahalaga kung alin alin):

D0 Buzzer wire

GND Buzzer wire

Hakbang 4: Flashing Code sa Photon

Flashing Code sa Photon
Flashing Code sa Photon

Ngayon na mayroon ka nang naka-wire, hinahayaan na i-flash ang firmware code sa photon at subukan na ang buzzer ay nagpatugtog ng isang himig at lumiliko ang servo.

Mag-login sa console ng build ng maliit na buto gamit ang iyong account https:// build.particle.io

I-click ang pindutan ng code sa toolbar ng kaliwang bahagi. Kopyahin at i-paste ang ibinigay na firmware code (cat_feeder.c) sa build console, palitan ang anumang umiiral na code doon bilang default.

Isang maliit na paliwanag sa pagpapaandar ng feed. Dahil ang pagpapakain ay maaaring maipatawag ng 3 magkakaibang pamamaraan (pindutan, boses, iskedyul) kailangan namin ng 3 magkakaibang mga utos upang mai-publish ang bawat kaganapan upang malaman namin kung paano pinakain ang pusa. Ang mga utos na ito ay "nagpapasuso" kapag pinakain ng pindutan, "sfeed" kapag pinakain ayon sa iskedyul at "vfeed" kapag pinakain ng utos ng boses.

I-click ang Folder na naghahanap ng pindutan upang mai-save ang iyong code, bigyan ito ng isang pangalan na iyong pinili.

I-click ang pindutan ng pag-verify (mukhang isang marka ng pag-check na may isang bilog sa paligid nito). Pagkatapos ng ilang sandali dapat mong makita ang sa ilalim ng status bar:

Pagbuo ng code… Na-verify ang code. Mahusay na gawain! Handa na

Ngayon, I-click ang Flash button sa kaliwang toolbar (parang isang kidlat). Pagkatapos ng ilang sandali dapat mong makita ang sa ilalim ng status bar:

Flashing code… Matagumpay ang Flash! Ina-update ang iyong aparato. Handa na

Susunod, mag-login sa particle console

Mag-click sa iyong Particle Photon. Ito ay isang pahina ng katayuan para sa iyong aparato, maaari mong makita sa Mga Log ng Kaganapan kapag may mga aksyon na ginawa, tulad ng flashing code o kapag nai-publish ang mga kaganapan mula sa pagtawag sa mga command sa feed. Upang simulan ang isang utos ng feed gagamitin mo ang Function tile sa kanang bahagi ng console na ito. Dahil ang pagpapaandar ay tinatawag na "feed" sa code, dapat mo itong makita at isang kahon ng pag-input ng argument.

I-type ang "bfeed" sa kahon ng pag-input ng argument at i-click ang Tumawag.

Dapat nitong patugtugin ang himig at pagkatapos ay i-on ang servo. Kung nais mo, para sa mga layunin sa pagsubok, baguhin ang oras ng pagkaantala sa code mula sa 330 MS hanggang sa mas matagal tulad ng 5000 kung nais mong i-verify ang paglipat ng servo. Kailangan mong i-click ang Flash button sa tuwing gumawa ka ng anumang mga pagbabago sa code. Marahil ay kakailanganin mong ayusin ang pagkaantala sa paglaon upang makuha ang ninanais na dami ng pagliko (tulad ng pagpapakain ng aso, baka gusto mong magtapon ng mas maraming pagkain).

Hakbang 5: Gumawa ng Kahon sa Bahay Lahat

Gumawa ng isang Kahon sa Bahay Lahat
Gumawa ng isang Kahon sa Bahay Lahat
Gumawa ng isang Kahon sa Bahay Lahat
Gumawa ng isang Kahon sa Bahay Lahat
Gumawa ng isang Kahon sa Bahay Lahat
Gumawa ng isang Kahon sa Bahay Lahat

Ang hakbang na ito ay binubuo ng iyong mahusay na kasanayan sa karpintero ng fashion. Bumili ako ng 2 -2x4ft fiber boards upang gawin ang kahon dahil ang malakas nito, makinis sa pagpindot, medyo mura, at madaling i-cut / magtrabaho. Maaari kang pumili ng anumang materyal. Ang hakbang na ito ay talagang nasa iyong paghuhusga kung paano ito binuo dahil lahat ay may magkakaibang pangangailangan. Wala akong detalyadong hakbang-hakbang para sa paggawa ng kahon ngunit maaari kong ibahagi ang proseso ng pag-iisip at mga pamamaraang ginamit ko.

Mayroong isang bilang ng mga kadahilanan na isinasaalang-alang ko para sa pagdidisenyo ng kahon. Nais ko ang bagay na ito bilang compact hangga't maaari. Nais kong madali itong magamit para sa paglilinis at / o pag-aayos kung ito man ay hindi gumana. Panghuli, nais kong malantad ang tubo ng dispenser kaya kitang-kita ko kapag mababa ang pagkain. Sa pag-iisip na ito ginawa ko muna ang kahon at pagkatapos ay sinukat ang mga sukat sa loob upang makagawa ng isang parisukat na frame na nakakabit ang yunit ng dispenser, servo, at board. Sa ganitong paraan ang buong yunit ay maaaring iangat mula sa kahon para sa paglilingkod. Tingnan ang mga larawan.

Hakbang 6: Mga Handler ng Device ng SmartThings

Mga Handler ng Device ng SmartThings
Mga Handler ng Device ng SmartThings
Mga Handler ng Device ng SmartThings
Mga Handler ng Device ng SmartThings
Mga Handler ng Device ng SmartThings
Mga Handler ng Device ng SmartThings

Ipinapaliwanag ng hakbang na ito kung paano ipatupad ang pagtawag sa pagpapaandar ng feed gamit ang SmartThings at Alexa. Upang magawa ito kailangan kong magsulat ng 2 mga handler ng aparato ng groovy. Ang isa sa mga handler ay para sa "bfeed" kapag pinindot ko ang pindutan sa SmartThings at ang iba pang handler ay para sa "vfeed" kapag hiniling ko kay Alexa na pakainin si Bella sa pamamagitan ng voice command. Ang isa pang dahilan upang magkaroon ng 2 magkakaibang mga handler ay kinikilala lamang ng Alexa ang mga aparato na switch, hindi mga pindutan. Kaya kinailangan kong linlangin si Alexa sa pagkilala ng isang switch upang maipatawag ang pagpapaandar (naka-off at nagsasagawa ng parehong pagkilos). Ok, magsimula na tayo.

Mag-login (o lumikha ng isang account) sa portal ng IDE SmartThings sa https://ide.smartthings.com gamit ang alinman sa iyong Samsung Account o SmartThings account.

Kumpirmahin ang iyong SmartThings hub na lalabas sa ilalim ng "Aking Mga Lokasyon" at "Aking Mga Hubs". Kung hindi ito ipakita, i-troubleshoot ito bago magpatuloy.

Lilikha muna kami ng Butler Handler

Mag-click sa "Aking Mga Handler ng Device" sa tuktok na bar ng nabigasyon.

Mag-click sa asul na pindutan na "Lumikha ng Bagong Handler ng Device"

Piliin ang tab na "Mula sa Code" at i-paste ang code mula sa naka-attach na button_handler.groovy. Pagkatapos Mag-click Lumikha.

I-click ang "I-save" at "I-publish" "Para sa akin". Dapat mong makita ang isang berdeng abiso na lilitaw na nagsasabing, "Ang uri ng aparato ay matagumpay na na-publish."

Ngayon, tumalon sa iyong telepono at buksan ang SmartThings app. Dapat mong makita ang handler na lilitaw bilang isang bagong aparato. Kakailanganin mong i-configure ang handler upang mag-post ito sa iyong maliit na aparato. Piliin ang bagong nilikha na aparato at buksan ang Mga Setting (mukhang isang gear icon).

Ipasok ang Pangalan ng Device - Pangalanan ang aparato kahit anong pipiliin mo, sigurado akong ang iyong pusa ay hindi rin pinangalanan Bella.

Ipasok ang Access Token - Ang token sa pag-access ay matatagpuan sa Particle Build console https:// build.particle.io/ sa ilalim ng Mga Setting (gear icon sa kaliwang ibabang kaliwa). Ang Access Token ay magiging isang 40 character string.

Ipasok ang Device ID - Ang aparato ID ay matatagpuan sa pahina ng Particle Console bilang isang 24 character string at nakikita rin sa lahat ng mga particle URL's kapag naka-log in ka sa iyong account na gumagana sa iyong particle device. Nakita ang ID ng aparato na BOLD sa URL:

I-click ang I-save.

I-click ang pindutan ng Feed!

Sa pamamagitan ng pag-click sa pindutan ng feed dapat mong marinig ang himig at ibaling ang servo. Dapat mo ring nakikita ang mga kaganapan na nai-publish sa tala ng kaganapan ng maliit na butil console.

Susunod, lilikha kami ng Handler ng Device para sa Alexa

Sundin ang parehong pamamaraan tulad ng nasa itaas. Pumunta sa portal ng IDE SmartThings at Mag-click sa "Aking Mga Handler ng Device" sa tuktok na bar ng nabigasyon. Mag-click sa asul na pindutan na "Lumikha ng Bagong Handler ng Device"

Piliin ang tab na "Mula sa Code" at i-paste ang code mula sa naka-attach na file_each_handler.groovy. Pagkatapos Mag-click Lumikha.

I-click ang "I-save" at "I-publish" "Para sa akin". Dapat mong makita ang isang berdeng abiso na lilitaw na nagsasabing, "Ang uri ng aparato ay matagumpay na na-publish."

Ngayon, tumalon pabalik sa iyong telepono at buksan ang SmartThings app. Dapat mong makita ang handler na lilitaw bilang isang bagong aparato ngunit sa oras na ito nang walang anumang pindutan. Kakailanganin mong i-configure ang handler sa iyong Access Token at Device ID tulad ng dati.

Piliin ang bagong nilikha na aparato sa SmartThings at buksan ang Mga Setting (mukhang isang icon na gear).

Ipasok ang Pangalan ng Device - Pangalanan ang aparato kahit anong pipiliin mo, tinawag ko itong "Cat Feeder Handler para sa Alexa" kaya alam ng asawa ko na hindi ito ang Cat Feeder button.

Ipasok ang Access Token at Ipasok ang Device ID, pagkatapos ay i-click ang I-save.

Ngayon, buksan ang iyong Alexa App sa iyong telepono. Kung hindi mo pa nagagawa ito dati, paganahin ang SmartThings Alexa Skill at i-link ang iyong SmartThings account sa Alexa App. Pagkatapos ay pumunta sa Smart Home screen at i-click ang "Magdagdag ng Device". Maaari rin itong magawa sa pagsasabing "Alexa, tuklasin ang mga aparato". Ang isang aparato ay dapat na magpakita sa isang icon ng switch, ito ay mapangalanan kung ano man ang pinangalanan mong handler sa SmartThings. Maaari mong baguhin ang pangalan nito sa Alexa app kung nais mo ngunit tandaan na ito ay isang uri ng switch kaya mangangailangan ito ng pagsabing "Alexa, i-on" o "Alexa, i-off". Alam kong hindi magandang sabihin ang "Buksan ang feeder ng pusa" kaya't ang isang kahalili ay upang lumikha ng isang bagong gawain sa Alexa app at tawagan ito sa pariralang nais mong eksakto. Gumawa ako ng isang gawain na tinatawag na "Feed Bella" na binubuksan ang switch ng feeder ng pusa.

Sa pamamagitan ng pag-click sa switch sa Alexa app, dapat mo na ngayong matagumpay na tumawag sa feed function. Ang log ng kaganapan ng Particle Console ay dapat ding mag-post ng mga kaganapan na nagpapahiwatig nito.

Kapag mayroon kang lahat na pinangalanan sa paraang nais mong magpatuloy at subukan ito!

Hakbang 7: Pagsasama-sama sa Lahat ng Ito

Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito

Ang huling piraso na hindi ko natakpan ay kung paano iiskedyul ang mga feed at itala ang na-publish na mga kaganapan sa isang Google Sheet. Marahil ay iniisip mo na ang Alexa App ay maaaring magamit upang gumawa ng isang gawain para sa iskedyul ngunit hindi ito papayagan sa amin na mag-log iskedyul kumpara sa utos ng boses o pindutan. Kaya sa halip, mayroong isang IFTTT applet para sa maliit na butil na gagamitin namin.

Lumikha tayo ng IFTTT applet para sa pag-iiskedyul ng mga feed

Pumunta sa https://ifttt.com o i-download ang IFTTT smartphone app at mag-login (lumikha ng isang account kung kinakailangan)

Kung bago ka sa IFTTT tuwid na tuwid. Ang bawat applet ay binubuo ng isang KUNG (isang kundisyon o gatilyo) at isang IYON (ilang aksyon na gagawin).

Kaya't sa sandaling naka-log in sa IFTTT, lumikha ng isang bagong applet, piliin ang KUNG at hanapin o piliin ang "Petsa at Oras". I-configure mo ito sa anumang iskedyul na gusto mo. Pagkatapos ay magpatuloy sa pamamagitan ng mga hakbang at sa sandaling makarating ka sa NA hahanapin mo ang "Particle" at piliin ang "Tumawag sa isang Pag-andar". Punan ang mga patlang tulad ng sa screenshot sa itaas, tiyaking gumamit ng "sfeed" bilang input dahil ito ang kinakailangang utos upang mai-publish ang isang kaganapan na "Fed by schedule". Maaaring kailanganin mong kumonekta o mag-login sa iyong particle account habang ina-set up ang applet na ito. I-save ang applet at dapat kang maging mahusay na pumunta. Kung nais mong subukan, baguhin lamang ang petsa at oras upang malapit sa hinaharap at alamin kung maayos itong nagti-trigger.

Ngayon upang likhain ang mga applet na IFTTT para sa paghawak ng 3 uri ng kaganapan

Mayroong 3 utos na kailangan nating account para sa kung tumatakbo ang cat feeder. Ang mga ito ay mahirap na naka-code sa maliit na butil firmware:

Pinakain ni Bella ayon sa iskedyul Pinakain ni Bella ng pindutan si Bella na pinakain ng utos ng boses

Kung ang iyong alaga ay hindi pinangalanang "Bella" marahil ay nais mong baguhin ito sa firmware, at muling flash. Baguhin ang teksto sa linya ng Particle. I-publish ang maliit na code.

Lumikha ng isang bagong IFTTT applet. (kailangang gawin ito ng 3 beses, para sa bawat uri ng kaganapan)

Simula sa KUNG, maghanap para sa Particle at piliin ang "Bagong kaganapan na na-publish". Ang Pangalan ng Kaganapan ay kailangang maging eksaktong Na-publish na Pangalan ng Kaganapan na mayroon ka sa iyong firmware. Halimbawa "Bella fed by schedule" ay ang eksaktong pangalan ng kaganapan sa code na ibinigay ko sa iyo. Suriin ang screenshot habang pinunan ko ito para sa sanggunian. Kakailanganin mong lumikha ng 2 pang IFTTT upang hawakan din ang iba pang mga kaganapan. Ang applet na ito ay lilikha ng isang bagong sheet sa iyong google drive kung wala pa ito at mag-log ng mga bagong kaganapan sa susunod na walang laman na hilera.

Inirerekumendang: