- Prasyarat:
- Konsep Kerja:
- Program Arduino IDE untuk ESP8266:
- Rajah Litar dan Perkakasan:
- Port Memajukan IP ESP8266 anda:
- Memasang Aplikasi Moni Android:
- Membuat Applet menggunakan perkhidmatan IFTTT:
- Pengujian Projek:
Selamat datang di Projek lain yang menarik di mana kami akan membina Sistem Automasi Rumah yang Dikawal Suara menggunakan modul Wi-Fi ESP8266, di mana anda boleh mengawal peralatan AC Rumah anda menggunakan Suara anda melalui Aplikasi Android dari mana sahaja di dunia. Ya, impian anda untuk membuat muatan (Ringan / Kipas) anda hidup atau mati dengan hanya menggunakan arahan suara akan menjadi kenyataan pada akhir projek ini. Projek ini adalah variasi dari projek sebelumnya Smart Junction Box untuk Automasi Rumah di mana kami telah mengendalikan Peralatan rumah menggunakan Webserver melalui rangkaian.
Ini Home Automation Kawalan Suara berdasarkan IOT projek adalah sangat mudah untuk membina dan tidak kos anda banyak kerana ia tidak memerlukan anda untuk membeli mana-mana modul suara mahal. Keseluruhan projek memerlukan sekitar 500INR (8 USD) untuk saya membinanya. Ini juga adalah projek bebas mikrokontroler, yang bermaksud anda tidak memerlukan MCU / MP seperti Arduino atau Raspberry pi. Keseluruhan projek berjalan pada modul ESP8266. Ketahui lebih lanjut mengenai ESP8266 di sini. Oleh itu, marilah kita mula bercakap….
Sebelum ini kami telah merangkumi banyak jenis automasi Rumah menggunakan teknologi yang berbeza seperti:
- Automasi Rumah Berasaskan DTMF
- Automasi Rumah Berasaskan GSM menggunakan Arduino
- Automasi Rumah yang Dikendalikan PC menggunakan Arduino
- Automasi Rumah Terkawal Bluetooth menggunakan 8051
- Automasi Rumah Terkawal IR menggunakan Arduino
- projek automasi rumah menggunakan MATLAB dan Arduino
- LED Kawalan Jauh RF Menggunakan Raspberry Pi
- Automasi Rumah Terkawal Telefon Pintar menggunakan Arduino
Prasyarat:
Projek ini merupakan kesinambungan dari projek sebelumnya Smart Junction Box untuk Automasi Rumah menggunakan ESP8266 sehingga sebahagian bahagian perkakasan telah diliputi dalam tutorial itu. Baca dahulu sebelum meneruskan yang ini kerana saya akan melangkau maklumat yang diliputi dalam tutorial itu. Untuk memberikan ringkasan kecil dari projek sebelumnya, kami mengubah kotak Junction (Extension Board) dalam tutorial itu yang dapat menghiburkan papan Perf yang terdiri daripada dua Relay dan modul ESP8266. Kedua-dua geganti (beban AC) dapat dihidupkan dengan menggunakan laman web yang dibuat oleh ESP8266 (dengan bertindak sebagai pelayan web). Dalam tutorial ini saya hanya akan menambahkan beberapa ciri padanya sehingga kita juga dapat mengendalikan beban AC dengan menggunakan perintah suara melalui Telefon Pintar.Kami tidak akan merangkumi bahagian Perkakasan dalam tutorial ini, perkakasan dan Kod akan tetap sama dengan tutorial sebelumnya.
Mengetahui bagaimana menggunakan www.IFTTT.com akan memberi anda kelebihan dalam projek ini. Sekiranya anda tidak biasa dengan IFTTT, jangan risau saya akan menerangkan cara menggunakannya untuk tutorial ini agar anda dapat berfungsi.
Konsep Kerja:
Saya menganggap bahawa anda telah membaca tutorial sebelumnya, dalam hal ini sekarang anda harus tahu bagaimana membina kotak persimpangan itu dan bagaimana Mengalih Beban dari jarak jauh dari penyemak imbas web anda. Untuk menjadikannya mungkin, kami menyediakan alamat IP kami untuk ESP8266 untuk umum. Ini dapat dilakukan dengan "Port forwarding teknik". Kemudian pasang aplikasi mudah alih yang disebut "Moni" pada peranti mudah alih Android / IPhone anda. Aplikasi ini akan mengenali ucapan kami dan menyampaikan maklumat tersebut ke IFTT Applet yang seterusnya akan mengawal kaitan Beban melalui Pembuat Web.
Mungkin terdengar agak membosankan, tetapi semua perkara ini telah dijelaskan dengan jelas dalam tutorial ini dan percayalah dengan beberapa klik semua perkara di atas dapat dibuat. Tutorial ini akan membantu anda dengan cara terbaik dengan bantuan Gambar dan Video. Pada akhir tutorial ini, anda akan dapat menghidupkan atau mematikan perkakas rumah anda melalui suara anda dari mana sahaja di dunia. Lihat Kod Penuh dan Video Demo di akhir tutorial.
Periksa juga Lampu yang dikawal suara menggunakan Raspberry Pi dan Penaipan suara pada LCD 16x2.
Program Arduino IDE untuk ESP8266:
Sama seperti projek sebelumnya, kami akan memprogram modul ESP8266 kami dengan bantuan Arduino IDE. Terdapat sedikit pengubahsuaian yang dibuat dalam program ini. Pengubahsuaian ini dibuat supaya ESP8266 anda tersambung ke alamat IP tetap setiap kali ia membuat sambungan dengan Router. Program ini sama seperti kod sebelumnya kecuali empat baris ini
// Dapatkan IP tetap setiap kali IPAddress IP (192, 168, 0, 104); // Ini harus menjadi IP gerbang IPAddress modul ESP saya (192, 168, 0, 1); // tetapkan gerbang agar sesuai dengan rangkaian anda, kebanyakan gerbang akan sama dengan Serial.print lalai (F ("Menetapkan ip statik ke:")); Bersiri.println (ip); Subnet IPAddress (255, 255, 255, 0); // tetapkan topeng subnet agar sesuai dengan WiFi.config rangkaian anda (ip, gateway, subnet);
Di sini, di tempat IPAddress ip (192, 168, 0, 104); masukkan alamat IP yang anda mahukan. Dalam kes ini, ESP saya akan dihubungkan ke 192.168.0.104 sepanjang masa dan saya boleh mengaksesnya dengan menggunakan IP ini di penyemak imbas saya. Kod lengkap yang diberikan pada akhir tutorial ini.
Rajah Litar dan Perkakasan:
Skema dan perkakasan untuk Peralatan Rumah yang dikendalikan oleh suara berasaskan IoT ini sama dengan projek Smart Junction kami yang lalu dan saya telah menjelaskan skema di sana dengan senang hati melaluinya. Di sini anda dapat melihat skema lengkap untuk rujukan:
Port Memajukan 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 awam anda. Setiap kali ESP8266 kami menyambung ke penghala rumah / pejabat kami, ia akan diberi alamat IP yang unik dan Alamat IP ini digunakan untuk mengakses ESP8266 melalui penyemak imbas web. Alamat IP ini dibatasi dalam Rangkaian Rumah / Pejabat anda, yang bermaksud anda tidak dapat mengaksesnya secara global; ia hanya dapat diakses oleh peranti yang disambungkan ke penghala anda. Port forwarding adalah Teknik yang boleh digunakan untuk memuatkan halaman web ini secara global. Selepas penghantaran port, anda boleh menggunakan IP awam anda untuk mengakses laman web ini dari mana sahaja di dunia. Bunyi sejuk betul !! Mari lihat bagaimana kita dapat menyelesaikannya. Untuk melakukan ini, anda sudah mengetahui perkara berikut terlebih dahulu.
1. Nama pengeluar dan alamat IP Router anda. Ini dapat dijumpai dengan mudah dengan melihat penghala. Alamat IP juga akan disebut pada pelekat. Sekiranya tidak Google untuk mengetahui IP Penghala anda.
2. Nama pengguna dan kata laluan halaman log masuk penghala anda. Sebilangan besar router akan mempunyai nama pengguna sebagai "admin" dan kata laluan sebagai "admin".
3. Alamat IP yang diperuntukkan untuk modul ESP8266 anda. Ini adalah alamat yang anda gunakan untuk mengakses laman web modul ESP.
4. Alamat IP penyedia perkhidmatan Internet anda (alamat IP awam). Ini dapat dijumpai dengan hanya Goggling "apa IP saya".
Setelah anda mempunyai segalanya, anda boleh mengikuti langkah-langkah untuk meneruskan penghantaran ke bawah, jika anda buntu mencari sesuatu, gunakan bahagian komen di bawah. Saya akan membantu anda.
Langkah 1: Log masuk ke halaman utiliti pengurusan Web Router anda dengan menggunakan alamat IP Router anda, biasanya 192.168.1.1. Skrin saya akan kelihatan seperti di bawah
Langkah 2: Masukkan nama Pengguna "admin" secara lalai dan kata laluan "admin" secara lalai dan klik pada Log Masuk. Anda akan dibawa ke halaman utiliti yang akan kelihatan seperti ini di bawah.
Sebilangan besar maklumat yang anda lihat di sini sangat rahsia, oleh itu jangan membaginya dengan orang lain yang tidak diketahui anda mungkin mempertaruhkan keselamatan internet anda.
Langkah 3: Seperti yang ditunjukkan di atas halaman anda akan mempunyai semua pilihan yang disenaraikan di bahagian bawah kiri. Tujuan kami adalah untuk mencari sesuatu nama "Virtual Server". Saya mempunyai senarai saya di bawah pilihan Pemajuan. Sebilangan besar router akan menjadikannya disenaraikan sebagai pilihan ke-6, 7 atau ke- 8 (kebanyakannya di bawah tetapan DHCP). Cari dan klik padanya
Langkah 4: Sekarang anda perlu memasukkan alamat IP yang diperuntukkan untuk modul ESP dan nombor port untuk meneruskan IP kami. Dalam kes saya, saya perlu mengklik Tambah baru dan memasukkan butiran tersebut. Mungkin sedikit berbeza bagi anda. Alamat IP adalah alamat yang anda gunakan untuk mengakses laman web modul ESP anda. Nombor port boleh menjadi pilihan anda tetapi biarkan kami menggunakan "80" untuk tujuan kesederhanaan. IP yang diperuntukkan untuk modul ESP8266 saya adalah 192.168.0.104 dan oleh itu penghantaran saya akan melihat sesuatu di bawah:
Langkah 5: Sekarang kita harus mengetahui alamat IP awam kita. Anda boleh mendapatkannya Goggling saya untuk "What is my IP". IP ISP anda harus dirahsiakan. Demi tutorial ini mari kita anggap bahawa 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 menyediakan IP Statik / Dinamik, jika itu adalah IP dinamik, IP anda akan berubah dengan setiap modem / penghala yang dimulakan semula. Sekiranya anda mesti menggunakan sesuatu seperti DynDNS. Tetapi, itu di luar ruang lingkup tutorial ini. Walaupun ia adalah IP Dinamik, ia akan berfungsi untuk anda selagi anda tidak menetapkan semula Router anda.
Maksudnya pemajuan port kami berjaya, kami dapat memastikannya dengan memasukkan ISP IP: portname (987: 654: 321: 123: 80) ke dalam penyemak imbas kami dan periksa sama ada halaman web ESP dimuat. Sekiranya semuanya berjalan seperti yang diharapkan, anda kini boleh menukar Beban dari mana saja di dunia dengan menggunakan alamat IP ISP anda.
Memasang Aplikasi Moni Android:
Moni adalah aplikasi yang tersedia untuk Android, Windows, iTunes dan bahkan Skype. Anda boleh memuat turun aplikasi ini ke telefon bimbit anda. Moni.ai mempunyai kemampuan yang jauh lebih banyak daripada sekadar menjawab arahan suara anda, ia sangat mesra pembangun dan anda dapat dengan cepat menentukan perbualan secara visual, dan menyambung ke perkhidmatan. Moni.ai menggunakan aplikasi bernama Node-Red yang mana anda boleh membuat saluran Suara dengan mudah dan membina sistem Chabot (AI) anda sendiri untuk Perniagaan / Projek anda dan mengautomasikannya dengan bahasa semula jadi. Perkara terbaik ialah Moni adalah percuma untuk penggunaan bukan komersial.
Saya menggunakan telefon Android dan oleh itu saya secara langsung memuat turun Moni dari gedung permainan Google. Setelah memasang buat akaun percuma anda dan log masuk ke dalamnya, aplikasi anda akan kelihatan seperti ini di bawah:
Anda boleh menggunakan ini seperti pembantu maya yang lain, seperti meminta cuaca, masa dan lain-lain. Tetapi apa yang tambahan ialah ia dapat bertindak balas terhadap applet anda yang dibuat oleh perkhidmatan Ifttt anda. Mari kita lihat bagaimana membuat Applet untuk Aplikasi anda sekarang.
Membuat Applet menggunakan perkhidmatan IFTTT:
Kami selangkah lagi untuk menyelesaikan projek ini. Langkah terakhir adalah membuat Applet di laman web IFTTT. Di sinilah kami memerintahkan Moni kami untuk arahan suara yang berbeza untuk mengawal perkakas rumah yang berbeza di rumah.
Saya menggunakan kotak Persimpangan yang dikawal suara ini untuk menukar beban Akuarium saya (cahaya / Penapis) seperti yang ditunjukkan dalam video di bawah. Oleh itu saya menyesuaikan Applet untuk keperluan itu anda boleh menyesuaikannya untuk tujuan anda. Ikuti langkah di bawah:
Langkah 1: Lawati www.IFTTT.com dan Log masuk dengan akaun anda. Sekiranya baru maka Daftarlah.
Langkah 2: Sekarang klik pada "Cari" dan ketik Buat Webhooks. Pilihnya dan klik pada "Sambung". Ikuti langkah untuk berhubung dengannya.
Langkah 3: Sekarang klik lagi pada "Cari" dan taipkan Moni. Pilih Moni dan klik pada "Sambung". Log masuk dengan akaun IFTTT anda untuk mengaktifkan sambungan.
Langkah 4: Kami telah berhubung dengan perkhidmatan "Maker Webhooks" dan "Moni". Sekarang biarkan anda membuat Applet dengan perkhidmatan ini. Klik pada Applet Saya dan kemudian "Applet Baru". Anda mesti melihat sesuatu seperti ini:
Pada skrin ini anda harus mengklik "ini" dan memilih "Moni". Kemudian klik pada "Minta Moni untuk melakukan tindakan" anda akan dibawa ke layar di bawah.
Langkah 5: Isikan butiran seperti yang telah saya isi di atas. Di sini tugas saya adalah menghidupkan Lampu Akuarium saya (Beban 1) apabila saya mengatakan "Hidupkan Lampu Akuarium". Kemudian klik "Buat Pencetus"
Langkah 6: Anda akan dibawa kembali ke skrin "JIKA INI DARI ITU". Sekarang, klik "itu" dan ketik "Pembuat Webhooks" dan pilih. Kemudian klik pada "Buat permintaan web". Anda akan dibawa ke skrin di bawah
Ini adalah langkah penting di mana anda kemungkinan besar melakukan kesilapan. Di halaman ini masukkan URL yang ingin anda muatkan. Dalam kes saya, saya ingin menghidupkan beban yang disambungkan ke suis1 maka talian http: // 987: 654: 321: 123 / switch1On digunakan anda perlu mengganti IP saya dengan alamat IP awam anda. Ini akan berfungsi hanya jika anda telah menggunakan kod saya dalam tutorial sebelumnya. Senarai lengkap URL untuk menukar beban diberikan di bawah.
URL |
Kata kunci dari Program |
Tindakan |
http: // 987: 654: 321: 123 / suis1On |
Tukar1On |
GPIO_0 dibuat tinggi, sehingga menghidupkan Beban 1 |
http: // 987: 654: 321: 123 / suis1Off |
Tukar1Off |
GPIO_0 dibuat rendah, sehingga mematikan Beban 1 |
http: // 987: 654: 321: 123 / suis2On |
Tukar2On |
GPIO_2 dibuat tinggi, sehingga menghidupkan Beban 2 |
http: // 987: 654: 321: 123 / suis2Off |
Tukar2Off |
GPIO_2 dibuat rendah, sehingga mematikan Beban 1 |
Sebaik sahaja anda memasukkan URL yang diinginkan, klik "Buat tindakan". Kemudian klik Selesai. Begitu juga anda boleh membuat 4 Applet untuk menghidupkan / mematikan kedua-dua beban di kotak Persimpangan kami.
Itulah dia applet Anda siap untuk bertindak dan itu akan muncul di bawah "My applet" seperti yang ditunjukkan di bawah.
Masa untuk menguji kod kami…….
Pengujian Projek:
Akhirnya kami bersedia dengan projek kami. Mari kita mengujinya. Hidupkan dan buka aplikasi Moni di telefon bimbit anda. Klik pada ikon Mikrofon dan sebutkan arahannya. Dalam kes saya, itu adalah "Hidupkan Lampu Akuarium" dan ia harus membalas balasan dengan "OK" dan menyalakan lampu. Lihat kod penuh dan video demo di bawah.
Harap anda menyukai projek ini dan berjaya. Sekiranya anda tersekat di suatu tempat, gunakan bahagian komen di bawah dan saya pasti akan membantu anda. Akan menemui anda dengan satu lagi projek menarik sehingga terus menantikan.
Lihat juga Projek berasaskan IoT kami yang lain di sini.