İçindekiler:

Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici: 7 Adım (Resimlerle)
Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici: 7 Adım (Resimlerle)

Video: Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici: 7 Adım (Resimlerle)

Video: Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici: 7 Adım (Resimlerle)
Video: Using IFTTT To Update Google Sheets: Get Your Smart Devices To Record Their Data 2024, Temmuz
Anonim
Image
Image
Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici
Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici
Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici
Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici
Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici
Alexa, SmartThings, IFTTT, Google Sheets ile Entegre Parçacık Fotonu Kullanan IoT Kedi Besleyici

Otomatik kedi besleme ünitesine duyulan ihtiyaç kendi kendini açıklar niteliktedir. Kediler (kedimizin adı Bella) acıktığında iğrenç olabilir ve kediniz benimki gibiyse her seferinde kaseyi kuru yer. Kontrollü miktarda yiyeceği 3 yöntemle otomatik olarak dağıtmanın bir yoluna ihtiyacım vardı - 1. Alexa sesli komutu, 2. bir programla ve 3. SmartThings'te bir düğme ile. Ayrıca kedinin nasıl ve ne zaman beslendiğini takip etmenin bir yolunu istedim, böylece iki kez beslemeyiz (bazen karım kediyi beslediğinde ve ben de 15 dakika sonra kediyi tekrar beslediğimde).

Bu proje aşırı zor değil, geliştirici veya mühendis değilim, ancak çevrimiçi olarak bana yardımcı olan birçok kaynak vardı. Bu projeyi de tamamlamanız için kullandığım her şeyi ve gerekli tüm adımları derliyorum. Keyfini çıkarın ve mutlu bina!

Adım 1: İhtiyaç Duyduğunuz Tüm Malzemeleri Alın - Yaklaşık 100 Dolar

İhtiyacınız Olan Tüm Malzemeleri Alın - Yaklaşık 100 Dolar
İhtiyacınız Olan Tüm Malzemeleri Alın - Yaklaşık 100 Dolar

İşte bu kedi besleyiciyi yapmak için satın aldığım her şey. Planladığım 75 dolardan biraz daha fazla olan yaklaşık 100 dolardı, ancak uzun süre dayanmasını sağlamak için daha kaliteli parçalar için gitti. Ahşap tutkalı, sıcak tutkal tabancası, 18ga çivi çakma makinesi, zımpara kağıdı, ahşap dolgu vb. gibi kutuyu yapmak zorunda olduğum bazı malzemeler bence "araçlar" kategorisine giriyor ve hepsi gerekli değil. Bazen bir şeyleri güzelleştirmenin ötesine geçiyorum.

Bu kesin ürünlerden saparsanız, servo kolunuzun/kornanızın aynı sayıda dişe sahip olması gerekeceğinden, servonuzun metal bir dişliye sahip olduğundan emin olun ve diş sayısını not edin. Aşağıda listelenen servo ve kol 25T, yani 25 diş. Ayrıca ilk turda plastik kol kullandım ve kullandıktan bir hafta sonra dişler soyuldu, o yüzden plastik yola gitmeyin, metal alın.

1. Parçacık Fotonu $19.99

2. Breadboard ve Jumper kabloları 7,69 $

3. Servo 19,99 $

4. Metal servo kol/korna 8,98 $

5. Piezo Buzzer $5,05

6. Tahıl Dağıtıcı 14,95 $

7. Kutu için hırdavatçıdan fiber levha, 20 doları mahvederseniz diye 2 parça

8. Rustoleum Dövülmüş Sprey Boya $5.97

8. Çeşitli. vidalar, ahşap tutkalı, çiviler, zımpara kağıdı, ahşap dolgu vb.

2. Adım: Parçacık Fotonunu Ayarlayın

İlk adım, Parçacık Fotonunuzu internete bağlamaktır. Bu, özellikle Particle tarafından sağlanan kılavuzlarla çok kolaydır. Particle uygulamasını telefonunuza indirin, bir partikül hesabı oluşturun ve onu wifi'nize bağlamak için kılavuzu izleyin. Videoyu izleyin ve bu talimatları izleyin!

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

Adım 3: Parçacığı Servo, Breadboard ve Buzzer'a bağlayın

Parçacığı Servo, Breadboard ve Buzzer'a Bağlayın
Parçacığı Servo, Breadboard ve Buzzer'a Bağlayın
Parçacığı Servo, Breadboard ve Buzzer'a Bağlayın
Parçacığı Servo, Breadboard ve Buzzer'a Bağlayın

Tamam, şimdi bir breadboard kullanarak parçacığı servo ve buzzer'a bağlamamız gerekiyor. Parçacığınızı her iki tarafta 2 iğne deliği bırakarak devre tahtasına takın, parçacığın bunun dışında nereye yerleştirildiği önemli değildir. Tellerimi zile lehimledim ve sonra sabitlemek için sıcak tutkal kullandım. Daha basit bir yöntem, terminal konektörlerini veya alın konektörlerini kullanmak ve bunları pense ile kıvırmak olacaktır. Size kalmış.

Servo kablolarını bağlayın:

VIN Kırmızı servo tel

A5 Sarı servo tel

GND Siyah servo tel

Buzzer kablolarını bağlayın (hangisi olduğu önemli değil):

D0 Zil teli

GND Buzzer teli

Adım 4: Fotona Kodun Yanıp Sönmesi

Fotona Yanıp Sönen Kod
Fotona Yanıp Sönen Kod

Artık kabloyu bağladığınıza göre, üretici yazılımı kodunu fotona gönderelim ve sesli uyarının bir melodi çaldığını ve servonun döndüğünü test edelim.

Hesabınızı kullanarak parçacık oluşturma konsoluna giriş yapın

Sol taraftaki araç çubuğundaki kod düğmesini tıklayın. Sağlanan ürün yazılımı kodunu (cat_feeder.c) kopyalayıp derleme konsoluna yapıştırın, varsayılan olarak orada mevcut herhangi bir kodu değiştirin.

Besleme işlevi hakkında küçük bir açıklama. Yemleme 3 farklı yöntemle (düğme, ses, program) başlatılabildiğinden, kedinin nasıl beslendiğini bilmemiz için her olayı yayınlamak için 3 farklı komuta ihtiyacımız var. Bu komutlar, butonla beslendiğinde "bfeed", programla beslendiğinde "sfeed" ve sesli komutla beslendiğinde "vfeed" olur.

Kodunuzu kaydetmek için Klasör arama düğmesini tıklayın, ona seçtiğiniz bir ad verin.

Doğrula düğmesini tıklayın (etrafında daire bulunan bir onay işaretine benziyor). Birkaç dakika sonra alt durum çubuğunda şunu görmelisiniz:

Kod derleniyor… Kod doğrulandı. Harika iş! Hazır.

Şimdi, sol araç çubuğundaki Flaş düğmesini tıklayın (şimşek gibi görünüyor). Birkaç dakika sonra alt durum çubuğunda şunu görmelisiniz:

Yanıp sönen kod… Flash başarılı! Cihazınız güncelleniyor. Hazır.

Ardından, parçacık konsoluna giriş yapın

Parçacık Fotonunuza tıklayın. Bu, cihazınız için bir durum sayfasıdır; yanıp sönen kod gibi eylemler gerçekleştirildiğinde veya feed komutlarının çağrılmasıyla olaylar yayınlandığında Olay Günlüklerinde görebilirsiniz. Bir besleme komutu başlatmak için bu konsolun sağ tarafındaki İşlev kutucuğunu kullanacaksınız. Kodda işlev "feed" olarak adlandırıldığından, onu ve bir argüman giriş kutusu görmelisiniz.

Bağımsız değişken giriş kutusuna "bfeed" yazın ve Ara'yı tıklayın.

Bu melodiyi çalmalı ve ardından servoyu çevirmelidir. İsterseniz, test amacıyla, servo dönüşünü doğrulamak istiyorsanız, koddaki gecikme süresini 330 MS'den 5000 gibi daha uzun bir süreye değiştirin. Kodda her değişiklik yaptığınızda Flash düğmesine tıklamanız gerekir. İstenen dönüş miktarını elde etmek için muhtemelen daha sonra gecikmeyi ayarlamanız gerekecektir (bir köpeği beslemek gibi, daha fazla yiyecek dağıtmak isteyebilirsiniz).

Adım 5: Her Şeyi Barındıracak Bir Kutu Yapın

Her Şeyi Barındıracak Bir Kutu Yapın
Her Şeyi Barındıracak Bir Kutu Yapın
Her Şeyi Barındıracak Bir Kutu Yapın
Her Şeyi Barındıracak Bir Kutu Yapın
Her Şeyi Barındıracak Bir Kutu Yapın
Her Şeyi Barındıracak Bir Kutu Yapın

Bu adım, eski moda marangozluk becerilerinizden oluşur. Kutuyu yapmak için 2 -2x4ft fiber levha satın aldım çünkü güçlü, dokunması pürüzsüz, nispeten ucuz ve kesmesi/çalışması kolay. Herhangi bir malzeme seçebilirsiniz. Bu adım, nasıl oluşturulduğu konusunda gerçekten sizin takdirinize bağlıdır, çünkü herkesin farklı ihtiyaçları vardır. Kutu yapımı için adım adım detaylı bir bilgim olmayacak ama düşünce sürecini ve kullandığım yöntemleri paylaşabilirim.

Kutuyu tasarlarken dikkate aldığım birkaç faktör vardı. Bu şeyi olabildiğince kompakt istedim. Arızalanırsa, temizlik ve/veya tamir için kolayca servis edilebilir olmasını istedim. Son olarak, gıda azaldığında gözle görülür şekilde görebilmem için dağıtıcı tüpünün açıkta kalmasını istedim. Bunu göz önünde bulundurarak önce kutuyu yaptım ve ardından dağıtıcı ünite, servo ve kartın bağlı olduğu kare bir çerçeve yapmak için iç boyutlarını ölçtüm. Bu şekilde, ünitenin tamamı servis için kutudan kaldırılabilir. Resimlere bakın.

6. Adım: SmartThings Cihaz İşleyicileri

SmartThings Cihaz İşleyicileri
SmartThings Cihaz İşleyicileri
SmartThings Cihaz İşleyicileri
SmartThings Cihaz İşleyicileri
SmartThings Cihaz İşleyicileri
SmartThings Cihaz İşleyicileri

Bu adım, SmartThings ve Alexa kullanılarak besleme işlevini çağırmanın nasıl uygulanacağını açıklar. Bunu yapmak için 2 harika aygıt işleyicisi yazmam gerekti. İşleyicilerden biri SmartThings'de düğmeye bastığımda "bfeed" için, diğer işleyici ise Alexa'dan Bella'yı sesli komutla beslemesini istediğimde "vfeed" için. 2 farklı işleyiciye sahip olmanın bir başka nedeni de Alexa'nın düğmeleri değil, yalnızca anahtar olan cihazları tanımasıdır. Bu yüzden, işlevi çağırmak için Alexa'yı bir anahtarı tanıması için kandırmak zorunda kaldım (kapalı ve açık aynı eylemi gerçekleştirin). Tamam, başlayalım.

Samsung Hesabınızı veya SmartThings hesabınızı kullanarak https://ide.smartthings.com adresindeki IDE SmartThings portalına giriş yapın (veya bir hesap oluşturun).

SmartThings hub'ınızın "Konumlarım" ve "Hub'larım" altında göründüğünü onaylayın. Görünmezse, devam etmeden önce bu sorunu giderin.

İlk önce Button Handler'ı oluşturacağız

Üst gezinme çubuğundaki "Aygıt İşleyicilerim" üzerine tıklayın.

"Yeni Aygıt İşleyici Oluştur" mavi düğmesine tıklayın

"Koddan" sekmesini seçin ve ekli button_handler.groovy dosyasındaki kodu yapıştırın. Ardından Oluştur'a tıklayın.

"Kaydet"i ve "Yayınla"yı, "Benim için"i tıklayın. "Cihaz türü başarıyla yayınlandı" yazan yeşil bir bildirim görmelisiniz.

Şimdi telefonunuza geçin ve SmartThings uygulamasını açın. İşleyicinin yeni bir cihaz olarak göründüğünü görmelisiniz. İşleyiciyi, parçacık cihazınıza gönderecek şekilde yapılandırmanız gerekir. Yeni oluşturulan cihazı seçin ve Ayarlar'ı açın (dişli simgesine benziyor).

Cihaz Adını Girin - Seçtiğiniz cihaza isim verin, eminim kedinizin adı da Bella değildir.

Erişim Simgesini Girin - Erişim simgesi, Parçacık Oluşturma konsolunda https://build.particle.io/ Ayarlar altında (dişli simgesi sol altta) bulunacaktır. Erişim Simgesi 40 karakterlik bir dize olacaktır.

Cihaz Kimliğini Girin - Cihaz kimliği, Parçacık Konsolu sayfasında 24 karakterlik bir dize olarak bulunur ve ayrıca parçacık cihazınızda çalışırken hesabınıza giriş yaptığınızda tüm parçacık URL'lerinde de görülür. URL'de BOLD olarak görülen cihaz kimliği:

Kaydet'i tıklayın.

Besle düğmesini tıklayın!

Besleme düğmesine tıklayarak melodiyi duymalı ve servonun dönmesini sağlamalısınız. Ayrıca parçacık konsolu olay günlüğünde yayınlanan olayları da görüyor olmalısınız.

Ardından, Alexa için Aygıt İşleyiciyi oluşturacağız

Yukarıdaki ile aynı prosedürü izleyin. IDE SmartThings portalına gidin ve üst gezinme çubuğundaki "Aygıt İşleyicilerim"e tıklayın. Mavi "Yeni Aygıt İşleyici Oluştur" düğmesine tıklayın.

"Koddan" sekmesini seçin ve alexa_handler.groovy ekli dosyadaki kodu yapıştırın. Ardından Oluştur'a tıklayın.

"Kaydet"i ve "Yayınla"yı, "Benim için"i tıklayın. "Cihaz türü başarıyla yayınlandı" yazan yeşil bir bildirim görmelisiniz.

Şimdi telefonunuza geri dönün ve SmartThings uygulamasını açın. İşleyicinin yeni bir cihaz olarak göründüğünü görmelisiniz, ancak bu sefer herhangi bir düğme yok. İşleyiciyi, daha önce yaptığınız gibi Erişim Simgeniz ve Cihaz Kimliğinizle yapılandırmanız gerekir.

SmartThings'te yeni oluşturulan cihazı seçin ve Ayarlar'ı açın (dişli simgesine benziyor).

Cihaz Adını Girin - Seçtiğiniz cihaza ne ad verirseniz verin, ona "Alexa için Kedi Besleyici İşleyici" adını verdim, böylece karım onun Kedi Besleyici düğmesi olmadığını biliyor.

Erişim Simgesini girin ve Cihaz Kimliğini Girin, ardından Kaydet'e tıklayın.

Şimdi, telefonunuzda Alexa Uygulamanızı açın. Daha önce yapmadıysanız SmartThings Alexa Skill'i etkinleştirin ve SmartThings hesabınızı Alexa Uygulamasına bağlayın. Ardından Akıllı Ana ekrana gidin ve "Cihaz Ekle"ye tıklayın. Bu, "Alexa, aygıtları keşfet" diyerek de yapılabilir. Bir cihaz bir anahtar simgesiyle görünmelidir, SmartThings'te işleyiciye ne ad verirseniz verin. İsterseniz adını Alexa uygulamasında değiştirebilirsiniz, ancak bunun bir anahtar türü olduğunu unutmayın, bu nedenle "Alexa, aç" veya "Alexa, kapat" demeyi gerektirecektir. Bunun "Kedi besleme ünitesini aç" demek hoş olmadığını biliyorum, bu yüzden bir alternatif, Alexa uygulamasında yeni bir rutin oluşturmak ve onu tam olarak istediğiniz ifadeyle çağırmak. Kedi besleme düğmesini açan "Bella Besle" adlı bir rutin yaptım.

Alexa uygulamasındaki anahtarı tıklatarak, artık besleme işlevini başarıyla çağırıyor olmalısınız. Parçacık Konsolu olay günlüğü de bunu belirten olayları göndermelidir.

Her şeyi istediğiniz gibi adlandırdıktan sonra devam edin ve deneyin!

7. Adım: Hepsini Bir Araya Getirmek

Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy

Ele almadığım son parça, yayınların nasıl planlanacağı ve yayınlanan etkinliklerin bir Google E-Tablosunda nasıl kaydedileceğidir. Muhtemelen Alexa Uygulamasının program için bir rutin oluşturmak için kullanılabileceğini düşünüyorsunuz, ancak bu, programı sesli komut veya düğme ile karşılaştırmamıza izin vermez. Bunun yerine, zaten kullanacağımız parçacık için bir IFTTT uygulaması var.

Akışları planlamak için IFTTT uygulamasını oluşturalım

ifttt.com adresine gidin veya IFTTT akıllı telefon uygulamasını indirin ve giriş yapın (gerekirse bir hesap oluşturun)

IFTTT'de yeniyseniz, çok basit. Her uygulama bir IF (bir koşul veya tetikleyici) ve bir BU'dan (yapılacak bir eylem) oluşur.

IFTTT'de oturum açtıktan sonra, yeni bir uygulama oluşturun, EĞER'i seçin ve "Tarih ve Saat" öğesini arayın veya seçin. Bunu tercih ettiğiniz programa göre yapılandırırsınız. Ardından adımlara ilerleyin ve BU'ya ulaştığınızda "Parçacık" arayacak ve "Bir Fonksiyon Çağır" ı seçeceksiniz. Alanları yukarıdaki ekran görüntüsündeki gibi doldurun, girdi olarak "sfeed" kullandığınızdan emin olun, çünkü bu bir "Fed by Schedule" olayı yayınlamak için gereken komuttur. Bu uygulamayı kurarken parçacık hesabınıza bağlanmanız veya oturum açmanız gerekebilir. Uygulamayı kaydedin ve gitmek için iyi olmalısınız. Test etmek istiyorsanız, tarihi ve saati gelecekte yakın olarak değiştirin ve doğru şekilde tetiklenip tetiklenmediğine bakın.

Şimdi 3 olay türünü işlemek için IFTTT uygulamalarını oluşturmak için

Kedi besleyici çalıştığında hesaba katmamız gereken 3 komut var. Bunlar parçacık belleniminde sabit kodlanmıştır:

Bella program tarafından beslenirBella düğme ile beslenirBella sesli komutla beslenir

Evcil hayvanınızın adı "Bella" değilse, muhtemelen bunu üretici yazılımında değiştirmek ve yeniden flaş yapmak istersiniz. Parçacık kodunun Particle.publish satırındaki metni değiştirin.

Yeni bir IFTTT uygulaması oluşturun. (her olay türü için bunu 3 kez yapmanız gerekir)

IF ile başlayarak Parçacık'ı arayın ve "Yeni etkinlik yayınlandı" seçeneğini seçin. Olay Adının, ürün yazılımınızda bulunan tam Yayınlanmış Olay Adı olması gerekir. Örneğin, "Bella programa göre beslenir", size sağladığım koddaki tam etkinlik adıdır. Referans için doldurduğum ekran görüntüsüne bakın. Diğer olayları da işlemek için 2 IFTTT daha oluşturmanız gerekecek. Bu uygulama, halihazırda mevcut değilse, google sürücünüzde yeni bir sayfa oluşturacak ve yeni olayları bir sonraki boş satıra kaydedecektir.

Önerilen: