Daftar Isi:

Pemantauan Rumah Pintar Menggunakan Alexa dan Arduino: 9 Langkah (dengan Gambar)
Pemantauan Rumah Pintar Menggunakan Alexa dan Arduino: 9 Langkah (dengan Gambar)

Video: Pemantauan Rumah Pintar Menggunakan Alexa dan Arduino: 9 Langkah (dengan Gambar)

Video: Pemantauan Rumah Pintar Menggunakan Alexa dan Arduino: 9 Langkah (dengan Gambar)
Video: Tonton Sampai Habis !!! Belajar Arduino Di Jamin Bisa 2024, November
Anonim
Image
Image
Mengumpulkan Bahan
Mengumpulkan Bahan

Di dunia saat ini orang menghabiskan lebih banyak waktu di tempat kerja daripada di rumah mereka. Oleh karena itu diperlukan suatu sistem pemantauan rumah dimana masyarakat dapat mengetahui kondisi rumah saat mereka sedang bekerja. Akan lebih baik lagi jika seseorang bisa bertanya kepada "seseorang" tentang rumahnya selama jam kerja. Hal ini dapat dicapai dengan memanfaatkan Amazon Alexa sebagai asisten yang dapat memberikan informasi yang dibutuhkan pengguna tentang rumah mereka.

Tidak Hanya Tempat Kerja, pengguna dapat mengetahui kondisi rumah di mana saja di dunia selama memiliki koneksi internet dan Amazon Alexa.

Fungsi berikut diimplementasikan dalam proyek ini:

1) Kontrol Perangkat rumah tangga seperti kipas dan lampu

2) Memberitahu status perangkat

3) Menceritakan kondisi cuaca rumah (suhu dan kelembaban)

4) Mengirim snapshot interior rumah kepada pengguna melalui Gmail bila diperlukan.

5) Mengirim pemberitahuan jika -

* Penyusup (juga mengirim foto)

* Api

* Tamu (juga mengirim foto)

Langkah 1: Mengumpulkan Bahan

Mengumpulkan Bahan
Mengumpulkan Bahan
Mengumpulkan Bahan
Mengumpulkan Bahan
Mengumpulkan Bahan
Mengumpulkan Bahan

Bahan yang dibutuhkan

Arduino Uno

Modul Wifi ESP8266

Linkit Smart 7688 Duo

DHT11

Relay

Sensor hambatan IR

Kamera web

Amazon Echo Dot

Kabel papan tempat memotong roti dan jumper

Perangkat Lunak dan Layanan online:

Thingspeak.com

Arduino IDE

Kumpulan Keterampilan Amazon Alexa

Amazon Alexa Echosim.io (untuk Menguji Keterampilan)

Tanpa backend

Kotak Dorong

Langkah 2: Memprogram Arduino dan ESP8266

Memprogram Arduino dan ESP8266
Memprogram Arduino dan ESP8266
Memprogram Arduino dan ESP8266
Memprogram Arduino dan ESP8266

Unduh Arduino IDE Dari situs web resmi:

Buka Arduino IDE dan buka file-> preferensi-> di jenis URL pengelola papan tambahan -

Buka alat -> papan -> Manajer Papan dan instal paket esp8266 yang ditemukan akhirnya.

Untuk memprogram arduino cukup tancapkan kabel USB dari arduino ke komputer dan pilih Arduino/Genuino UNO di alat-> papan. Pastikan juga Anda memilih hak port COM di Alat (nomor port COM dapat ditemukan di Manajer perangkat). Tulis Program yang diperlukan, Kompilasi dan klik unggah jika tidak ada kesalahan.

Untuk memprogram ESP8266 buat koneksi seperti yang ditunjukkan pada diagram. sambungkan usb dari arduino ke komputer. Di alat-> papan-> pilih Generik ESP8266 dan juga pilih port COM kanan. Tulis Program yang diperlukan, Kompilasi dan klik unggah jika tidak ada kesalahan. Pastikan Anda menghubungkan Arduino RST ke GND (arduino bertindak seperti programmer ke ESP8266).

Dalam Proyek Ini Pertama, ESP8266 diprogram dan kemudian koneksi sirkuit dilepas. Kemudian Sirkuit disambungkan kembali seperti yang ditunjukkan pada Gambar bernama "Circuit Connections". Dan kemudian arduino diprogram.

Langkah 3: Mengonfigurasi Thingspeak.com

Mengonfigurasi Thingspeak.com
Mengonfigurasi Thingspeak.com

Buat akun di thingspeak.com.

kami menggunakan saluran di thingspeak untuk menyimpan informasi kontrol perangkat dan mengarahkannya ke arduino/alexa. kami juga menyimpan nilai suhu dan kelembaban di saluran. Ini seperti lokasi penyimpanan informasi.

Masuk ke thingspeak, buka saluran saluran saya dan buat saluran baru. Berikan nama dan deskripsi untuk saluran Anda. Dalam proyek kami, kami membutuhkan 8 saluran (Anda dapat melakukan pekerjaan dengan menggunakan lebih sedikit saluran tetapi akan sedikit rumit saat memprogram). Juga thingspeak memiliki batasan waktu saat memperbarui saluran. Harus ada jeda 10-15 detik antara pembaruan saluran tertentu secara berurutan.

Delapan saluran dengan nilai dan artinya diberikan di bawah ini

nama saluran (nilai1-arti, nilai2-arti, dll):

1) Kontrol perangkat (0 -lightON, 1- lightOff, 2- fan ON, 3- Fan Off)

2) status lampu (0- lampu mati, 1- lampu menyala)

3) status kipas (0- kipas mati, 1- kipas hidup)

4) kelembaban (nilai kelembaban)

5) suhu (nilai suhu)

6) pemberitahuan penyusup (1- peringatan penyusup)

7) pemberitahuan kebakaran (1- peringatan kebakaran)

8) pemberitahuan tamu (1- peringatan tamu)

ketika Anda mengklik saluran apa pun, Anda dapat melihat id salurannya dan menulis kunci API di tab kunci API. ID saluran diperlukan untuk mendapatkan informasi/nilai dalam saluran. Dan kunci tulis diperlukan untuk menyimpan nilai di saluran.

permintaan http untuk memperbarui saluran adalah:

api.thingspeak.com/update?api_key=&field1=

diganti dengan tombol tulis saluran yang sesuai dan dapat (0/1 dalam hal kontrol perangkat atau nilai suhu/kelembaban)

Permintaan http untuk membaca nilai dari saluran adalah:

api.thingspeak.com/channels//field/field1/last.html

digantikan oleh id saluran tertentu dari saluran yang ingin kita baca.

Langkah 4: Program

Program ini dibagi menjadi 3 bagian:

A) Program untuk Arduino: program untuk Arduino sangat sederhana. Ini menerima data dari ESP8266 secara serial dan berdasarkan data yang diterima perangkat dikendalikan. Informasi lebih lanjut tentang program ini dapat ditemukan di komentar di program itu sendiri.

B) Program untuk ESP8266: program untuk ESP8266 melibatkan 3 hal

1) memperbarui suhu dan kelembaban menggunakan permintaan

client.print(String("GET ") + "/update?key=&field1="+humidity+" HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Koneksi: tutup \r\n\r\n"); //perbarui kelembapan

client.print(String("GET ") + "/update?key=&field1="+temperature+" HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Koneksi: tutup \r\n\r\n"); // perbarui suhu

itu digantikan oleh kunci tulis yang sesuai yang ditemukan di saluran thingspeak untuk kelembaban dan suhu masing-masing. dan hostnya adalah api.thingspeak.com.

unduh perpustakaan dht dari:

2) membaca dari saluran yang sesuai dari thingspeak dan mengontrol perangkat berdasarkan nilai yang diperoleh: client.print(String("GET ") + "/channels//field/field1/last.html HTTP/1.1\r\n" + " Host: " + host + "\r\n" + "Koneksi: tutup\r\n\r\n");

di mana diganti dengan id saluran yang sesuai yang ditemukan di thingspeak.

3) Mengirim peringatan jika terjadi suhu tinggi melalui kotak dorong

String host1="api.pushingbox.com";

client.print(String("GET ") + "/pushingbox?devid= HTTP/1.1\r\n" + "Host: " + host1 + "\r\n" + "Koneksi: tutup\r\n\r \n");

di mana diganti dengan id perangkat Anda di kotak dorong.

Langkah 5: Mengonfigurasi Linkit Smart 7688 Duo dan Webcam

Mengonfigurasi Linkit Smart 7688 Duo dan Webcam
Mengonfigurasi Linkit Smart 7688 Duo dan Webcam
Mengonfigurasi Linkit Smart 7688 Duo dan Webcam
Mengonfigurasi Linkit Smart 7688 Duo dan Webcam
Mengonfigurasi Linkit Smart 7688 Duo dan Webcam
Mengonfigurasi Linkit Smart 7688 Duo dan Webcam

Dalam proyek ini webcam dan linkit smart 7688 duo digunakan untuk mengambil foto yang diperlukan dan mengirimkannya ke pengguna. Anda juga dapat menggunakan modul kamera arduino dan menghubungkannya dengan arduino atau menggunakan kamera IP apa pun.

Tekan dan tahan tombol wifi pada linkit smart 7688 selama 20 detik untuk mereset board. Kemudian setelah pengaturan wifi diatur ulang, Anda akan dapat melihat nama titik aksesnya di koneksi jaringan nirkabel. Sekarang hubungkan komputer ke jaringan itu. setelah Anda menghubungkannya, buka browser dan ketik 192.168.100.1 di bilah alamat. Anda akan dapat melihat portalnya. atur kata sandi untuk masuk ke portalnya.

Setelah Anda masuk, buka tab jaringan dan pilih mode Stasiun (kami membutuhkannya (linkit smart 7688 duo) untuk mengakses internet) dan hubungkan ke jaringan Wifi Anda dan tekan Konfigurasi dan mulai ulang.

Setelah papan itu restart akan diberikan alamat IP lokal. Cari tahu alamatnya menggunakan alat IP atau portal router Anda. Dalam kasus saya itu 192.168.1.4. Sekarang ketik alamat IP lokal di bilah alamat browser. pastikan komputer terhubung ke jaringan yang sama dengan smart linkit. Anda akan diminta untuk login kembali.

Untuk mengaktifkan streaming dari webcam, Anda harus mengaktifkan streamer-j.webp

Setelah Anda masuk, buka tab layanan dan centang aktifkan streamer-j.webp

Setelah pengaturan untuk dapat menghubungkan webcam Anda ke host usb linkit smart 7688 duo melalui kabel OTG. Sekarang untuk melihat Stream buka browser dan ketik: di bilah alamat. dalam kasus saya ini adalah 192.168.1.4:4400

untuk mengambil snap shot ketik perintah:?action=snapshot

Sekarang gambar ini tersedia secara lokal tetapi kita perlu membuat ini tersedia untuk mendorong layanan kotak. Untuk mencapai ini kita perlu melakukan port forwarding. Port forwarding dapat dilakukan di portal router. Proses id berbeda untuk router yang berbeda. Hanya google untuk mengetahui cara port forward untuk router tertentu. Biasanya tersedia di bawah layanan NAT. Setelah Anda menggunakan port forward dapat mengakses port ini (yaitu.. 4440) dari IP eksternal Anda. IP eksternal dapat ditemukan dengan mengikat "whats my ip" di google.

Anda harus memasukkan alamat ini

yaitu..

di kotak dorong (yang dijelaskan pada langkah berikutnya) sehingga kotak dorong dapat mengakses gambar ini dan melampirkannya ke surat dan mengirimkannya kepada Anda kapan pun diperlukan.

Anda juga dapat menyimpan gambar dalam kartu sd karena Linkit smart 7688 duo juga dilengkapi dengan slot kartu sd untuk menyimpan informasi. Informasi lebih lanjut tentang ini dapat ditemukan di:

docs.labs.mediatek.com/resource/linkit-sm…

Langkah 6: Konfigurasi PushingBox

Mengkonfigurasi PushingBox
Mengkonfigurasi PushingBox

pushbox digunakan untuk mengirim pemberitahuan tentang berbagai peringatan dalam proyek ke gmail.

masuk ke pushbox menggunakan akun google:

buka layanan saya tambahkan layanan. ada banyak layanan untuk dipilih seperti Gmail, twitter, push notification untuk android dll…

pilih Gmail (karena kami perlu mengirim foto sebagai lampiran) dan isi konfigurasi nama gmail yang sesuai dan id gmail pengguna yang harus dikirimi peringatan.

buka skenario saya dan buat skenario baru. beri nama skenario (mis: ALERT) tambahkan layanan yang dibuat sebelumnya.

tulis subjek dan isi surat yang sesuai dan masukkan url untuk mengambil tangkapan layar web cam untuk melampirkan foto. Buat skenario berbeda untuk alerts.api berbeda untuk menjalankan skenario kotak dorong adalah:

Langkah 7: Membuat Skill Alexa Menggunakan Backendless

Membuat Skill Alexa Menggunakan Backendless
Membuat Skill Alexa Menggunakan Backendless
Membuat Skill Alexa Menggunakan Backendless
Membuat Skill Alexa Menggunakan Backendless
Membuat Skill Alexa Menggunakan Backendless
Membuat Skill Alexa Menggunakan Backendless

backendless digunakan untuk membuat skill alexa. Ini adalah pemrograman drag and drop sederhana yang digunakan untuk membuat keterampilan alexa (atau program apa pun) yang dapat diakses oleh API backendless.

buat akun di backendless:

  • Masuk ke akun Anda di akun backendless. klik Buat aplikasi dan beri nama untuk aplikasi Anda
  • Klik ikon Logika Bisnis yang terletak di bilah ikon di sebelah kiri. Anda akan melihat layar LAYANAN API.
  • Klik ikon “+” untuk membuat layanan baru. Pastikan untuk memilih CODELESS di popup "Layanan Baru". Masukkan "AlexaService" untuk nama layanan. Klik tombol SIMPAN:
  • Backendless membuat Layanan API dan akan meminta Anda membuat metode untuk layanan tersebut. Ini akan menjadi metode yang akan memproses permintaan dari Alexa. Masukkan "handleRequest" untuk nama metode. Pastikan untuk memilih POST untuk operasi REST, dan nyatakan argumen dengan nama "req" dan ketik "Any Object" seperti yang ditunjukkan:
  • Backendless membuat placeholder untuk logika tanpa kode dari metode ini. Klik tombol EDIT untuk mulai beralih ke Codeless Logic Designer. Di blok placeholder fungsi yang dibuat, klik area yang bertuliskan "doSomething" dan ubah menjadi "sendAlexaResponse". Fungsi ini digunakan untuk membuat alexa mengatakan sesuatu yang dapat diteruskan sebagai argumen. Klik tombol SIMPAN agar fungsi tersebut disimpan.
  • Klik ikon roda gigi yang terletak di blok ungu tepat di sebelah kata "Fungsi". Tambahkan dua argumen dengan menyeret blok input seperti yang ditunjukkan pada gambar di bawah. Tetapkan nama argumen sebagai "whatToSay" dan "waitForResponse". Perhatikan bahwa saat Anda menambahkan argumen, area Blok Konteks secara otomatis diisi dengan blok yang mewakili nilai argumen.
  • Ubah logika fungsi sehingga terlihat seperti pada gambar. Untuk blok "Buat Objek", gunakan ikon roda gigi untuk mengubah nama properti objek. Jangan lupa untuk menyimpan pekerjaan Anda dengan mengklik tombol SIMPAN.
  • Sekarang setelah fungsi kustom dibuat, beralih kembali ke metode handleRequest dari layanan AlexaService. Klik kategori Fungsi Kustom di bilah alat di sebelah kiri dan seret blok sendAlexaResponse untuk terhubung dengan konektor kembali metode layanan Anda
  • Langkah-langkah di atas juga dapat ditemukan di situs web mereka:
  • Klik node “Add New” di bawah Functions di bagian BROWSER. Di blok placeholder fungsi yang dibuat, klik area yang bertuliskan “doSomething” dan ubah menjadi “getIntentName”modifikasi blok sehingga fungsi terlihat seperti gambar yang ditampilkan. Ini akan mendapatkan nama maksud berdasarkan contoh ucapan. Kembali ke api services->handle request di bagian browser. Variabel dan logika dibuat dari bagian sistem. Buat variabel berikut yang ditunjukkan pada gambar.
  • selanjutnya kita simpan nama intent untuk variabel request. Dan kemudian bandingkan dengan niat. misalnya jika permintaannya adalah "pengantar" maka variabel respons diatur ke "hai! Saya bisa mengendalikan ……." dan jawaban ini akhirnya dibacakan oleh alexa. ubah blok seperti yang ditunjukkan.
  • jika permintaannya adalah maksud LightsOn maka kami memperbarui saluran thingspeak ke '0' menggunakan http get request dan pada saat yang sama kami memperbarui status perangkat (1/0 tergantung On/Off). Hal yang sama diulang untuk LightsOff, FanOn dan FanOff.
  • Untuk cuaca kita membaca dari saluran Temperatur dan kelembaban dan menyimpan hasilnya dalam variabel respon. Karena saluran hanya memberikan nilai, kami menambahkan teks untuk membuat respons menjadi bermakna
  • untuk snapshot ruang tamu kami menjalankan skenario kotak dorong
  • untuk status perangkat, kami membaca informasi dari saluran status thingspeak:
  • untuk pemberitahuan dan peringatan yang kami baca dari saluran peringatan (api, penyusup, dan tamu):
  • berdasarkan nilai yang kami dapatkan dari bidang notifikasi, pesan peringatan yang sesuai disimpan dalam variabel respond0. jika tidak ada notifikasi maka tidak ada pesan notifikasi yang tersimpan.
  • setelah notifikasi dibacakan maka '0' diperbarui di saluran notifikasi sehingga alexa tidak akan membaca notifikasi yang sama lagi. Kemudian akhirnya berdasarkan permintaan tersebut, variabel respond0/respond dibacakan.

Langkah 8: Mengonfigurasi Keterampilan Alexa di Konsol Pengembang Amazon:

Mengonfigurasi Keterampilan Alexa di Konsol Pengembang Amazon
Mengonfigurasi Keterampilan Alexa di Konsol Pengembang Amazon
Mengonfigurasi Keterampilan Alexa di Konsol Pengembang Amazon
Mengonfigurasi Keterampilan Alexa di Konsol Pengembang Amazon
Mengonfigurasi Keterampilan Alexa di Konsol Pengembang Amazon
Mengonfigurasi Keterampilan Alexa di Konsol Pengembang Amazon

buka konsol pengembang amazon dan masuk menggunakan akun amazon.

pergi ke konsol pengembang dan klik pada tab ALEXA. Klik pada kit keterampilan alexa memulai.

buat jenis keterampilan khusus, beri nama dan nama panggilan untuk keterampilan tersebut. maksud dan contoh ucapan masing-masing diberikan dalam kode.

di tab konfigurasi pilih HTTPS sebagai jenis titik akhir layanan isi URL default dengan URL API dari backendless. Pilih opsi ke-2 di Sertifikat untuk titik akhir default di sertifikat SSL. Anda juga dapat menguji keterampilan menggunakan simulator tes.

Setelah tes selesai, Anda dapat mempublikasikan keterampilan dengan informasi publikasi yang diperlukan.

Langkah 9: Pengaturan Akhir dan Selesai

Pengaturan Akhir dan Selesai!
Pengaturan Akhir dan Selesai!
Pengaturan Akhir dan Selesai!
Pengaturan Akhir dan Selesai!

Buat koneksi sirkuit seperti yang ditunjukkan.

Terkadang ESP8266 tidak berfungsi karena arus tidak mencukupi. Jadi, meskipun disebutkan dalam rangkaian, disarankan untuk menyalakan ESP8266 dari sumber 3.3v yang terpisah. Jika anda menggunakan power bank pastikan anda menurunkan tegangan dari 5v menjadi 3.3v menggunakan regulator tegangan 3.3v. Upload program ke ESP8266 dan arduino. Saya telah menunjukkan koneksi ke bohlam, hal yang sama dapat diperluas ke kipas atau perangkat apa pun. Akhirnya gunakan amazon echo atau echosim.io untuk menguji keterampilan Anda.

Anda harus mengaktifkan keterampilan menggunakan nama panggilan (seperti kasus saya - "rumah saya"). Terkadang itu tidak akan berfungsi jika digunakan tanpa nama panggilan seperti yang telah saya tunjukkan beberapa kali di video saya

Semoga Anda menikmati tutorialnya!

Terima kasih!

Direkomendasikan: