Mündəricat:
- Addım 1: Ehtiyacınız olan bütün materialları alın - təxminən 100 dollar
- Addım 2: Particle Photon qurun
- Addım 3: Partikülü Servo, Breadboard və Buzzerə qoşun
- Addım 4: Kodun Photon -a yanması
- Addım 5: Hər şeyi Evə Bir Qutu Edin
- Addım 6: SmartThings Cihaz İşləyiciləri
- Addım 7: Hamısını bir yerə yığın
Video: Alexa, SmartThings, IFTTT, Google Sheets ilə inteqrasiya olunmuş hissəcik fotonundan istifadə edərək IoT pişik yemi: 7 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Avtomatik pişik bəsləyiciyə olan ehtiyac öz -özünə aydındır. Pişiklər (pişiyimizin adı Bella) ac olanda iyrənc ola bilər və əgər sənin pişiyin mənimki kimidirsə qabı hər dəfə quru yeyəcək. Nəzarət olunan miqdarda qidanı avtomatik olaraq 3 üsulla paylamaq üçün bir yol lazım idi - 1. Alexa səs əmri, 2. Cədvəl və 3. SmartThingsdəki bir düymə ilə. Pişiyin necə və nə vaxt qidalandığını izləmək üçün bir yol istədim ki, iki dəfə yeməyək (bəzən həyat yoldaşım pişiyi yedizdirəndə, 15 dəqiqədən sonra pişiyi yenidən bəslədiyim zaman).
Bu layihə çox çətin deyil, mən nə geliştirici, nə də mühəndisəm, amma mənə kömək edən bir çox onlayn resurs var idi. İstifadə etdiyim hər şeyi və bu layihəni tamamlamağınız üçün lazım olan bütün addımları toplayıram. Zövq alın və xoşbəxt bir bina!
Addım 1: Ehtiyacınız olan bütün materialları alın - təxminən 100 dollar
Bu pişik yemi etmək üçün aldığım hər şey budur. Təxminən 100 dollar idi ki, bu da mənim planladığım 75 dollardan bir qədər çox idi, amma davam etməsini təmin etmək üçün daha keyfiyyətli hissələr axtardım. Bəzi materialları artıq taxta yapışqan, isti yapışqan tabancası, 18ga mismar, qum kağızı, ağac doldurucu və s. Bəzən hər şeyi gözəl etmək üçün yuxarıdan yuxarıya gedirəm.
Məhz bu məhsullardan uzaqlaşırsınızsa, servonun metal dişli olduğundan əmin olun və dişlərin sayını qeyd edin, çünki servo qolunuzun/buynuzunuzun eyni sayda dişə sahib olması lazımdır. Aşağıda sadalanan servo və qol 25T, yəni 25 dişdir. Ayrıca, ilk gəzintidə plastik bir qol istifadə etdim və istifadə edildikdən bir həftə sonra dişlər soyuldu, belə ki plastik yola getməyin, metal alın.
1. Photon hissəcikləri $ 19.99
2. Breadboard və Jumper telləri $ 7.69
3. Servo $ 19.99
4. Metal servo qol/buynuz 8.98 dollar
5. Piezo Buzzer $ 5.05
6. Taxıl Dağıtıcı $ 14.95
7. Qutusu üçün hardware mağazasından lifli lövhə, 20 dollar xərclədiyiniz halda 2 ədəd
8. Rustoleum Hammered Spray Paint $ 5.97
8. Müxtəlif. vintlər, taxta yapışqan, dırnaqlar, qum kağızı, ağac doldurucu və s.
Addım 2: Particle Photon qurun
İlk addım, Particle Photon -u internetə bağlamaqdır. Xüsusilə Particle tərəfindən verilən təlimatlarla bu çox asandır. Particle tətbiqini telefonunuza yükləyin, bir hissəcik hesabı yaradın və Wi -Fi -ya qoşulmaq üçün təlimatı izləyin. Videoya baxın və bu təlimatları izləyin!
docs.particle.io/guide/getting-started/start/photon/
Addım 3: Partikülü Servo, Breadboard və Buzzerə qoşun
Yaxşı, indi bir çörək taxtasından istifadə edərək hissəcikləri servoya və səs siqnalına bağlamalıyıq. Partikülünüzü hər tərəfdən 2 pinli deşiklər qoyaraq çörək taxtasına yapışdırın, hissəciyin bunun xaricində harada yerləşdirilməsinin əhəmiyyəti yoxdur. Tellərimi səs siqnalına lehimlədim və sonra möhkəm yapışdırmaq üçün isti yapışqan istifadə etdim. Daha sadə bir üsul, terminal bağlayıcılarından və ya bağlayıcılardan istifadə etmək və kəlbətinlə sıxmaqdır. Sənə bağlıdır.
Servo telləri bağlayın:
VIN Qırmızı servo tel
A5 Sarı servo tel
GND Qara servo tel
Zəng tellərini bağlayın (hansının fərq etməz):
D0 Zəng teli
GND Buzzer teli
Addım 4: Kodun Photon -a yanması
İndi tel bağladığınızda, firmware kodunu fotona yandırın və zilin bir melodiya çaldığını və servonun döndüyünü sınayın.
Https://build.particle.io hesabınızı istifadə edərək hissəcik qurma konsoluna daxil olun
Sol tərəfdəki alətlər çubuğundakı kod düyməsini basın. Verilən firmware kodunu (cat_feeder.c) kopyalayın və qurma konsoluna yapışdırın, orada mövcud olan hər hansı bir kodu standart olaraq əvəz edin.
Qidalanma funksiyası haqqında bir az açıqlama. Qidalanma 3 fərqli üsulla (düymə, səs, cədvəl) çağırıla biləcəyi üçün hər bir hadisəni dərc etmək üçün 3 fərqli əmrə ehtiyacımız var, buna görə də pişiyin necə bəsləndiyini bilirik. Bu əmrlər düyməyə basıldıqda "bfeed", cədvələ görə qidalananda "sfeed" və səsli əmrlə qidalananda "vfeed" dir.
Kodunuzu saxlamaq üçün seçdiyiniz bir ad vermək üçün Qovluq axtar düyməsini basın.
Doğrulama düyməsini vurun (ətrafında bir dairə olan bir onay işareti kimi görünür). Bir neçə dəqiqədən sonra alt vəziyyət çubuğunda görməli olacaqsınız:
Kod tərtib edilir … Kod doğrulandı. Əla iş! Hazırdır.
İndi, sol alət çubuğundakı Flash düyməsini vurun (bir şimşək kimi görünür). Bir neçə dəqiqədən sonra alt vəziyyət çubuğunda görməli olacaqsınız:
Yanıp sönən kod… Flaş uğurlu oldu! Cihazınız yenilənir. Hazırdır.
Sonra, hissəcik konsoluna daxil olun
Partikül Fotonunuza vurun. Bu cihazınız üçün bir status səhifəsidir, yanıb -sönən kod kimi hərəkətlər edildikdə və ya yem əmrlərini işə salmaqla hadisələr yayımlandıqda Hadisə Günlüklərində görə bilərsiniz. Bir feed əmrini başlamaq üçün bu konsolun sağ tərəfindəki Funksiya plitəsindən istifadə edəcəksiniz. Funksiya kodda "feed" adlandığı üçün onu və arqument giriş qutusunu görməlisiniz.
Arqument giriş qutusuna "bfeed" yazın və Zəng vurun.
Bu melodiyanı çalmalı və sonra servonu çevirməlidir. İstəyirsinizsə, test məqsədləri üçün, servonun dönməsini yoxlamaq istəyirsinizsə, kodun gecikmə müddətini 330 MS -dən 5000 -ə qədər dəyişdirin. Kodda hər dəfə dəyişiklik edərkən Flash düyməsini basmalısınız. İstədiyiniz növbəni əldə etmək üçün gecikməni daha sonra tənzimləməlisiniz (məsələn, bir iti bəsləmək, daha çox yemək vermək istəyə bilərsiniz).
Addım 5: Hər şeyi Evə Bir Qutu Edin
Bu addım yaxşı dülgərlik bacarıqlarınızdan ibarətdir. Qutunu düzəltmək üçün 2 -2x4ft lif lövhələr aldım, çünki möhkəm, toxunuşa hamar, nisbətən ucuz və kəsmək/işləmək asandır. İstənilən materialı seçə bilərsiniz. Hər kəsin fərqli ehtiyacları olduğu üçün bu addım həqiqətən necə qurulacağına bağlıdır. Qutu hazırlamaq üçün addım -addım ətraflı bir məlumatım olmayacaq, amma düşündüyüm prosesi və istifadə etdiyim üsulları paylaşa bilərəm.
Qutunun dizaynında nəzərə aldığım bir sıra amillər var idi. Bu şeyi mümkün qədər yığcam etmək istədim. Təmizləmə və/və ya arızalanması halında düzəltmək üçün asanlıqla xidmət göstərilməsini istədim. Nəhayət, dispenser borusunun açılmasını istədim ki, yeməyin azaldığını gözlə görsün. Bunu nəzərə alaraq əvvəlcə qutunu düzəltdim və sonra dispenser qurğusunun, servonun və lövhənin bərkidildiyi bir kvadrat çərçivə düzəltmək üçün daxili ölçüləri ölçdüm. Bu şəkildə bütün qurğu xidmət üçün qutudan dərhal qaldırıla bilər. Şəkillərə baxın.
Addım 6: SmartThings Cihaz İşləyiciləri
Bu addım, SmartThings və Alexa istifadə edərək yem funksiyasını çağırmağın necə həyata keçiriləcəyini izah edir. Bunu etmək üçün 2 ədəd qarmaqarışıq cihaz işləyicisi yazmalı oldum. İştirakçılardan biri SmartThings -də düyməni basdığımda "bfeed", digəri isə Alexa'dan Bellanı səsli əmrlə bəsləməsini istədiyim zaman "vfeed" üçündür. 2 fərqli idarəçiyə sahib olmağın başqa bir səbəbi, Alexa -nın düymələri deyil, yalnız açarları olan cihazları tanımasıdır. Beləliklə, funksiyanı işə salmaq üçün Alexanı aldatmaq məcburiyyətində qaldım (eyni hərəkəti yerinə yetirmək üçün). Tamam, başlayaq.
Samsung Hesabınızdan və ya SmartThings hesabınızdan istifadə edərək https://ide.smartthings.com saytında IDE SmartThings portalına daxil olun (və ya hesab yaradın).
SmartThings mərkəzinizin "Yerlərim" və "Hublarım" altında göründüyünü təsdiq edin. Göstərmirsə, davam etməzdən əvvəl bu problemi həll edin.
Əvvəlcə Button Handler yaradacağıq
Üst naviqasiya çubuğundakı "Cihaz İşləyicilərimə" vurun.
Mavi düyməni basın "Yeni Cihaz İşləyicisi Yarat"
"Koddan" sekmesini seçin və düyməni əlavə edilmiş button_handler.groovy faylından yapışdırın. Sonra Yarat düyməsini basın.
"Saxla" və "Yayımla" "Mənim üçün" düyməsini basın. "Cihaz növü uğurla nəşr edildi" yazan yaşıl bir bildiriş görünməlidir.
İndi telefonunuza keçin və SmartThings tətbiqini açın. İşleyicinin yeni bir cihaz kimi göründüyünü görməlisiniz. İşleyicinizi konfiqurasiya etməlisiniz ki, hissəcik cihazınıza göndərsin. Yeni yaradılan cihazı seçin və Ayarları açın (dişli simvolu kimi görünür).
Cihazın adını daxil edin - Seçdiyiniz cihaza ad verin, əminəm ki, pişiyinizin adı da Bella deyil.
Giriş Tokenini daxil edin - Giriş nişanı Parçacıq Qurma konsolunda https://build.particle.io/ Ayarlar altında (dişli işarəsi solda) tapılacaq. Access Token 40 simvoldan ibarət olacaq.
Cihaz ID'sini daxil edin - Cihaz ID -si Particle Console səhifəsində 24 xarakterli bir simli olaraq tapılır və hissəcik cihazınızda işləyərkən hesabınıza daxil olduğunuzda bütün hissəcik URL -lərində də görünür. Cihaz ID -si URL -də BOLD görünür:
Saxla düyməsini basın.
Feed düyməsini basın!
Feed düyməsini basaraq melodiyanı eşitməlisiniz və servonun dönməsini təmin etməlisiniz. Parçacıq konsolu hadisə jurnalında dərc edilmiş hadisələri də görməlisiniz.
Sonra, Alexa üçün Cihaz İşləyicisi yaradacağıq
Yuxarıdakı kimi eyni proseduru edin. IDE SmartThings portalına gedin və üst naviqasiya çubuğundakı "Cihaz İşləyicilərim" düyməsini basın. "Yeni Cihaz İşləyicisi Yarat" mavi düyməsini basın.
"Koddan" sekmesini seçin və kodu alexa_handler.groovy faylına əlavə edin. Sonra Yarat düyməsini basın.
"Saxla" və "Yayımla" "Mənim üçün" düyməsini basın. "Cihaz növü uğurla nəşr edildi" yazan yaşıl bir bildiriş görünməlidir.
İndi telefonunuza qayıdın və SmartThings tətbiqini açın. İşleyicinin yeni bir cihaz kimi göründüyünü görməlisiniz, ancaq bu dəfə heç bir düymə olmadan. İşləyicini əvvəllər etdiyiniz kimi Access Token və Cihaz ID ilə konfiqurasiya etməlisiniz.
SmartThings -də yeni yaradılan cihazı seçin və Parametrləri açın (dişli işarəsinə bənzəyir).
Cihazın adını daxil edin - Seçdiyiniz cihazı adlandırın, buna "Alexa üçün Cat Feeder Handler" adını verdim, buna görə həyat yoldaşım Cat Feeder düyməsini bilmir.
Giriş Tokenini daxil edin və Cihaz ID'sini daxil edin, sonra Saxla düyməsini basın.
İndi telefonunuzda Alexa Tətbiqinizi açın. Daha əvvəl bunu etməmisinizsə, SmartThings Alexa Bacarığını aktiv edin və SmartThings hesabınızı Alexa Tətbiqinə bağlayın. Sonra Ağıllı Ev ekranına gedin və "Cihaz əlavə et" düyməsini basın. Bunu "Alexa, cihazları kəşf et" deyərək də etmək olar. Bir cihaz bir keçid işarəsi ilə görünməlidir, SmartThings -də işləyiciyə nə ad verdiyiniz adlandırılacaq. İstəyirsinizsə, adını Alexa tətbiqində dəyişə bilərsiniz, ancaq bunun bir keçid növü olduğunu unutmayın, buna görə "Alexa, yandır" və ya "Alexa, söndür" deməyi tələb edəcək. Bilirəm ki, "Pişik yemini yandır" demək yaxşı deyil, buna görə də alternativ olaraq Alexa tətbiqində yeni bir rutin yaratmaq və tam olaraq istədiyiniz ifadə ilə zəng etməkdir. Pişik yemi açarını işə salan "Feed Bella" adlı bir rutin hazırladım.
Alexa tətbiqindəki açarı tıklayaraq, indi feed funksiyasını uğurla çağırmalısınız. Particle Console hadisə jurnalı da bunu göstərən hadisələri yazmalıdır.
Hər şeyi istədiyiniz kimi adlandırdıqdan sonra davam edin və sınayın!
Addım 7: Hamısını bir yerə yığın
Qaldırmadığım son parça, yemləri necə cədvəlləşdirmək və yayımlanan hadisələri Google Cədvəlinə yazmaqdır. Çox güman ki, Alexa Tətbiqinin cədvəl üçün bir rutin hazırlamaq üçün istifadə edilə biləcəyini düşünürsən, ancaq bu, səs əmrinə və ya düyməyə qarşı cədvələ daxil olmağımıza imkan vermir. Bunun əvəzinə, istifadə edəcəyimiz hissəciklər üçün bir IFTTT appleti var.
Feedləri planlaşdırmaq üçün IFTTT appleti yaradaq
Https://ifttt.com saytına daxil olun və ya IFTTT smartfon tətbiqini yükləyin və daxil olun (lazım olduqda hesab yaradın)
IFTTT -də yenisinizsə, çox irəli gedir. Hər applet bir IF (şərt və ya tetikleyici) və THAT (bəzi hərəkətlər) dən ibarətdir.
IFTTT -yə daxil olduqdan sonra yeni bir tətbiq yaradın, IF seçin və "Tarix və Saat" ı axtarın və ya seçin. Bunu istədiyiniz cədvələ uyğun olaraq konfiqurasiya edirsiniz. Sonra addımları davam etdirin və THAT -a çatdıqdan sonra "Parçacıq" ı axtarıb "Fonksiyanı Çağır" seçin. Sahələri yuxarıdakı ekran görüntüsündə olduğu kimi doldurun, "cədvələ görə Fed" hadisəsini dərc etmək üçün lazım olan əmr olduğu üçün giriş olaraq "sfeed" istifadə etdiyinizə əmin olun. Bu appleti qurarkən hissəcik hesabınıza qoşulmalı və ya daxil olmalısınız. Appleti saxla və yaxşı get. Test etmək istəyirsinizsə, gələcəkdə tarixi və saatı yaxın olaraq dəyişdirin və düzgün işə düşdüyünü yoxlayın.
İndi 3 hadisə növünü idarə etmək üçün IFTTT tətbiqetmələri yaratmaq
Pişik yemi işləyərkən hesablamalı olduğumuz 3 əmr var. Bunlar hissəcik firmware proqramında sərt kodlaşdırılmışdır:
Bella proqramla qidalanır
Ev heyvanınıza "Bella" adı verilmirsə, ehtimal ki, bunu firmware-də dəyişdirmək və yenidən flaş etmək istəyirsiniz. Particle.publish hissəcik kodunun mətnini dəyişdirin.
Yeni bir IFTTT appleti yaradın. (hər hadisə növü üçün bunu 3 dəfə etmək lazımdır)
IF -dən başlayaraq Parçacığı axtarın və "Yeni hadisə yayımlandı" seçin. Tədbir Adı, proqram təminatınızda olan tam Yayımlanmış Tədbir Adı olmalıdır. Məsələn, "Cədvələ görə qidalanan Bella", sizə təqdim etdiyim koddakı tam hadisə adıdır. Arayış üçün doldurduğum zaman ekran görüntüsünə baxın. Digər hadisələri idarə etmək üçün daha 2 IFTTT yaratmalısınız. Bu applet, Google sürücünüzdə hələ mövcud deyilsə, yeni bir vərəq yaradacaq və yeni hadisələri növbəti boş sətrə daxil edəcək.
Tövsiyə:
MPU-6000 və hissəcik fotonundan istifadə edərək hərəkət izlənməsi: 4 addım
MPU-6000 və Partikül Fotonundan istifadə edərək Hərəkət İzləmə: MPU-6000, 3 Eksenli akselerometr və 3 Eksenli giroskopu olan 6 Eksenli Hərəkət İzləmə Sensorudur. Bu sensor, obyektin 3ölçülü müstəvidə dəqiq mövqeyini və yerini səmərəli izləməyə qadirdir. İstifadə oluna bilər
HMC5883 və hissəcik fotonundan istifadə edərək maqnit sahəsinin ölçülməsi: 4 addım
HMC5883 və Particle Photon istifadə edərək Maqnit Sahəsinin Ölçülməsi: HMC5883, aşağı sahə maqnit algılaması üçün hazırlanmış rəqəmsal bir kompasdır. Bu cihaz +/- 8 Oe geniş bir maqnit sahəsinə və 160 Hz çıxış sürətinə malikdir. HMC5883 sensoru avtomatik degaussing kəmər sürücüləri, ofset ləğvi və
Proqramlaşdırıla bilən LED -lərdən istifadə edərək inteqrasiya olunmuş yanıb -sönən motosikletin arxa lampası: 4 addım
Proqramlaşdırıla bilən LED -lərdən istifadə edərək inteqrasiya olunmuş yanıb -sönən işıqlı motosikletin arxa fənəri: Salam! Bu, motosikletiniz üçün və ya bəlkə də WS2812B (fərdi ünvanlı ledlər) və Arduinos istifadə edərək hər hansı bir şey üçün xüsusi olaraq proqramlaşdırıla bilən RGB Quyruq Lampasının (inteqrasiya olunmuş yanıb -sönən/göstəriciləri ilə) necə hazırlanacağına dair bir az asan bir DIY -dir. . İşığın 4 rejimi var
BMA250 və hissəcik fotonundan istifadə edərək sürətləndirmə ölçümü: 4 addım
BMA250 və Partikül Fotonundan istifadə edərək Sürət Ölçmə: BMA250, kiçik, nazik, ultralow güc, ± 16 q-a qədər yüksək qətnamə (13 bit) ölçmə ilə 3 oxlu akselerometrdir. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2C rəqəmsal interfeysi vasitəsilə əldə edilə bilər. Statik ölçür
ADT75 və hissəcik fotonundan istifadə edərək temperaturun ölçülməsi: 4 addım
ADT75 və Partikül Fotonundan istifadə edərək Temperaturun Ölçülməsi: ADT75 son dərəcə dəqiq, rəqəmsal bir temperatur sensoru. Temperaturun izlənməsi və rəqəmsallaşdırılması üçün bir bant boşluğu temperatur sensoru və 12 bitlik analoqdan rəqəmsal çeviricidən ibarətdir. Yüksək həssas sensoru onu mənə yetərincə bacarıqlı edir