Daftar Isi:

Sakelar Relay IOT yang Dikendalikan Suara Berbasis Arduino (Didukung Google Home & Alexa): 11 Langkah
Sakelar Relay IOT yang Dikendalikan Suara Berbasis Arduino (Didukung Google Home & Alexa): 11 Langkah

Video: Sakelar Relay IOT yang Dikendalikan Suara Berbasis Arduino (Didukung Google Home & Alexa): 11 Langkah

Video: Sakelar Relay IOT yang Dikendalikan Suara Berbasis Arduino (Didukung Google Home & Alexa): 11 Langkah
Video: How to Use ESP32 and ESP8266, Smart House Light and Temperatur Controller Bluetooth and Sensor 2024, November
Anonim
Sakelar Relay IOT Terkendali Suara Berbasis Arduino (Didukung Google Home & Alexa)
Sakelar Relay IOT Terkendali Suara Berbasis Arduino (Didukung Google Home & Alexa)

Proyek ini menjelaskan cara membuat sakelar relai IOT berbasis Arduino yang dikendalikan suara. Ini adalah relai yang dapat Anda nyalakan dan matikan dari jarak jauh menggunakan aplikasi untuk iOS dan Android, serta mengikatnya ke IFTTT dan mengontrolnya dengan suara Anda menggunakan Google Home dan/atau Alexa juga. Kami akan membahas semua langkah yang diperlukan untuk membuat perangkat, menghubungkan aplikasi, dan juga terhubung ke berbagai layanan IoT.

Perlengkapan

  • Wemos D1 Mini Lite ESP8285 (beberapa dolar di Amazon)
  • Modul Relay 5V untuk Arduino/Raspberry Pi
  • Transistor NPN 2N2222
  • Resistor 47K ohm
  • Resistor 1K ohm

Langkah 1: Bangun Sirkuit

Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit

Langkah pertama adalah memasang rangkaian. Saya telah menyertakan skema dan diagram pengkabelan tradisional, tergantung pada apa yang Anda gunakan. Saya melakukan sirkuit pertama saya pada papan tempat memotong roti prototipe dan kemudian memindahkannya ke PCB untuk pengaturan yang lebih permanen dan menyimpannya di kotak proyek cetak 3D.

Relai adalah relai H/L 5V opto-isolated, yang berarti bahwa pertama, sirkuit pemicu diisolasi secara optik dari aktivasi relai itu sendiri, yang menghilangkan masalah potensial dengan umpan balik dari relai kembali ke mikrokontroler Wemos. Keamanan yang bagus untuk dimiliki. Kedua, high/low switchable, yang berarti dapat dikonfigurasi, dengan menggerakkan jumper kuning yang Anda lihat di gambar, dari pemicuan saat sinyal tinggi (+5V), atau pemicuan saat sinyal rendah (0V). Wemos sendiri mengirimkan 3.3V dari pin digitalnya dan kami menggunakan D1 sebagai sumber pemicu kami, yang berarti kami perlu sedikit memperkuatnya, sehingga kami mendekati sinyal digital +5V untuk memicu relai. Sebagai alternatif, Anda dapat menggunakan relai 3.3V dan menghilangkan komponen penguat transistor di rangkaian dan langsung dari D1 ke pin sinyal pada relai. Saya tidak memiliki relai 3.3V, jadi kami menggunakan relai 5V dan rangkaian amplifier yang lebih umum.

DC+ dan DC- pada relai terhubung ke pin 5V dan GND Wemos, yang menyediakan tegangan yang diperlukan untuk mengoperasikan relai. Relai diberi peringkat dari tegangan kecil hingga tegangan saluran, tetapi saya menggunakan ini untuk mengontrol aplikasi kabel tegangan rendah. Jika Anda menggunakan ini untuk mengontrol tegangan saluran, pastikan Anda tahu apa yang Anda lakukan, Anda memenuhi syarat, dan Anda mengambil tindakan pencegahan yang sesuai. Jika tidak, maka jangan gunakan ini untuk mengontrol aplikasi tegangan saluran.

Pin D1 pada Wemos terhubung ke resistor 47K ohm yang diumpankan ke basis pada transistor NPN. Emitor mengikat kembali ke tanah. Kolektor terhubung ke input sinyal pada relai. Relai diatur untuk memicu rendah, jadi ketika D1 memberikan sinyal, sinyal 3.3v diperkuat menjadi sekitar 5V dan relai terbuka. Ketika D1 menjadi rendah, sinyal ke relai menjadi rendah dan relai menutup dan menyelesaikan rangkaian.

Saya lupa memotret sirkuit sementara saya di papan tempat memotong roti prototipe, tetapi itu tampak persis seperti diagram Fritzing di atas, jika itu membantu. Saya menyertakan sejumlah gambar sirkuit permanen terakhir saya sehingga Anda dapat melihat bagaimana itu terhubung, jika Anda memerlukan beberapa wawasan atau perlu visibilitas pada komponen tertentu yang saya gunakan.

Langkah 2: Memprogram Wemos - Gambaran Umum

Salah satu hal yang saya sukai dari Wemos adalah mereka dapat diprogram seperti Arduino, menggunakan IDE yang sama. Ada beberapa langkah di sini meskipun.

  1. Instal driver Wemos ke komputer dapat berbicara dengan Wemos
  2. Perbarui Arduino IDE sehingga papan Wemos tersedia
  3. Lakukan tes "Blink" cepat untuk memastikan semuanya berfungsi dengan benar
  4. Siapkan dengan Blynk (saya tahu ini membingungkan, tetapi sebenarnya berbeda dari "tes berkedip")
  5. Dapatkan kode aplikasi dari Blynk
  6. Perbarui kode Wemos/Arduino dengan info Blynk
  7. Unggah kode ke pengaturan Wemos Anda.

Langkah 3: Memprogram Wemos - Instal Driver

Memprogram Wemos - Instal Driver
Memprogram Wemos - Instal Driver

Buka di sini (tautan ini sepertinya berubah secara berkala, saya akan mencoba memperbaruinya):

www.wemos.cc/en/latest/ch340_driver.html

Dan unduh paket driver yang benar untuk OS Anda. Kemudian ekstrak zip ke direktori dan jalankan aplikasi "SETUP" untuk menginstalnya.

Ketika saya melakukan ini pertama kali, saya mendapat beberapa kesalahan aneh tentang tidak menginstal. Saya melihat catatan orang lain tentang ini dan solusi mereka, yang berhasil untuk saya. Jadi jika Anda mendapatkan kesalahan, coba gunakan tombol "Copot" lalu gunakan tombol "Instal" lagi. Semoga itu menyelesaikan masalah seperti yang terjadi pada saya.

Langkah 4: Memprogram Wemos - Perbarui Arduino IDE

Memprogram Wemos - Perbarui Arduino IDE
Memprogram Wemos - Perbarui Arduino IDE
Memprogram Wemos - Perbarui Arduino IDE
Memprogram Wemos - Perbarui Arduino IDE
Memprogram Wemos - Perbarui Arduino IDE
Memprogram Wemos - Perbarui Arduino IDE

Jika Anda belum menginstal Arduino IDE, inilah saat yang tepat untuk melakukannya sekarang. Anda dapat mengunduhnya dari www.arduino.cc

Berikut adalah referensi untuk apa yang akan kita lakukan dalam langkah ini.

wiki.wemos.cc/tutorials:get_started:get_st…

  1. Mari kita instal papan baru sehingga muncul sebagai opsi di Arduino IDE. Langkah 2 - 4 dikutip dari panduan instalasi di halaman github berikut.

    github.com/esp8266/Arduino

  2. Mulai Arduino IDE dan buka jendela Preferences.
  3. Masukkan "https://arduino.esp8266.com/stable/package_esp8266com_index.json" ke dalam bidang URL Manajer Dewan Tambahan. Anda dapat menambahkan beberapa URL, memisahkannya dengan koma.
  4. Buka Boards Manager dari Tools > Board > Boards Manager (di atas), cari "esp8266" dan instal platform esp8266 yang terdaftar.
  5. Pada titik ini Anda akan melihat papan Wemos di Tools→Board:xxx Pilih Wemos D1 Mini. Dalam kasus saya, seperti yang Anda lihat dari gambar, nama spesifiknya adalah "LOLIN(WEMOS) D1 R2 & mini"
  6. Hubungkan kabel USB antara komputer dan Wemos
  7. Konfirmasikan bahwa "Port" sekarang aktif di menu Alat dan terlihat benar.

Langkah 5: Memprogram Wemos - Tes Berkedip

Memprogram Wemos - Tes Blink
Memprogram Wemos - Tes Blink

Sebelum kita melangkah lebih jauh, kita perlu memastikan bahwa kita dapat berkomunikasi dengan dewan Wemos dan semuanya terlihat baik-baik saja. Cara termudah untuk melakukannya adalah mencolokkan kabel USB dan mencoba dan mendorong program sederhana ke Wemos. Blink adalah contoh termudah dan telah menyelamatkan saya dari banyak kerumitan saat bekerja dengan papan baru, bahwa saya selalu melakukan ini terlebih dahulu.

  1. Buka: File > Contoh > ESP8266 > Berkedip dan muat sketsa kedip untuk perangkat Wemos
  2. Kompilasi dan unggah sketsa

Jika LED biru mulai berkedip sekitar satu detik, maka Anda dapat melanjutkan ke langkah berikutnya! Jika tidak, kembali dan pecahkan masalah langkah-langkah sebelumnya. Lihat apakah ada masalah dengan driver dan manajer dewan. Saya memiliki beberapa masalah dengan paket papan untuk ESP8266 dan harus menghapus instalannya sepenuhnya dan menginstalnya kembali karena sesuatu yang aneh dengan versi yang sedang terjadi. Jangan menyerah, dan pencarian internet bisa menjadi teman Anda!

Dengan asumsi semuanya baik-baik saja, lanjutkan ke langkah berikutnya.

Langkah 6: Memprogram Wemos - Menyiapkan Blynk

Memprogram Wemos - Menyiapkan Blynk
Memprogram Wemos - Menyiapkan Blynk
Memprogram Wemos - Menyiapkan Blynk
Memprogram Wemos - Menyiapkan Blynk
Memprogram Wemos - Menyiapkan Blynk
Memprogram Wemos - Menyiapkan Blynk

Pada langkah selanjutnya, kita perlu menyiapkan akun dengan Blynk dan mendapatkan token untuk kita gunakan untuk mengontrol sirkuit yang telah kita buat.

  1. Unduh aplikasinya, dan buat akun (gratis)
  2. Buat proyek baru
  3. Pilih Wemos D1 sebagai Perangkat Keras di bawah Pilih Perangkat
  4. Beri nama proyek dan pertahankan jenis konektornya sebagai WiFi
  5. Klik Buat Proyek
  6. Pada titik ini Auth Token akan dikirim melalui email ke alamat email yang Anda gunakan saat membuat akun Blynk. Simpan itu untuk nanti, kami akan memasukkan nilai ke dalam sketsa di langkah berikutnya.
  7. Saat Anda masuk ke layar kanvas kosong, cukup geser ke kiri dan Anda akan mendapatkan menu widget. Pilih "Tombol" untuk menambahkan "tombol" ke proyek
  8. Pilih tombol dan kemudian konfigurasikan Pin dengan mengkliknya dan memilih "Digital" dan "D1" sebagai pi dan klik "Ok"
  9. Pada titik ini, semuanya harus siap. Untuk mengaktifkan ini, Anda ingin memilih ikon segitiga di kanan atas, tetapi itu tidak akan berfungsi dulu, sampai sketsa diunggah dan dikonfigurasi, yang merupakan langkah berikutnya!

Langkah 7: Memprogram Wemos - Memasang Perpustakaan Blynk

Untuk dapat mengunggah sketsa berbasis Blynk, kita perlu menginstal perpustakaan mereka. Detailnya dapat ditemukan di sini.

github.com/blynkkk/blynk-library/releases

Juga, untuk beberapa latar belakang, lihat situs web utama mereka di sini (https://blynk.io/en/getting-started)

Ini membingungkan bagi saya pada awalnya, tetapi ini jauh lebih mudah daripada kedengarannya. Cukup unzip file ke direktori Arduino Anda. Bagi saya ini ada di \user\Documents\Arduino. Sudah ada folder bernama "perpustakaan" di sana. File zip berisi direktori "perpustakaan" dan "alat". Saat Anda mengekstraknya ke direktori Arduino, itu menambahkan kontennya ke perpustakaan dan membuat alat jika belum ada.

Langkah 8: Memprogram Wemos - Sketsa

Kami hampir selesai pada saat ini. Sketsanya cukup sederhana, langsung dari Blynk dan pada dasarnya menghubungkan layanan Blynk dan papan. Anda dapat menggunakan pembuatnya di sini:

examples.blynk.cc/?board=WeMos%20D1&shield=ESP8266%20WiFi&example=Widgets%2FTerminal

Atau Anda dapat menggunakan sampel ini yang seharusnya cocok untuk Anda. Pastikan Anda mengganti nilai untuk token auth dan kredensial Anda untuk jaringan wifi Anda.

/*************************************************************

Unduh perpustakaan Blynk terbaru di sini: https://github.com/blynkkk/blynk-library/releases/latest Blynk adalah platform dengan aplikasi iOS dan Android untuk mengontrol Arduino, Raspberry Pi, dan sejenisnya melalui Internet. Anda dapat dengan mudah membangun antarmuka grafis untuk semua proyek Anda hanya dengan menarik dan melepaskan widget. Unduhan, dokumen, tutorial: https://www.blynk.cc Pembuat sketsa: https://examples.blynk.cc Komunitas Blynk: https://community.blynk.cc Ikuti kami: https://www.fb. com/blynkapp Pustaka Blynk dilisensikan di bawah lisensi MIT Kode contoh ini ada di domain publik. ************************************************** *********** Anda dapat mengirim/menerima data apa pun menggunakan objek WidgetTerminal. Penyiapan proyek aplikasi: Widget terminal terpasang ke Pin Virtual V1 *************************************** **********************/ /* Beri komentar ini untuk menonaktifkan cetakan dan menghemat ruang */ #define BLYNK_PRINT Serial #include #include // Anda harus mendapatkan Auth Token di Aplikasi Blynk. // Masuk ke Pengaturan Proyek (ikon kacang). char auth = "YourAuthToken"; // Kredensial WiFi Anda. // Setel kata sandi ke "" untuk jaringan terbuka. char ssid = "NamaJaringanAnda"; char pass = "Kata Sandi Anda"; // Pasang terminal serial virtual ke terminal Virtual Pin V1 WidgetTerminal(V1); // Anda dapat mengirim perintah dari Terminal ke perangkat keras Anda. Cukup gunakan // Pin Virtual yang sama dengan Widget Terminal Anda BLYNK_WRITE(V1) { // jika Anda mengetik "Marco" ke dalam Widget Terminal - ia akan merespons: "Polo:" if (String("Marco") == param.asStr ()) { terminal.println("Anda berkata: 'Marco'"); terminal.println("Saya berkata: 'Polo'"); } else { // Kirim kembali terminal.print("Anda berkata:"); terminal.write(param.getBuffer(), param.getLength()); terminal.println(); } // Pastikan semuanya terkirim terminal.flush(); } void setup() { // Debug console Serial.begin(9600); Blynk.begin(auth, ssid, pass); // Anda juga dapat menentukan server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 100), 8080); // Ini akan mencetak versi Perangkat Lunak Blynk ke Widget Terminal ketika // perangkat keras Anda terhubung ke terminal Server Blynk.println(F("Blynk v" BLYNK_VERSION ": Perangkat dimulai")); terminal.println(F("-------------")); terminal.println(F("Ketik 'Marco' dan dapatkan balasan, atau ketik")); terminal.println(F("yang lain dan cetak kembali.")); terminal.flush(); } void loop() { Blynk.run(); }

Langkah 9: Memprogram Wemos - Langkah Terakhir

Image
Image

Setelah sketsa dimuat, kompilasi dan unggah sketsa dan Anda harus siap untuk menguji pengaturan Anda!

Buka aplikasi Blynk, klik segitiga di sudut kanan atas untuk Proyek Wemos Anda

Kemudian klik tombolnya! Anda akan mendengar bunyi klik relai dan LED status pada papan relai menunjukkan bahwa status relai telah berubah.

Sekarang Anda dapat menghubungkan relai ke aplikasi bertegangan rendah apa pun yang memerlukan sakelar sederhana dan mengontrolnya dari aplikasi Blynk Anda. Hal terakhir yang perlu kita lakukan adalah mengikat IFTTT dan menggunakan Google atau Alexa untuk mengontrol sistem Blynk sehingga kita tidak perlu melakukannya dari aplikasi Blynk kita.

Langkah 10: Mengontrol Blynk Dengan IFTTT dan Google Home atau Alexa

Saya berasumsi pada titik ini bahwa Anda memiliki keakraban dengan IFTTT. Jika tidak, ada beberapa tutorial luar biasa yang akan membantu Anda mempelajari cara menggunakan dan memanfaatkan IFTTT. Ini sangat kuat dan sesuatu yang ingin Anda pelajari jika Anda belum terbiasa.

  1. Buat applet baru di IFTTT
  2. Pilih Google Assistant sebagai "Jika Ini" dan gunakan "Frase Sederhana" sebagai pemicu. Bagi saya, karena ini akan menghidupkan atau mematikan perapian saya, frasa saya adalah "nyalakan perapian"
  3. Untuk bagian "Lalu Itu", cari dan gunakan Webhooks
  4. Pilih "Buat permintaan web"
  5. Untuk URL yang ingin Anda gunakan:

    "https://blynk-cloud.com/XXXXYYYYZZZZZ/update/d5?value=1"

  6. Setel metode ke GET, tipe konten ke urlencoded, dan Anda dapat membiarkan BODY kosong lalu simpan

Tunggu beberapa menit lalu lanjutkan dan uji frasa Anda dengan perangkat rumah google Anda. Saya perhatikan bahwa dibutuhkan sekitar dua menit untuk siap.

CATATAN: satu hal lagi yang perlu diperhatikan di sini. Perhatikan bahwa saya menggunakan "d5" dalam panggilan API saya, tetapi saya terhubung ke pin D1 di papan. Butuh waktu sekitar satu hari untuk mengetahui bahwa penomoran pin GPIO dan penomoran yang tercetak di papan tidak sama. Setelah mengubah nilai dengan panggilan URL langsung dan menguji voltase pada pin yang berbeda dengan volt meter, saya dapat melihat bahwa panggilan ke d1 melalui API memang mengubah voltase, tetapi tidak pada D1 di papan. d5/GPIO 5 sebenarnya sesuai dengan D1 di papan tulis. Setelah saya melakukan penyesuaian itu, semuanya bekerja dengan indah!

Menghubungkan Alexa identik dengan Google home, hanya menggunakan layanan Alexa di IFTTT saja.

Langkah 11: Kesimpulan

Pada titik ini, Anda harus memiliki relai IOT yang dikontrol suara yang berfungsi menggunakan Wemos D1 mini lite. Selamat menikmati dan semoga berhasil!

Sekali lagi, listrik berbahaya, jadi harap berhati-hati dan jika Anda tidak memenuhi syarat, jangan lakukan.

Direkomendasikan: