- Komponen Perkakasan Yang Digunakan:
- Pengaturcaraan Modul ESP-01 menggunakan Penukar USB-TTL CP2102:
- Sambungan ESP-01 dengan modul CP2102:
- Pengaturcaraan Modul ESP-01 untuk Automasi Rumah Alexa
- Gambarajah litar
- Sediakan Aplikasi Amazon Alexa untuk Automasi Rumah
Pembesar suara pintar seperti Amazon Echo atau rumah Google kini semakin popular dan kedua-duanya mempunyai keupayaan untuk menggabungkan kemahiran atau tindakan khusus untuk mengawal sebarang alat menggunakan pembesar suara pintar tersebut. Kami sebelum ini membina pembesar suara pintar sendiri menggunakan Raspberry Pi dan Alexa, dan juga mengendalikan peralatan rumah tangga menggunakan pembesar suara pintar Raspberry Pi ini.
Automasi rumah telah menjadi sangat biasa sekarang dan orang menggunakan IoT untuk mengautomasikan semua yang ada di rumah mereka. Di sini, dalam tutorial ini kita akan menggunakan pembesar suara Real Amazon Echo dot dan membuat kemahiran khusus untuk mengawal peralatan rumah AC seperti lampu, Kipas, TV, Soket menggunakan Pembesar suara Echo dot Amazon. Di sini kita akan menggunakan Arduino UNO dan modul Wi-Fi ESP8266-01 untuk menghubungkan pembesar suara Echo dot dengan peralatan AC. Selepas tutorial ini, anda akan dapat mengawal sebarang alat walaupun Alexa.
Komponen Perkakasan Yang Digunakan:
- Arduino UNO
- Modul ESP-01
- Titik gema Amazon Alexa
- Penukar CP2102 USB-TTL
- Papan roti
- Modul Relay 5V
- Peralatan AC
- Pelompat
Pengaturcaraan Modul ESP-01 menggunakan Penukar USB-TTL CP2102:
Di sini ESP-01 diprogramkan menggunakan penukar USB-TTL CP2102; ia juga boleh diprogramkan menggunakan papan Arduino UNO. Di sini dalam kes saya, saya telah menggunakan modul CP2102 dan langkah-langkah untuk melakukan ini dijelaskan di bawah.
Modul ESP-01
ESP8266 ESP-01 adalah modul Wi-Fi yang sangat popular dalam merancang aplikasi IoT dan ia digunakan untuk membolehkan pengawal mikro seperti Arduino UNO berhubung dengan internet. Modul ini adalah sistem serba lengkap pada cip (SOC) yang boleh bertindak seperti komputer kecil. Ia dilengkapi dengan firmware AT yang telah dipasang sebelumnya, oleh itu kami dapat memprogramnya menggunakan Arduino IDE. Anda boleh mengetahui lebih lanjut mengenai pemancar Wi-Fi ESP-01 dan pengaturcaraannya menggunakan Arduino IDE dengan mengikuti pautan.
Huraian pin:
VCC: Pin bekalan kuasa ESP-01 yang boleh dibekalkan dengan 3.3V DC
GND: Pin rujukan tanah ESP-01
TXD: Digunakan sebagai pin Pemancar UART
RXD: Digunakan sebagai Pin Penerima UART
RESET: Ia digunakan untuk menetapkan semula Modul dan ia adalah pin LOW yang aktif.
CH_PD: Ia adalah pin membolehkan chip yang merupakan pin TINGGI aktif.
GPIO0: Pin ini berfungsi untuk dua tujuan. Salah satunya adalah sebagai Tujuan umum Input / output dan yang lain adalah mengaktifkan mod Pengaturcaraan ESP-01
GPIO2: Ini adalah pin Input / output tujuan Umum.
Sambungan ESP-01 dengan modul CP2102:
Gambar di bawah menunjukkan gambarajah pinout penukar USB-TTL CP2102. Sambungkan modul ESP-01 dengan modul penukar USB-TTL CP2102 seperti jadual di bawah.
Modul ESP-01 |
Modul CP2102 |
VCC |
3.3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
LETAKKAN |
Tiada sambungan |
GPIO0 |
GND |
GPIO2 |
Tiada sambungan |
Setelah berjaya menyelesaikan sambungan di atas, litar akan kelihatan seperti di bawah:
Kemudian sambungkan Modul CP2102 ke PC kami untuk pengaturcaraan. Sebelum memuat naik kod ke ESP-01, pertama, periksa port komunikasi. Untuk ini, mulailah-> dan cari pengurus peranti. Kemudian klik pada COM dan Ports. Di bawah pilihan ini, kita seharusnya mendapatkan Port COM dengan nama penukar USB-TTL seperti " Silicon labs CP21xx USB-UART Bridge " seperti yang ditunjukkan dalam gambar di bawah:
Setelah berjaya menyelesaikan langkah-langkah di atas, Buka Arduino IDE dan pilih papan sebagai " Modul ESP8266 Generik " dari menu Alat dan pilih port COM yang kami dapat pada tahap sebelumnya.
Pengaturcaraan Modul ESP-01 untuk Automasi Rumah Alexa
Kod lengkap diberikan pada akhir projek ini. Berikut adalah penjelasan bertahap mengenai kod yang akan dimuat naik pada modul ESP-01. Langkah pertama adalah memasukkan semua perpustakaan yang diperlukan. Anda boleh memuat turun perpustakaan "fauxmoESP.h" dari pautan di sini.
#sertakan #sertakan
Dalam langkah ini, kita harus menentukan semua kelayakan yang diperlukan untuk menghubungkan ESP-01 dengan internet. Kemas kini data SSID dan kata laluan rangkaian anda dalam program ini.
#tentukan SSID "*******" #define pass "*******"
Seterusnya tentukan nama peranti, yang perlu kita kendalikan dari Alexa. Dalam kes saya, saya mengambil nama peranti saya sebagai " lampu bilik tidur ", " kipas bilik tidur " dan " soket pintar. "
#define device1 "light bedroom" #define device2 "bedroom fan" #define device3 "pintar soket"
Fungsi WiFi.mode digunakan untuk mengatur modul ESP-01 sebagai mod Stesen dan fungsi WiFi.begin digunakan untuk menghubungkan Modul ESP-01 ke internet yang menggunakan SSID dan kata laluan rangkaian sebagai argumennya.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, lulus);
Bahagian seterusnya adalah menginisialisasi semua fungsi kelas Fauxmo seperti membuat pelayan, mengaktifkan nombor port untuk peranti Alexa, mengaktifkan peranti, dll. Kemudian tambahkan semua peranti menggunakan fauxmo.addDevice yang telah kita buat sebelumnya.
fauxmo.createServer (benar); fauxmo.setPort (80); fauxmo.enable (benar); fauxmo.addDevice (peranti1); fauxmo.addDevice (peranti2); fauxmo.addDevice (peranti3);
Seterusnya, tulis fungsi untuk membandingkan perintah suara kami dengan nama peranti yang telah ditentukan. Sekiranya arahan itu sepadan, hantarkan watak ke terminal bersiri Arduino menggunakan Serial.print.
fauxmo.onSetState ((char device_id yang tidak ditandatangani, const char * device_name, status bool, nilai char yang tidak ditandatangani) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); lain-lain Serial.print ("2");}}
Dalam fungsi loop void () , fungsi fauxmo.handle hanya akan memeriksa data masuk dari Alexa dan ia akan mengambil tindakan menggunakan fungsi onSetstate () .
gelung kosong () {fauxmo.handle (); }
Sekarang muat naik kod lengkap yang diberikan di hujung ke Modul ESP-01 dan pastikan berjaya memuat naik.
Kod Arduino:
Selepas itu, sudah tiba masanya untuk memuat naik kod di Arduino. Kod untuk Arduino sangat mudah. Ia hanya menerima watak yang dihantar dari modul ESP-01 melalui terminal UARTnya dan membandingkannya dengan menghantar isyarat ON / OFF ke Relay. Program Lengkap untuk Arduino ditunjukkan di bawah:
data char; persediaan tidak sah () {Serial.begin (115200); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); digitalWrite (7, RENDAH); digitalWrite (6, RENDAH); digitalWrite (5, RENDAH); } gelung void () {if (Serial.available ()> 0) {data = Serial.read (); Cetakan bersiri (data); Serial.print ("\ n"); jika (data == '1') digitalWrite (7, TINGGI); lain jika (data == '2') digitalWrite (7, RENDAH); lain jika (data == '3') digitalWrite (6, TINGGI); lain jika (data == '4') digitalWrite (6, RENDAH); lain jika (data == '5') digitalWrite (5, TINGGI); lain jika (data == '6') digitalWrite (5, RENDAH); }}
Setelah berjaya memuat naik, kod ke Arduino, Seterusnya sambungkan perkakasan mengikut skema yang diberikan di bawah.
Gambarajah litar
Gambarajah litar untuk Automasi Rumah menggunakan Alexa ditunjukkan di bawah:
Di sini kita telah menyolder semua komponen pada Perfboard sehingga berfungsi sebagai pelindung Arduino.
Begitu juga, kami juga telah membina modul relay di Perfboard:
Sediakan Aplikasi Amazon Alexa untuk Automasi Rumah
Setelah berjaya menyelesaikan persediaan dan pengekodan perkakasan, kini saatnya untuk menyediakan aplikasi Android Alexa. Pertama, kita perlu mencari mana-mana peranti pintar berdekatan melalui aplikasi ini. Untuk melakukannya hidupkan peranti Alexa anda dan kemudian buka aplikasi Alexa anda dan klik pada pilihan " Peranti " dan kemudian klik pada tanda "+" yang meminta anda untuk " Tambahkan peranti ". Kemudian klik " Tambah peranti ", pada jenis peranti klik " lain " dan kemudian pilih temukan peranti. Kemudian aplikasi Alexa anda harus mencari peranti yang memerlukan masa sehingga 45 saat.
Catatan: Sebagai alternatif kami juga dapat menemui peranti menggunakan perintah suara " Alexa, Discover devices "
Setelah penemuan peranti selesai, anda seharusnya mendapat 3 peranti baru dengan nama yang telah kami berikan dalam kod tersebut. Dalam kes saya, ini adalah cahaya bilik tidur , kipas bilik tidur, dan soket pintar . Sekarang penyediaannya sudah siap untuk diuji, cukup uji dengan mengatakan " Alexa, Hidupkan lampu kamar tidur " dan itu akan mengembalikan maklum balas anda dengan mengatakan "Oke", dan lampu harus menyala. Begitu juga, kita boleh menguji semua perintah lain.
Beginilah rupa penyediaan lengkap untuk Peralatan rumah Amazon Echo dot yang dikendalikan:
Kod lengkap untuk ESP-01 dengan video demonstrasi diberikan di bawah.