- Prasyarat:
- Konsep Kerja:
- Program Arduino IDE untuk ESP8266:
- Diagram Sirkuit dan Perangkat Keras:
- Port Forwarding IP ESP8266 Anda:
- Menginstal Aplikasi Moni Android:
- Membuat Applet menggunakan layanan IFTTT:
- Pengujian Proyek:
Selamat datang di Proyek menarik lainnya di mana kami akan membangun Sistem Otomasi Rumah dengan Kontrol Suara menggunakan modul Wi-Fi ESP8266, tempat Anda dapat mengontrol peralatan AC Rumah menggunakan Suara melalui Aplikasi Android dari mana saja di dunia. Ya, impian Anda untuk membuat beban Anda (Cahaya / Kipas) menjadi ON atau OFF hanya dengan menggunakan perintah suara akan menjadi kenyataan di akhir proyek ini. Proyek ini adalah variasi dari proyek kami sebelumnya Smart Junction Box for Home Automation di mana kami telah mengontrol Peralatan rumah tangga menggunakan Webserver melalui jaringan.
Ini Home Automation IOT berdasarkan Voice Dikendalikan proyek super mudah untuk membangun dan tidak dikenakan biaya banyak karena tidak mengharuskan Anda untuk membeli modul suara mahal. Seluruh proyek membutuhkan sekitar 500INR (8 USD) bagi saya untuk membangunnya. Juga ini adalah proyek independen mikrokontroler, artinya Anda tidak memerlukan MCU / MP seperti Arduino atau Raspberry pi. Seluruh proyek berjalan pada modul ESP8266. Pelajari lebih lanjut tentang ESP8266 di sini. Jadi, mari kita mulai berbicara….
Sebelumnya kami telah membahas banyak jenis otomatisasi Rumah menggunakan berbagai teknologi seperti:
- Otomatisasi Rumah Berbasis DTMF
- Home Automation Berbasis GSM dengan Arduino
- Otomatisasi Rumah Terkendali PC menggunakan Arduino
- Otomatisasi Rumah Terkendali Bluetooth menggunakan 8051
- IR Remote Controlled Home Automation menggunakan Arduino
- Proyek otomatisasi rumah menggunakan MATLAB dan Arduino
- LED RF Remote Controlled Menggunakan Raspberry Pi
- Otomatisasi Rumah Terkendali Ponsel Cerdas menggunakan Arduino
Prasyarat:
Proyek ini merupakan kelanjutan dari proyek kami sebelumnya Smart Junction Box for Home Automation menggunakan ESP8266 sehingga sebagian besar bagian perangkat keras telah tercakup dalam tutorial itu. Mohon dibaca sebelum melanjutkan dengan yang satu ini karena saya akan melewatkan informasi yang tercakup dalam tutorial itu. Untuk memberikan rekap kecil dari proyek kami sebelumnya, kami memodifikasi kotak Persimpangan (Papan Ekstensi) dalam tutorial itu yang dapat menghibur papan Perf yang terdiri dari dua Relai dan modul ESP8266. Dua relai (beban AC) dapat dialihkan dengan menggunakan halaman web yang dibuat oleh ESP8266 (dengan bertindak sebagai server web). Dalam tutorial ini saya hanya akan menambahkan beberapa fitur ke dalamnya sehingga kita juga dapat mengontrol beban AC dengan menggunakan perintah suara melalui Smart Phone.Kami tidak akan mencakup bagian Perangkat Keras apa pun dalam tutorial ini, perangkat keras dan Kode akan tetap sama dengan tutorial sebelumnya.
Juga mengetahui bagaimana menggunakan www.IFTTT.com akan memberi Anda keuntungan dalam proyek ini. Jika Anda tidak terbiasa dengan IFTTT, jangan khawatir saya akan menjelaskan bagaimana menggunakannya untuk tutorial khusus ini sehingga Anda bisa membuatnya berfungsi.
Konsep Kerja:
Saya berasumsi bahwa Anda telah membaca tutorial sebelumnya, dalam hal ini sekarang Anda harus tahu cara membangun kotak persimpangan itu dan cara Mengalihkan Beban dari jarak jauh dari browser web Anda. Untuk memungkinkan hal ini kami telah membuat alamat IP kami dialokasikan ke ESP8266 tersedia untuk umum. Ini dapat dilakukan dengan "Teknik penerusan port". Kemudian instal aplikasi seluler bernama "Moni" di perangkat seluler Android / iPhone Anda. Aplikasi ini akan mengenali ucapan kami dan mengkomunikasikan informasi tersebut ke IFTT Applet yang pada gilirannya akan mengontrol Beban melalui kait Web Maker.
Mungkin terdengar agak membosankan, tetapi semua hal ini telah dijelaskan dengan jelas dalam tutorial ini dan percayalah dengan beberapa klik semua hal di atas dapat dilakukan. Tutorial ini akan membantu Anda sebaik mungkin dengan bantuan Gambar dan Video. Di akhir tutorial ini, Anda akan dapat menghidupkan atau mematikan peralatan rumah tangga melalui suara Anda dari mana saja di dunia. Periksa Kode Lengkap dan Video Demo di akhir tutorial.
Periksa juga Lampu yang dikontrol Suara menggunakan Raspberry Pi dan Pengetikan Suara pada LCD 16x2.
Program Arduino IDE untuk ESP8266:
Sama seperti di proyek sebelumnya, kami akan memprogram modul ESP8266 kami dengan bantuan Arduino IDE. Ada sedikit modifikasi yang dilakukan dalam program ini. Modifikasi ini dibuat agar ESP8266 Anda terhubung ke alamat IP yang konstan setiap kali membuat koneksi dengan Router. Programnya persis sama dengan kode sebelumnya kecuali empat baris ini
// Dapatkan IP konstan setiap IPAddress ip (192, 168, 0, 104); // Ini harus menjadi IP gateway IPAddress modul ESP saya (192, 168, 0, 1); // setel gateway agar sesuai dengan jaringan Anda, sebagian besar gateway akan sama secara default Serial.print (F ("Setting static ip to:")); Serial.println (ip); Subnet IPAddress (255, 255, 255, 0); // setel subnet mask agar cocok dengan WiFi.config jaringan Anda (ip, gateway, subnet);
Di sini, di tempat IPAddress ip (192, 168, 0, 104); masukkan alamat IP yang Anda inginkan. Dalam hal ini ESP saya akan terhubung ke 192.168.0.104 sepanjang waktu dan saya cukup mengaksesnya dengan menggunakan IP ini di browser saya. Kode lengkap diberikan di akhir tutorial ini.
Diagram Sirkuit dan Perangkat Keras:
Skema dan perangkat keras untuk Peralatan Rumah Tangga yang dikendalikan Suara berbasis IoT ini sama dengan proyek Smart Junction kami sebelumnya dan saya telah menjelaskan skematiknya di sana, jadi silakan lakukan. Di sini Anda dapat melihat skema lengkap untuk referensi:
Port Forwarding IP ESP8266 Anda:
Langkah pertama adalah mengaktifkan Port forwarding di router (modem) Anda sehingga Anda dapat mengakses ESP Anda dari mana saja di dunia, hanya dengan memasukkan IP publik Anda. Setiap kali ESP8266 kami terhubung ke router rumah / kantor kami, itu akan diberi alamat IP unik dan Alamat IP ini digunakan untuk mengakses ESP8266 melalui browser web. Alamat IP ini dibatasi dalam Jaringan Rumah / Kantor Anda, artinya Anda tidak dapat mengaksesnya secara global; itu hanya dapat diakses oleh perangkat yang terhubung ke router Anda. Penerusan port adalah Teknik yang dengannya kita dapat membuat laman web ini dimuat secara global. Setelah penerusan port, Anda dapat menggunakan IP publik Anda untuk mengakses halaman web ini dari mana saja di dunia. Kedengarannya keren kan !! Mari kita lihat bagaimana kita bisa menyelesaikannya. Untuk melakukan ini, Anda mengetahui hal-hal berikut sebelumnya.
1. Nama pabrik dan alamat IP Router Anda. Ini dapat dengan mudah ditemukan dengan melihat router. Alamat IP juga akan disebutkan di stiker. Jika tidak Google tahu IP Router Anda.
2. Nama pengguna dan sandi halaman login router Anda. Sebagian besar perute memiliki nama pengguna sebagai "admin" dan kata sandi sebagai "admin".
3. Alamat IP yang dialokasikan untuk modul ESP8266 Anda. Ini adalah alamat yang Anda gunakan untuk mengakses halaman web modul ESP.
4. Alamat IP penyedia layanan Internet Anda (alamat IP publik). Ini dapat ditemukan hanya dengan Goggling "apa IP saya".
Setelah Anda memiliki semuanya, Anda dapat mengikuti langkah-langkah di bawah ini untuk meneruskan port, jika Anda terjebak dalam menemukan sesuatu, gunakan bagian komentar di bawah ini. Aku akan membantu mu keluar.
Langkah 1: Masuk ke halaman utilitas manajemen Web Router Anda dengan menggunakan alamat IP Router Anda, biasanya 192.168.1.1. Layar saya akan terlihat seperti ini di bawah
Langkah 2: Masukkan Nama pengguna "admin" secara default dan kata sandi "admin" secara default dan klik Login. Anda akan dibawa ke halaman utilitas yang akan terlihat seperti ini di bawah ini.
Sebagian besar informasi yang Anda lihat di sini sangat rahasia, oleh karena itu jangan membaginya dengan orang yang tidak diketahui, Anda dapat membahayakan keamanan internet Anda.
Langkah 3: Seperti yang ditunjukkan di atas, halaman Anda akan memiliki semua opsi yang terdaftar di kiri bawah. Tujuan kami adalah menemukan sesuatu yang bernama "Server Virtual". Saya memiliki milik saya yang terdaftar di bawah opsi Penerusan. Sebagian besar router akan mereka terdaftar sebagai 6, 7 atau 8 th opsi (sebagian besar di bawah pengaturan DHCP). Temukan dan klik di atasnya
Langkah 4: Sekarang Anda harus memasukkan alamat IP yang dialokasikan untuk modul ESP dan nomor port untuk meneruskan IP kami. Dalam kasus saya, saya harus mengklik Tambah baru dan memasukkan detail itu. Ini mungkin sedikit berbeda untuk Anda. Alamat IP adalah yang Anda gunakan untuk mengakses halaman web modul ESP Anda. Nomor port bisa menjadi pilihan Anda tetapi mari kita gunakan "80" untuk tujuan kesederhanaan. IP yang dialokasikan ke modul ESP8266 saya adalah 192.168.0.104 dan karenanya penerusan saya akan terlihat di bawah ini:
Langkah 5: Sekarang kita harus mengetahui alamat IP publik kita. Anda dapat menemukan Goggling saya untuk “What is my IP”. IP ISP Anda harus dijaga kerahasiaannya. Demi tutorial ini, mari kita asumsikan bahwa alamat IP saya adalah 987: 654: 321: 123. Saya akan menggunakan ini sebagai IP ISP saya untuk sisa tutorial saya.
Catatan: Anda ISP mungkin telah memberikan Anda IP Statis / Dinamis, jika itu adalah IP dinamis, IP Anda akan berubah dengan setiap restart Modem / router. Dalam hal ini Anda harus menggunakan sesuatu seperti DynDNS. Tapi, itu di luar cakupan tutorial ini. Bahkan jika itu adalah IP Dinamis itu akan bekerja untuk Anda selama Anda tidak mengatur ulang Router Anda.
Apakah penerusan port kami berhasil, kami dapat memeriksanya dengan memasukkan IP ISP: nama port (987: 654: 321: 123: 80) ke browser kami dan memeriksa apakah halaman web ESP dimuat. Jika semuanya berjalan seperti yang diharapkan, Anda sekarang harus dapat mengaktifkan Beban dari mana saja di dunia dengan menggunakan alamat IP ISP Anda.
Menginstal Aplikasi Moni Android:
Moni adalah aplikasi yang tersedia untuk Android, Windows, iTunes, dan bahkan Skype. Anda dapat mengunduh aplikasi ini ke ponsel Anda. Moni.ai memiliki lebih banyak kemampuan selain hanya menanggapi perintah suara Anda, ini sangat ramah pengembang dan Anda dapat dengan cepat mendefinisikan percakapan secara visual, dan terhubung ke layanan. Moni.ai menggunakan aplikasi bernama Node-Red yang dengannya Anda dapat dengan mudah membuat saluran Suara dan membangun sistem Chabot (AI) Anda sendiri untuk Bisnis / Proyek Anda dan mengotomatiskannya dengan bahasa alami Anda. Hal terbaiknya adalah Moni benar-benar gratis untuk penggunaan non-komersial.
Saya menggunakan ponsel Android dan karenanya saya langsung mengunduh Moni dari Google Play Store. Setelah menginstal buat akun gratis Anda dan masuk ke dalamnya, aplikasi Anda akan terlihat seperti ini di bawah ini:
Anda dapat menggunakan ini seperti asisten Virtual lainnya, seperti menanyakan cuaca, waktu, dll. Tetapi tambahannya adalah dapat merespons applet Anda yang dibuat oleh layanan Ifttt Anda. Mari kita lihat cara membuat Applet untuk Aplikasi Anda sekarang.
Membuat Applet menggunakan layanan IFTTT:
Kami selangkah lagi untuk menyelesaikan proyek ini. Langkah terakhir adalah membuat Applet di situs IFTTT. Di sinilah kami menginstruksikan Moni kami untuk perintah suara yang berbeda untuk mengontrol peralatan Rumah tangga yang berbeda di rumah.
Saya menggunakan kotak Persimpangan yang dikendalikan Suara ini untuk mengalihkan beban Akuarium saya (cahaya / Filter) seperti yang ditunjukkan pada video di bawah ini. Oleh karena itu saya menyesuaikan Applet untuk kebutuhan itu, Anda dapat menyesuaikannya untuk tujuan Anda. Ikuti langkah-langkah di bawah ini:
Langkah 1: Kunjungi www.IFTTT.com dan Login dengan akun Anda. Jika baru maka Daftar.
Langkah 2: Sekarang klik "Search" dan ketik Make Webhooks. Pilih dan klik "Hubungkan". Ikuti langkah-langkah untuk terhubung dengannya.
Langkah 3: Sekarang klik lagi pada "Search" dan ketik Moni. Pilih Moni dan klik "Hubungkan". Masuk dengan akun IFTTT Anda untuk mengaktifkan koneksi.
Langkah 4: Kami telah terhubung ke layanan "Maker Webhooks" dan "Moni". Sekarang biarkan Anda membuat Applet dengan layanan ini. Klik pada My Applet dan kemudian "New Applet". Anda akan melihat sesuatu seperti ini:
Di layar ini Anda harus mengklik "ini" dan memilih "Moni". Kemudian klik "Minta Moni untuk melakukan tindakan", Anda akan dibawa ke layar di bawah.
Langkah 5: Isi detail seperti yang telah saya isi pada gambar di atas. Di sini tugas saya adalah menyalakan Lampu Akuarium (Beban 1) ketika saya mengatakan "Nyalakan Lampu Akuarium". Kemudian Klik "Buat Pemicu"
Langkah 6: Anda akan dibawa kembali ke layar "JIKA INI DARI ITU". Sekarang, klik "itu" dan ketik "Maker Webhooks" dan pilih. Kemudian klik "Buat permintaan web". Anda akan dibawa ke layar di bawah
Ini adalah langkah penting di mana Anda kemungkinan besar akan membuat kesalahan. Di halaman ini masukkan saja URL yang ingin Anda muat. Dalam kasus saya, saya ingin menghidupkan beban yang terhubung ke switch1 maka baris http: // 987: 654: 321: 123 / switch1On digunakan, Anda perlu mengganti IP saya dengan alamat IP publik Anda. Ini hanya akan berfungsi jika Anda telah menggunakan kode saya di tutorial sebelumnya. Daftar lengkap URL untuk mengalihkan beban diberikan di bawah ini.
URL |
Kata kunci dari Program |
Tindakan |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 dibuat tinggi, sehingga MENGAKTIFKAN Beban 1 |
http: // 987: 654: 321: 123 / switch1Off |
Switch1Off |
GPIO_0 dibuat rendah, sehingga mematikan Beban 1 |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 dibuat tinggi, sehingga MENGAKTIFKAN Beban 2 |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 diturunkan, sehingga mematikan Beban 1 |
Setelah Anda memasukkan URL yang diinginkan, klik "Buat tindakan". Kemudian klik Selesai. Demikian pula Anda dapat membuat 4 Applet untuk MENGAKTIFKAN / MENONAKTIFKAN kedua beban di kotak Persimpangan kami.
Itu saja applet Anda siap beraksi dan itu akan muncul di bawah "My applet" seperti yang ditunjukkan di bawah ini.
Saatnya menguji kode kita…….
Pengujian Proyek:
Akhirnya kami siap dengan proyek kami. Mari kita uji. Nyalakan dan buka aplikasi Moni di ponsel Anda. Klik ikon Mikrofon dan ucapkan perintahnya. Dalam kasus saya ini adalah "Nyalakan Lampu Akuarium" dan itu harus mengubah balasan dengan "OK" dan menyalakan lampu. Lihat kode lengkap dan Video demo di bawah ini.
Semoga Anda menyukai proyek ini dan berhasil. Jika Anda terjebak di suatu tempat, gunakan bagian komentar di bawah dan saya pasti akan membantu Anda. Akan bertemu dengan Anda dengan proyek menarik lainnya sampai saat itu tetap disini.
Juga periksa Proyek berbasis IoT kami yang lain di sini.