- Litar Diagram untuk Automasi Rumah yang dikendalikan oleh Pembantu Google
- Menyiapkan Aplikasi Blynk
- Menyiapkan IFTTT dengan Pembantu Google dan Blynk untuk Membaca Rentetan
- Pengaturcaraan Arduino untuk Automasi Rumah Blynk
- Membuat PCB menggunakan PCBGoGo
- Pemasangan PCB
- Menghubungkan Papan dengan Unit Kuasa AC / Papan Sambungan
Dengan kemajuan dalam pembantu maya seperti Pembantu Google dan Alexa, automasi Rumah dan aplikasi yang dikendalikan oleh Suara menjadi normal. Sekarang, kita sendiri telah membina banyak projek automasi rumah, dari Lampu Tangga Automatik sederhana hingga Automasi Rumah yang dikendalikan oleh web berasaskan IoT menggunakan Raspberry Pi. Tetapi projek ini di sini berbeza, idea di sini adalah untuk membuat papan automasi Rumah praktikal yang boleh masuk ke dalam unit kuasa AC di dinding kita dan tetap tersembunyi di dalamnya. Papan tidak boleh mengganggu kerja normal suis unit kuasa kita, iaitu mereka harus menghidupkan atau mematikan dengan suis manual juga. Dan tanpa dikatakan, ia juga harus dapat mengawal beban yang sama dengan suara menggunakan pembantu google dan juga menetapkan pemasa supaya sebarang beban dapat secara automatik AKTIF atau MATI pada waktu yang ditetapkan pada hari itu.
Projek ini sangat serupa dengan palam Wi-Fi Pintar ESP8266 kami tetapi di sini kerana kami akan menggunakan ESP12, kami akan mempunyai lebih banyak pin GPIO yang membolehkan kami mengawal empat beban AC secara serentak. Juga, kerana kami telah menggabungkan Blynk dan Google Assistant, projek ini menjadi menarik dan praktikal untuk digunakan. Untuk projek ini, kami telah membina papan litar menggunakan perkhidmatan pembuatan PCBGOGO PCB. Pada bahagian selanjutnya artikel kami telah menyediakan fail Gerber yang dirancang untuk litar dan juga menjelaskan prosedur lengkap untuk memesan PCB dari PCBGOGO.
Amaran: Projek ini melibatkan kerja dengan voltan utama AC. Dimaklumkan bahawa berhati-hati harus diambil semasa bekerja dengan voltan AC yang tinggi. Pastikan anda diawasi oleh orang yang berpengalaman sekiranya anda baru.
Litar Diagram untuk Automasi Rumah yang dikendalikan oleh Pembantu Google
Gambarajah litar lengkap untuk automasi rumah boleh didapati di bawah.
Seperti yang anda lihat, litarnya sangat mudah, mari kita mulakan penjelasan dari Modul Wi-Fi ESP12E. Anda juga boleh melihat video di bawah untuk penjelasan projek terperinci. Modul ini dapat diprogramkan seperti papan pengembangan nodeMCU dan ia mengurangkan banyak ruang. Secara lalai, apabila dihidupkan, ESP12E akan memasuki mod operasi. Untuk memprogramnya, kita harus menggunakan butang Reset dan Flash. Iaitu memasukkan ESP12 dalam mod pengaturcaraan, tekan dan tahan kedua-dua butang Reset dan Flash, kemudian lepaskan butang reset. Ini akan boot ESP12E dengan butang flash ditekan, sekarang lepaskan butang flash dan ESP12E akan memasuki mod pengaturcaraan. Selepas pengaturcaraan, anda harus menekan butang reset sekali lagi untuk boot ESP12E dalam mod operasi normal untuk menjalankan Program yang dimuat naik. Pengaturcaraan pin Rx, Rx,dan Ground diperluas untuk dapat dihubungkan dengan papan FTDI atau penukar USB ke TTL. Pastikan untuk menyambungkan pin Tx ESP12 ke pin Rx Pengaturcara dan sebaliknya.
Pin bendera lain I1 hingga I4 dan R1 hingga R4 digunakan untuk menghubungkan Switch dan Relay. Pin I1 hingga I4 bermaksud pin Input. Semua pin ini menyokong perintang penarik dalaman sehingga kita hanya perlu menyambungkan suis pada kotak pelanjutan ke pin Input kami melalui perintang penarik seperti yang ditunjukkan di bawah.
Begitu juga, pin output Relay R1 hingga R4 digunakan untuk mengawal Relay. Kami telah menggunakan litar pemacu relay standard dengan BC547 dan Diod IN4007 seperti yang ditunjukkan di bawah. Perhatikan bahawa relay harus dipicu dengan 5V tetapi pin output ESP12E hanya 3.3V. Jadi, wajib menggunakan transistor untuk menggerakkan relay. Kami juga meletakkan LED di jalur dasar transistor sehingga setiap kali transistor dipicu, LED juga akan menyala.
Akhirnya, untuk menghidupkan semua litar kami, kami telah menggunakan penukar AC-DC Hi-Link untuk menukar AC 220V ke DC 5V. DC 5V ini kemudian ditukar menjadi 3.3V menggunakan pengatur voltan AMS117-3.3V. 5V digunakan untuk memicu Relay dan 3.3V digunakan untuk menghidupkan Modul Wi-Fi ESP21.
Menyiapkan Aplikasi Blynk
Kami sebelumnya telah membina banyak projek Blynk seperti Robot Arduino yang Dikendalikan Wi-Fi, jadi kami tidak akan mengetahui perincian penyediaan aplikasi blynk. Tetapi secara sederhana, cukup pasang aplikasinya, buat projek baru untuk NodeMCU dan mulailah meletakkan widget anda seperti gambar di bawah.
Saya telah menggunakan pin maya V1 hingga V4 untuk mengawal relay 1 hingga 4 pada projek kami. Pastikan untuk menukar jenis butang untuk bertukar. Pilihan pemasa juga dapat digunakan untuk memicu pin maya secara automatik untuk waktu yang ditetapkan, walaupun telefon dimatikan. Saya telah menggunakan pemasa untuk hanya pin maya V1 di sini, tetapi anda boleh menggunakannya untuk keempat-empat pin sekiranya diperlukan.
Pastikan untuk mendapatkan nilai token autentikasi blynk anda dari halaman projek anda. Cukup klik pada ikon kacang (dilingkari dengan warna merah pada gambar di atas) dan salin token autentikasi menggunakan salin semua pilihan dan tampalkan di tempat yang selamat, kita akan memerlukan semasa memprogram papan Arduino.
Menyiapkan IFTTT dengan Pembantu Google dan Blynk untuk Membaca Rentetan
Kaedah termudah untuk menggunakan Pembantu Google untuk automasi rumah adalah dengan menggunakan IFTTT. Kami juga telah membina banyak projek IFTTT sebelum ini dengan NodeMCU dan Raspberry Pi. Dalam projek ini, kami akan menggunakan aplikasi Blynk untuk mencetuskan webhook menggunakan pembantu Google. Ia sangat serupa dengan projek automasi rumah yang dikendalikan oleh suara dan projek radio FM yang dikawal suara. Kecuali, di sini kita akan menggunakan blynk dengan IFTTT untuk menghantar rentetan yang menjadikannya lebih mudah dan menarik.
Pada asasnya, kami akan menggunakan pin maya V5 dan V6 di blynk untuk menghantar perintah pencetus. V5 akan digunakan untuk perintah menghidupkan dan V6 akan digunakan untuk perintah mematikan. Sebagai contoh, jika kita katakan hidupkan TV dan Lampu. Perintah rentetan di sini "TV dan Lampu" akan dikirim ke NodeMCU menggunakan API. Sintaks API adalah seperti di bawah.
http://188.166.206.43//update/V5?value=TV dan Lampu
Sekarang yang harus kita lakukan dalam IFTTT adalah menggunakan pembantu google sebagai IF dan webhook sebagai YANG, jadi dengarkan perintah ini dan hantarkan maklumat tersebut ke NodeMCU menggunakan API yang disebutkan di atas. Bentuk applet menghidupkan yang sama ditunjukkan di bawah.
Perhatikan bahawa anda harus memilih mengucapkan frasa dengan pilihan bahan teks semasa membuat resipi untuk Pembantu Google. Begitu juga, anda harus mengulang yang sama untuk pin maya V6 untuk mematikan geganti. Anda boleh menyemak video di bahagian bawah halaman ini untuk mendapatkan maklumat terperinci.
Pengaturcaraan Arduino untuk Automasi Rumah Blynk
Kod Arduino yang lengkap untuk projek ini terdapat di bahagian bawah halaman ini. Penjelasan yang sama adalah seperti berikut. Sebelum itu pastikan anda boleh menggunakan Blynk dan Program NodeMCU dari Arduino IDE. Sekiranya tidak ikuti permulaan artikel ESP12. Juga, tambahkan perpustakaan blynk ke Arduino IDE menggunakan pengurus dewan.
Seperti biasa, kami memulakan kod kami dengan menentukan pin input dan output, di sini input akan dari suis dan output akan dari relay. Kami telah menentukan nama pin untuk keempat-empat suis sebagai sw dan relay seperti yang anda lihat di bawah.
#define sw1 13 #define sw2 12 #define sw3 14 #define sw4 16 #define rel1 4 #define rel2 5 #define rel3 9 #define rel4 10
Pada peringkat seterusnya, anda perlu memasukkan beberapa kelayakan seperti token autentikasi blynk dan nama pengguna dan kata laluan untuk penghala Wi-Fi yang harus dihubungkan oleh nodeMCU anda. Token autentikasi boleh didapati dari aplikasi blynk. Kami akan mengetahui lebih lanjut mengenai perkara itu di bahagian penyediaan aplikasi blynk.
char auth = "Fh3tm0ZSrXQcROYl_lIYwOIuVu-E"; // dapatkan dari aplikasi blynk char ssid = "home_wifi"; char pass = "fakepass123";
Seterusnya, kami telah memberikan definisi untuk fungsi yang disebut read_switch_toggle () . Dalam fungsi ini, kita akan membandingkan keadaan semasa dan keadaan suis kita sebelumnya. Sekiranya suis telah dihidupkan atau dimatikan iaitu Jika suis telah diaktifkan. Akan ada perubahan dalam keadaan suis, fungsinya akan memantau perubahan ini dan mengembalikan nombor suis. Sekiranya tidak ada perubahan yang dikesan, ia akan mengembalikan 0.
int read_switch_toggle () {hasil int = 0; // Perhatikan semua nilai sebelumnya untuk (int i = 0; i <= 3; i ++) pvs_state = crnt_state; // Baca status suis semasa crnt_state = digitalRead (sw1); crnt_state = digitalRead (sw2); crnt_state = digitalRead (sw3); crnt_state = digitalRead (sw4); // bandingkan keadaan semasa dan pvs untuk (int i = 0; i <= 3; i ++) {if (pvs_state! = crnt_state) {hasil = (i + 1); // jika ada suis diubah, kami mendapat nombor suis sebagai hasil pengembalian; } hasil lain = 0; // jika tiada hasil perubahan 0} hasil pulangan; // kembalikan keputusannya}
Seterusnya, kami mempunyai kod untuk aplikasi blynk. Kami akan menggunakan pin maya V1 hingga V6 untuk mengawal kotak persimpangan pintar kami. Pin V1 hingga V4 akan digunakan untuk mengawal relay 1 hingga 4 masing-masing secara langsung dari aplikasi blynk. Kod di bawah menunjukkan apa yang berlaku apabila V1 dipicu dari aplikasi blynk. Kami hanya membaca status (TINGGI atau RENDAH) dan mengawal relay dengan sewajarnya.
BLYNK_WRITE (V1) {digitalWrite (rel1, param.asInt ()); Serial.println ("V1"); }
Begitu juga, pin maya juga boleh digunakan untuk membaca rentetan dari aplikasi blynk. Kami akan belajar bagaimana menghantar rentetan dari pembantu google ke NodeMCU menggunakan IFTTT dan pembantu Google kemudian tetapi untuk sekarang, mari kita lihat bagaimana kod NodeMCU membaca rentetan ini dan mencari kata kunci tertentu dan mencetuskan relay dengan sewajarnya.
Di bawah kod, anda boleh melihat bahawa apabila pin maya V5 dicetuskan, kita mendapatkan tali yang diluluskan oleh ke dalam pembolehubah rentetan dipanggil ON_message . Kemudian menggunakan pemboleh ubah rentetan dan kaedah inderOf ini, kami mencari jika ada kata kunci seperti "lampu", "LED", "muzik", "TV", jika ya, kami menghidupkan beban tertentu. Sekiranya kata kunci "semuanya" dikesan, kami menghidupkan semuanya. Perkara yang sama juga dapat dilakukan untuk V6 mematikan relay. Kami akan memahami lebih lanjut mengenai perkara ini apabila masuk ke bahagian IFTTT.
BLYNK_WRITE (V5) {String ON_message = param.asStr (); Serial.println (ON_message); jika (ON_message.indexOf ("lamp")> = 0) digitalWrite (rel1, TINGGI); jika (ON_message.indexOf ("LED")> = 0) digitalWrite (rel2, TINGGI); if (ON_message.indexOf ("music")> = 0) digitalWrite (rel3, TINGGI); jika (ON_message.indexOf ("TV")> = 0) digitalWrite (rel4, TINGGI); if (ON_message.indexOf ("everything")> = 0) {digitalWrite (rel1, HIGH); digitalWrite (rel2, HIGH); digitalWrite (rel3, HIGH); digitalWrite (rel4, HIGH); }}
Akhirnya, di dalam fungsi gelung, kita hanya perlu memeriksa apakah ada butang yang bertukar kedudukan telah berubah. Jika ya, maka kami menggunakan suis case seperti yang ditunjukkan di bawah ini untuk menukar kedudukan relay tertentu.
tukar (toggle_pin) {kes 0: rehat; kes 1: Serial.println ("Toggling Relay 1"); digitalWrite (rel1, relay_state); rehat; kes 2: Serial.println ("Toggling Relay 2"); digitalWrite (rel2, relay_state); rehat; kes 3: Serial.println ("Toggling Relay 3"); digitalWrite (rel3, relay_state); rehat; kes 4: Serial.println ("Toggling Relay 4"); digitalWrite (rel4, relay_state); rehat; }}
Membuat PCB menggunakan PCBGoGo
Sekarang kita memahami bagaimana skema berfungsi, kita dapat terus membangun PCB untuk projek automasi Rumah kita. Susun atur PCB untuk litar di atas juga boleh dimuat turun sebagai Gerber dari pautan.
- Muat turun GERBER untuk Automasi Rumah yang Dikawal Suara menggunakan Pembantu Google
Sekarang reka bentuk kami sudah siap, sudah tiba masanya mereka dibuat menggunakan fail Gerber. Untuk menyelesaikan PCB dari PCBGOGO agak mudah, ikuti langkah-langkah di bawah-
Langkah 1: Masuk ke www.pcbgogo.com, daftar jika ini pertama kali anda. Kemudian di tab Prototaip PCB, masukkan dimensi PCB anda, jumlah lapisan, dan jumlah PCB yang anda perlukan. Dengan mengandaikan PCB 80cm × 80cm, anda boleh menetapkan dimensi seperti gambar di bawah.
Langkah 2: Teruskan dengan mengklik pada butang Quote Now . Anda akan dibawa ke halaman di mana untuk menetapkan beberapa parameter tambahan jika diperlukan seperti bahan jarak trek yang digunakan, dll. Tetapi kebanyakannya, nilai lalai akan berfungsi dengan baik. Satu-satunya perkara yang harus kita pertimbangkan di sini adalah harga dan masa. Seperti yang anda lihat Masa Membangun hanya 2-3 hari dan harganya hanya $ 5 untuk PCB kami. Anda kemudian boleh memilih kaedah penghantaran pilihan berdasarkan keperluan anda.
Langkah 3: Langkah terakhir adalah memuat naik fail Gerber dan meneruskan pembayaran. Untuk memastikan prosesnya lancar, PCBGOGO mengesahkan apakah fail Gerber anda sah sebelum meneruskan pembayaran. Dengan cara ini, anda dapat memastikan bahawa PCB anda mesra fabrikasi dan akan menghubungi anda sebagai komited.
Pemasangan PCB
Setelah papan pesanan dipesan, saya sampai setelah beberapa hari melalui kurier dalam kotak kemas yang berlabel kemas, dan seperti biasa, kualiti PCB sangat mengagumkan. PCB yang saya terima ditunjukkan di bawah. Seperti yang anda lihat, lapisan atas dan bawah telah berubah seperti yang diharapkan.
Vias dan alas semuanya dalam ukuran yang betul. Saya mengambil masa sekitar 15 minit untuk berkumpul di papan PCB untuk mendapatkan rangkaian kerja. Papan yang dipasang ditunjukkan di bawah.
Menghubungkan Papan dengan Unit Kuasa AC / Papan Sambungan
Papan ini direka untuk dipasang di dalam soket kuasa AC di rumah kita. Tetapi demi projek ini, kami akan menggunakan kotak lanjutan. Sekiranya anda mahukan penyelesaian yang lebih kekal, pasangkan kabel ini ke dalam soket kuasa AC anda, seperti yang anda lihat di bawah panjang PCB cukup padat untuk diletakkan di dalam soket kuasa AC.
Pastikan anda mengikuti langkah berjaga-jaga keselamatan semasa bekerja dengan rangkaian AC. Ikuti rajah litar di bawah untuk memahami cara menyambungkan geganti dan suis anda ke papan PCB kami.
Gambarajah sambungan ditutup hanya untuk satu Relay dan beralih tetapi anda juga boleh meniru yang sama untuk tiga yang lain juga. Setelah sambungan selesai, papan anda akan kelihatan seperti ini
Setelah sambungan dibuat, pastikan anda mengikatnya dengan rapat dengan terminal skru dan juga gunakan gam panas untuk keselamatan tambahan. Kemas semuanya kembali ke dalam kotak dan kami harus bersedia untuk ujian. Anda boleh mendapatkan kerja lengkap projek ini dalam video di bawah.
Saya harap anda menikmati artikel dan mempelajari sesuatu yang berguna. Sekiranya anda mempunyai pertanyaan, sila tinggalkan di bahagian komen di bawah atau gunakan forum kami.