Isi kandungan:

Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google: 7 Langkah (dengan Gambar)
Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google: 7 Langkah (dengan Gambar)

Video: Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google: 7 Langkah (dengan Gambar)

Video: Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google: 7 Langkah (dengan Gambar)
Video: DIY IoT Cat Feeder - Particle Photon, Alexa, SmartThings, IFTTT 2024, November
Anonim
Image
Image
Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google
Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google
Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google
Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google
Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google
Pengumpan Kucing IoT Menggunakan Foton Partikel Bersepadu dengan Alexa, SmartThings, IFTTT, Helaian Google

Keperluan untuk pemberi makan kucing automatik sangat jelas. Kucing (nama kucing kami adalah Bella) boleh menjengkelkan apabila lapar dan jika kucing anda seperti kucing saya akan memakan mangkuk itu kering setiap masa. Saya memerlukan cara untuk mengeluarkan sejumlah makanan yang terkawal secara automatik dengan 3 kaedah - 1. Perintah suara Alexa, 2. mengikut jadual, dan 3. dengan butang di SmartThings. Saya juga mahukan kaedah untuk mengesan bagaimana dan kapan kucing diberi makan supaya kita tidak memberi makan dua kali (kadang-kadang ketika isteri saya memberi makan kucing dan kemudian saya memberi makan kucing lagi 15 minit kemudian).

Projek ini tidak terlalu sukar, saya bukan pemaju, atau jurutera, tetapi terdapat banyak sumber dalam talian yang membantu saya. Saya menyusun semua yang saya gunakan dan semua langkah yang diperlukan untuk anda menyelesaikan projek ini juga. Nikmati, dan selamat membina!

Langkah 1: Dapatkan Semua Bahan Yang Diperlukan - Kira-kira $ 100

Dapatkan Semua Bahan Yang Diperlukan Anda - Kira-kira $ 100
Dapatkan Semua Bahan Yang Diperlukan Anda - Kira-kira $ 100

Inilah semua yang saya beli untuk dijadikan makanan kucing ini. Ia berharga kira-kira $ 100 yang sedikit lebih tinggi daripada $ 75 yang saya rancangkan tetapi memerlukan beberapa bahagian berkualiti lebih baik untuk memastikan ia kekal. Sebilangan bahan yang telah saya buat untuk membuat kotak seperti gam kayu, pistol lem panas, paku 18ga, kertas pasir, pengisi kayu, dan lain-lain. Ini termasuk dalam "alat" pada pendapat saya dan semuanya tidak diperlukan. Saya hanya kadang-kadang membuat lebih cantik.

Sekiranya anda menyimpang dari produk yang tepat ini, pastikan servo anda mempunyai gear logam dan perhatikan jumlah gigi kerana servo arm / tanduk anda perlu mempunyai jumlah gigi yang sama. Servo dan lengan yang disenaraikan di bawah adalah 25T, yang bermaksud 25 gigi. Juga, saya menggunakan lengan plastik pada kali pertama dan gigi dilucutkan dalam seminggu penggunaan jadi jangan pergi ke arah plastik, dapatkan logam.

1. Zarah Foton $ 19.99

2. Kawat papan roti dan Jumper $ 7.69

3. Servo $ 19.99

4. Lengan servo logam / tanduk $ 8.98

5. Piezo Buzzer $ 5.05

6. Cereal Dispenser $ 14.95

7. Papan gentian dari kedai perkakasan untuk kotak, 2 keping sekiranya anda merosakkan $ 20

8. Rustoleum Hammered Spray Paint $ 5.97

8. Pelbagai. barang seperti skru, gam kayu, paku, kertas pasir, pengisi kayu, dll.

Langkah 2: Sediakan Foton Zarah

Langkah pertama adalah menyambungkan Partikel Photon anda ke internet. Ini sangat mudah, terutamanya dengan panduan yang diberikan oleh Particle. Muat turun aplikasi Partikel ke telefon anda, buat akaun partikel, dan ikuti panduan untuk menyambungkannya ke wifi anda. Tonton Video dan ikuti arahan ini!

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

Langkah 3: Sambungkan Partikel ke Servo, Breadboard, dan Buzzer

Sambungkan Partikel ke Servo, Breadboard, dan Buzzer
Sambungkan Partikel ke Servo, Breadboard, dan Buzzer
Sambungkan Partikel ke Servo, Breadboard, dan Buzzer
Sambungkan Partikel ke Servo, Breadboard, dan Buzzer

Ok, sekarang kita perlu memasang zarah ke servo dan buzzer menggunakan papan roti. Pasang zarah anda ke papan roti meninggalkan 2 lubang pin di setiap sisi, tidak penting di mana zarah diletakkan di luar itu. Saya memateri wayar saya ke bel dan kemudian menggunakan gam panas untuk mengamankannya. Kaedah yang lebih mudah adalah dengan menggunakan penyambung terminal atau penyambung pantat dan merapatkannya dengan tang. Terpulang kepada anda.

Sambungkan wayar servo:

Kawat servo VIN Merah

A5 Kawat servo kuning

Kawat servo GND Hitam

Sambungkan wayar buzzer (tidak kira yang mana):

D0 dawai buzzer

Kawat Buzzer GND

Langkah 4: Berkelip Kod ke Foton

Berkelip Kod ke Foton
Berkelip Kod ke Foton

Setelah anda menyambungnya, mari kirimkan kod firmware ke foton dan uji bahawa buzzer memainkan melodi dan servo bertukar.

Log masuk ke partikel build particle menggunakan akaun anda

Klik butang kod di bar alat sebelah kiri. Salin dan tampal kod firmware yang disediakan (cat_feeder.c) ke dalam konsol bina, ganti kod yang ada di sana secara lalai.

Sedikit penjelasan mengenai fungsi suapan. Oleh kerana memberi makan boleh dilakukan dengan 3 kaedah yang berbeza (butang, suara, jadual) kita memerlukan 3 perintah yang berbeza untuk menerbitkan setiap acara sehingga kita tahu bagaimana kucing diberi makan. Perintah ini adalah "bfeed" ketika diberi makan oleh tombol, "sfeed" ketika diberi makan berdasarkan jadwal dan "vfeed" ketika diberi makan dengan perintah suara.

Klik butang Folder mencari untuk menyimpan kod anda, beri nama yang anda pilih.

Klik butang verifikasi (kelihatan seperti tanda semak dengan bulatan di sekelilingnya). Selepas beberapa saat, anda akan melihat di bar status bawah:

Menyusun kod… Kod disahkan. Kerja hebat! Sedia.

Sekarang, Klik butang Flash di bar alat kiri (kelihatan seperti kilat kilat). Selepas beberapa saat, anda akan melihat di bar status bawah:

Flashing code … Flash berjaya! Peranti anda sedang dikemas kini. Sedia.

Seterusnya, log masuk ke partikel konsol

Klik pada Foton Zarah anda. Ini adalah halaman status untuk peranti anda, yang dapat anda lihat di Log Peristiwa ketika tindakan diambil, seperti mem-flash code atau ketika acara diterbitkan dari memanggil perintah feed. Untuk memulakan arahan suapan, anda akan menggunakan jubin Fungsi di sebelah kanan konsol ini. Oleh kerana fungsi tersebut disebut "feed" dalam kod, anda harus melihatnya dan kotak input argumen.

Ketik "bfeed" di kotak input argumen dan klik Panggil.

Ini harus memainkan melodi dan kemudian menghidupkan servo. Sekiranya anda mahu, untuk tujuan ujian, ubah waktu tunda dalam kod dari 330 MS menjadi lebih lama seperti 5000 jika anda ingin mengesahkan putaran servo. Anda perlu mengklik butang Flash setiap kali anda membuat perubahan pada kod tersebut. Anda mungkin perlu menyesuaikan kelewatan di kemudian hari untuk mendapatkan jumlah giliran yang diinginkan (seperti memberi makan anjing, anda mungkin ingin mengeluarkan lebih banyak makanan).

Langkah 5: Buat Kotak untuk Mengemas Segala-galanya

Buat Kotak untuk Rumah Segalanya
Buat Kotak untuk Rumah Segalanya
Buat Kotak untuk Rumah Segalanya
Buat Kotak untuk Rumah Segalanya
Buat Kotak untuk Rumah Segalanya
Buat Kotak untuk Rumah Segalanya

Langkah ini terdiri daripada kemahiran pertukangan fesyen anda yang baik. Saya membeli papan gentian 2 -4x4ft untuk membuat kotak kerana kuat, licin disentuh, agak murah, dan senang dipotong / digunakan. Anda boleh memilih sebarang bahan. Langkah ini benar-benar mengikut budi bicara anda bagaimana ia dibina kerana setiap orang mempunyai keperluan yang berbeza. Saya tidak akan mempunyai langkah demi langkah terperinci untuk membuat kotak itu tetapi saya dapat berkongsi proses pemikiran dan kaedah yang saya gunakan.

Terdapat beberapa faktor yang saya pertimbangkan untuk merancang kotak itu. Saya mahukan perkara ini sekerap mungkin. Saya mahukan ia senang digunakan untuk membersihkan dan / atau memperbaikinya jika ia tidak berfungsi. Terakhir, saya mahu tabung dispenser terdedah sehingga saya dapat melihat dengan jelas bila makanan hampir habis. Dengan ini, saya membuat kotak terlebih dahulu dan kemudian mengukur dimensi dalaman untuk membuat bingkai persegi yang dilampirkan unit dispenser, servo, dan board. Dengan cara ini seluruh unit dapat diangkat keluar dari kotak untuk diservis. Lihat gambarnya.

Langkah 6: Pengendali Peranti SmartThings

Pengendali Peranti SmartThings
Pengendali Peranti SmartThings
Pengendali Peranti SmartThings
Pengendali Peranti SmartThings
Pengendali Peranti SmartThings
Pengendali Peranti SmartThings

Langkah ini menerangkan cara melaksanakan memanggil fungsi feed menggunakan SmartThings dan Alexa. Untuk melakukan ini, saya terpaksa menulis 2 pengendali peranti groovy. Salah satu pengendali adalah untuk "bfeed" ketika saya menekan butang di SmartThings dan pengendali yang lain adalah untuk "vfeed" ketika saya meminta Alexa memberi makan Bella dengan perintah suara. Alasan lain untuk mempunyai 2 pengendali yang berbeza adalah bahawa Alexa hanya mengenali peranti yang beralih, bukan butang. Oleh itu, saya terpaksa memperdayakan Alexa untuk mengenali suis untuk memanggil fungsi (mati dan melakukan tindakan yang sama). Ok, mari kita mulakan.

Log masuk (atau buat akaun) ke portal IDE SmartThings di https://ide.smartthings.com menggunakan akaun Samsung atau akaun SmartThings anda.

Sahkan hub SmartThings anda muncul di bawah "Lokasi Saya" dan "Hab Saya". Sekiranya tidak ditunjukkan, selesaikan masalah ini sebelum meneruskan.

Kami akan membuat Button Handler terlebih dahulu

Klik "Pengendali Peranti Saya" di bar navigasi atas.

Klik pada butang biru "Buat Pengendali Peranti Baru"

Pilih tab "Dari Kod" dan tampal kod dari fail dilampirkan button_handler.groovy. Kemudian Klik Buat.

Klik "Simpan" dan "Terbitkan" "Untuk saya". Anda akan melihat pemberitahuan berwarna hijau yang muncul, "Jenis peranti berjaya diterbitkan."

Sekarang, lompat ke telefon anda dan buka aplikasi SmartThings. Anda harus melihat pengendali muncul sebagai peranti baru. Anda perlu mengkonfigurasi pengendali sehingga menyiarkan ke peranti zarah anda. Pilih peranti yang baru dibuat dan buka Tetapan (kelihatan seperti ikon roda gigi).

Masukkan Nama Peranti - Namakan peranti apa sahaja yang anda pilih, saya pasti kucing anda juga tidak bernama Bella.

Masukkan Token Akses - Token akses akan dijumpai di partikel Build konsol https://build.particle.io/ di bawah Tetapan (ikon gear di kiri bawah). Token Akses akan menjadi rentetan 40 aksara.

Masukkan Device ID - ID peranti terdapat di halaman Particle Console sebagai rentetan 24 aksara dan juga dilihat di semua URL partikel semasa anda log masuk ke akaun anda yang bekerja pada peranti partikel anda. ID Peranti dilihat BOLD di URL:

Klik Simpan.

Klik butang Feed!

Dengan mengklik butang suapan, anda akan mendengar melodi dan membuat servo bertukar. Anda juga mesti melihat acara yang diterbitkan dalam log acara konsol partikel.

Seterusnya, kami akan membuat Device Handler untuk Alexa

Ikuti prosedur yang sama seperti di atas. Pergi ke portal IDE SmartThings dan Klik "Pengendali Peranti Saya" di bar navigasi atas. Klik pada butang biru "Buat Pengendali Peranti Baru"

Pilih tab "Dari Kod" dan tampal kod dari fail yang dilampirkan alexa_handler.groovy. Kemudian Klik Buat.

Klik "Simpan" dan "Terbitkan" "Untuk saya". Anda akan melihat pemberitahuan berwarna hijau yang muncul, "Jenis peranti berjaya diterbitkan."

Sekarang, kembali ke telefon anda dan buka aplikasi SmartThings. Anda harus melihat pengendali muncul sebagai peranti baru tetapi kali ini tanpa butang. Anda perlu mengkonfigurasi pengendali dengan Token Akses dan ID Peranti anda seperti yang anda lakukan sebelumnya.

Pilih peranti yang baru dibuat di SmartThings dan buka Tetapan (kelihatan seperti ikon roda gigi).

Masukkan Nama Peranti - Namakan peranti apa sahaja yang anda pilih, saya memanggilnya "Cat Feeder Handler for Alexa" supaya isteri saya tahu ia bukan butang Cat Feeder.

Masukkan Token Akses dan Masukkan ID Peranti, kemudian klik Simpan.

Sekarang, buka Aplikasi Alexa di telefon anda. Sekiranya anda belum melakukannya sebelumnya, aktifkan SmartThings Alexa Skill dan pautkan akaun SmartThings anda ke Aplikasi Alexa. Kemudian pergi ke skrin Laman Utama Pintar dan klik "Tambah Peranti". Ini juga dapat dilakukan dengan mengatakan "Alexa, Discover devices". Peranti akan muncul dengan ikon suis, ia akan dinamakan apa sahaja yang anda namakan pengendali di SmartThings. Anda boleh menukar namanya di aplikasi Alexa jika anda mahu tetapi ingat bahawa ini adalah jenis suis sehingga memerlukan ucapan "Alexa, hidupkan" atau "Alexa, matikan". Saya tahu ini tidak bagus untuk mengatakan "Hidupkan pemakan kucing" jadi alternatifnya ialah membuat rutin baru dalam aplikasi Alexa dan memanggilnya dengan frasa yang anda mahukan dengan tepat. Saya membuat rutin yang disebut "Feed Bella" yang menghidupkan suis pemakan kucing.

Dengan mengklik suis di aplikasi Alexa, anda seharusnya berjaya memanggil fungsi suapan. Log acara Particle Console juga harus menyiarkan peristiwa yang menunjukkannya.

Sebaik sahaja anda mempunyai semua yang dinamakan dengan cara yang anda mahukan, teruskan dan cubalah!

Langkah 7: Menggabungkan Semuanya

Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya

Bahagian terakhir yang belum saya bahas adalah bagaimana menjadualkan suapan dan merakam acara yang diterbitkan dalam Helaian Google. Anda mungkin berfikir bahawa Aplikasi Alexa dapat digunakan untuk membuat rutin jadual tetapi ini tidak akan membolehkan kita log jadual vs perintah suara atau butang. Oleh itu, sudah ada applet IFTTT untuk partikel yang akan kita gunakan.

Mari buat applet IFTTT untuk penjadualan suapan

Pergi ke https://ifttt.com atau muat turun aplikasi telefon pintar IFTTT dan log masuk (buat akaun jika diperlukan)

Sekiranya anda baru menggunakan IFTTT, ia sangat lurus ke hadapan. Setiap applet terdiri daripada IF (keadaan atau pencetus) dan ITU (beberapa tindakan yang harus dilakukan).

Oleh itu, setelah log masuk ke IFTTT, buat applet baru, pilih IF dan cari atau pilih "Tarikh dan Masa". Anda mengkonfigurasi ini mengikut jadual apa sahaja yang anda mahukan. Kemudian teruskan langkah-langkahnya dan setelah anda sampai ke BAHAWA anda akan mencari "Partikel" dan pilih "Call a Function". Isi bidang seperti pada tangkapan layar di atas, pastikan untuk menggunakan "sfeed" sebagai input kerana ini adalah perintah yang diperlukan untuk menerbitkan acara "Fed by jadual". Anda mungkin perlu menyambung atau log masuk ke akaun zarah anda semasa menyiapkan applet ini. Simpan applet dan anda pasti boleh pergi. Sekiranya anda ingin menguji, ubah tarikh dan masa untuk menghampiri pada masa akan datang dan lihat apakah ia mencetuskan dengan betul.

Sekarang untuk membuat applet IFTTT untuk menangani 3 jenis acara

Terdapat 3 arahan yang perlu kita pertimbangkan semasa penyuap kucing berjalan. Ini dikodkan keras dalam firmware zarah:

Bella diberi makan mengikut jadualBella diberi makan oleh butangBella diberi makan dengan arahan suara

Sekiranya haiwan kesayangan anda tidak bernama "Bella" anda mungkin mahu mengubahnya dalam firmware, dan nyalakan semula. Tukar teks dalam baris Particle.publish kod partikel.

Buat applet IFTTT baru. (perlu melakukan ini 3 kali, untuk setiap jenis acara)

Bermula dengan IF, cari Partikel dan pilih "Acara baru diterbitkan". Nama Acara mestilah Nama Acara Terbitan yang tepat yang anda ada dalam firmware anda. Contohnya "Bella diberi makan mengikut jadual" adalah nama peristiwa yang tepat dalam kod yang saya berikan kepada anda. Lihat tangkapan skrin semasa saya mengisinya untuk rujukan. Anda perlu membuat 2 lagi IFTTT untuk menangani acara lain juga. Applet ini akan membuat lembaran baru di pemacu google anda jika belum ada dan log peristiwa baru ke baris kosong seterusnya.

Disyorkan: