Isi kandungan:

Suis Relay IOT yang Dikawal Suara Berasaskan Arduino (Google Home & Alexa Disokong): 11 Langkah
Suis Relay IOT yang Dikawal Suara Berasaskan Arduino (Google Home & Alexa Disokong): 11 Langkah

Video: Suis Relay IOT yang Dikawal Suara Berasaskan Arduino (Google Home & Alexa Disokong): 11 Langkah

Video: Suis Relay IOT yang Dikawal Suara Berasaskan Arduino (Google Home & Alexa Disokong): 11 Langkah
Video: Как использовать 4-канальное реле для управления нагрузкой переменного тока с помощью кода Arduino 2024, Jun
Anonim
Suis Relay IOT Relay Suara Berasaskan Arduino (Google Home & Alexa Disokong)
Suis Relay IOT Relay Suara Berasaskan Arduino (Google Home & Alexa Disokong)

Projek ini menerangkan cara membuat suis relay IOT berasaskan Arduino, kawalan suara. Ini adalah geganti yang dapat anda hidupkan dan matikan dari jauh menggunakan aplikasi untuk iOS dan Android, serta mengikatnya ke IFTTT dan mengawalnya dengan suara anda menggunakan Google Home dan / atau Alexa juga. Kami akan merangkumi semua langkah yang diperlukan untuk membuat peranti, menyambungkan aplikasi, dan menyambung juga dalam pelbagai perkhidmatan IOT.

Bekalan

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

Langkah 1: Bina Litar

Bina Litar
Bina Litar
Bina Litar
Bina Litar
Bina Litar
Bina Litar

Langkah pertama ialah memasang litar. Saya telah menyertakan gambarajah skema dan pendawaian tradisional, bergantung pada perkara biasa. Saya melakukan litar pertama saya di papan roti prototaip dan kemudian memindahkannya ke PCB untuk persediaan yang lebih kekal dan meletakkannya di kotak projek bercetak 3D.

Relay adalah relay H / L 5V opto-terpencil, yang bermaksud bahawa pertama, litar pencetus secara optik diasingkan dari pengaktifan geganti itu sendiri, yang menghilangkan sebarang masalah yang berpotensi dengan maklum balas dari geganti kembali ke mikrokontroler Wemos. Keselamatan yang baik untuk dimiliki. Kedua, ia boleh ditukar tinggi / rendah, yang bermaksud dapat dikonfigurasi, dengan menggerakkan pelompat kuning yang anda lihat dalam gambar, dari memicu ketika sinyal tinggi (+ 5V), atau memicu ketika sinyal rendah (0V). Wemos sendiri mengeluarkan 3.3V dari pin digitalnya dan kami menggunakan D1 sebagai sumber pencetus kami, yang bermaksud kami perlu memperkuatnya sedikit, sehingga kami mendekati isyarat digital + 5V untuk mencetuskan relay. Sebagai pilihan anda boleh menggunakan relay 3.3V dan menghilangkan komponen penguat transistor dalam litar dan terus dari D1 ke pin isyarat pada relay. Saya tidak mempunyai relay 3.3V, jadi kami menggunakan geganti 5V dan litar amp yang lebih biasa.

DC + dan DC- pada relay menyambung ke pin 5V dan GND Wemos, yang menyediakan voltan yang diperlukan untuk mengendalikan relay. Relay dinilai dari voltan kecil hingga voltan talian, tetapi saya menggunakan ini untuk mengawal aplikasi pendawaian voltan rendah. Sekiranya anda menggunakan ini untuk mengawal voltan saluran, pastikan anda tahu apa yang anda lakukan, anda berkelayakan, dan anda mengambil langkah berjaga-jaga yang sewajarnya. Sekiranya tidak, jangan gunakan ini untuk mengawal aplikasi voltan saluran.

Pin D1 di Wemos menyambung ke perintang 47K ohm yang masuk ke dasar pada transistor NPN. Pemancar mengikat kembali ke tanah. Pengumpul disambungkan ke input isyarat pada relay. Relay diatur untuk memicu rendah, jadi ketika D1 memberikan isyarat, isyarat 3.3v diperkuat menjadi sekitar 5V dan relay terbuka. Apabila D1 rendah, isyarat ke relay menjadi rendah dan relay menutup dan menyelesaikan litar.

Saya terlupa mengambil gambar litar sementara saya di papan roti prototaip, tetapi kelihatan seperti gambarajah Fritzing di atas, jika ia berguna. Saya menyertakan sejumlah gambar litar kekal terakhir saya supaya anda dapat melihat bagaimana rangkaiannya tersambung, sekiranya anda memerlukan beberapa pandangan atau memerlukan penglihatan pada komponen tertentu yang saya gunakan.

Langkah 2: Memprogramkan Wemos - Gambaran Keseluruhan

Salah satu perkara yang saya suka mengenai Wemos ialah mereka dapat diprogramkan seperti Arduino, menggunakan IDE yang sama. Terdapat beberapa langkah di sini.

  1. Pasang pemacu Wemos ke komputer boleh bercakap dengan Wemos
  2. Kemas kini Arduino IDE supaya papan Wemos tersedia
  3. Lakukan ujian "Blink" pantas untuk memastikan semuanya berfungsi dengan betul
  4. Persiapkan diri dengan Blynk (saya tahu ia membingungkan, tetapi sebenarnya berbeza daripada "ujian berkelip")
  5. Dapatkan kod permohonan dari Blynk
  6. Kemas kini kod Wemos / Arduino dengan maklumat Blynk
  7. Muat naik kod ke persediaan Wemos anda.

Langkah 3: Memprogram Wemos - Pasang Pemacu

Memprogram Wemos - Pasang Pemacu
Memprogram Wemos - Pasang Pemacu

Pergi ke sini (pautan ini nampaknya berubah secara berkala, saya akan cuba memperbaruinya):

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

Dan muat turun pakej pemacu yang betul untuk OS anda. Kemudian ekstrak zip ke direktori dan jalankan aplikasi "SETUP" untuk memasangnya.

Semasa saya melakukan ini pada kali pertama, saya mendapat ralat pelik kerana tidak memasang. Saya melihat catatan orang lain mengenai perkara ini dan penyelesaiannya, yang sesuai untuk saya. Oleh itu, jika anda mendapat ralat, cuba gunakan butang "Nyahpasang" dan kemudian gunakan "Pasang" sekali lagi. Semoga perkara itu dapat menyelesaikan masalah seperti yang saya lakukan.

Langkah 4: Memprogram Wemos - Kemas kini Arduino IDE

Memprogram Wemos - Kemas kini Arduino IDE
Memprogram Wemos - Kemas kini Arduino IDE
Memprogram Wemos - Kemas kini Arduino IDE
Memprogram Wemos - Kemas kini Arduino IDE
Memprogram Wemos - Kemas kini Arduino IDE
Memprogram Wemos - Kemas kini Arduino IDE

Sekiranya anda belum memasang Arduino IDE, sekarang adalah masa yang tepat untuk melakukannya. Anda boleh memuat turunnya dari www.arduino.cc

Inilah rujukan untuk apa yang akan kita lakukan dalam langkah ini.

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

  1. Mari pasang papan baru sehingga muncul sebagai pilihan di Arduino IDE. Langkah 2 - 4 dipetik dari panduan pemasangan pada halaman github berikut.

    github.com/esp8266/Arduino

  2. Mulakan Arduino IDE dan buka tetingkap Preferences.
  3. Masukkan "https://arduino.esp8266.com/stable/package_esp8266com_index.json" ke dalam medan URL Pengurus Papan Tambahan. Anda boleh menambahkan beberapa URL, memisahkannya dengan koma.
  4. Buka Pengurus Papan dari Alat> Papan> Pengurus Papan (di bahagian atas), cari "esp8266" dan pasang platform esp8266 yang disenaraikan.
  5. Pada ketika ini anda akan melihat papan Wemos di Alat → Papan: xxx Pilih Wemos D1 Mini. Dalam kes saya, seperti yang anda lihat dari gambar, nama khusus adalah "LOLIN (WEMOS) D1 R2 & mini"
  6. Sambungkan kabel USB antara komputer dan Wemos
  7. Sahkan bahawa "Port" kini aktif dalam menu Tools dan kelihatan betul.

Langkah 5: Memprogram Wemos - Blink Test

Memprogramkan Ujian Wemos - Blink
Memprogramkan Ujian Wemos - Blink

Sebelum melangkah lebih jauh, kita perlu memastikan kita dapat berkomunikasi dengan papan Wemos dan semuanya kelihatan baik. Cara termudah untuk melakukan ini adalah pasangkan kabel USB dan cuba dan tekan program sederhana ke Wemos. Blink adalah contoh paling mudah dan banyak menjimatkan saya ketika bekerja dengan papan baru, bahawa saya selalu melakukan ini terlebih dahulu.

  1. Pergi ke: Fail> Contoh> ESP8266> Berkedip dan muatkan lakaran berkelip untuk peranti Wemos
  2. Susun dan muat naik lakaran

Sekiranya LED biru mula berkelip sekejap, maka anda boleh meneruskan langkah seterusnya! Sekiranya tidak, teruskan dan selesaikan masalah langkah sebelumnya. Lihat apakah ada masalah dengan pemandu dan pengurus dewan. Saya mempunyai beberapa masalah dengan pakej papan untuk ESP8266 dan harus menyahpasangnya sepenuhnya dan memasangnya semula kerana sesuatu yang pelik dengan versi yang berlaku. Jangan berputus asa, dan carian internet boleh menjadi rakan anda!

Dengan mengandaikan semuanya baik, teruskan ke langkah seterusnya.

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

Dalam langkah seterusnya, kita perlu membuat akaun dengan Blynk dan mendapatkan token untuk kita gunakan untuk mengawal litar yang telah kita buat.

  1. Muat turun aplikasinya, dan buat akaun (percuma)
  2. Buat projek baru
  3. Pilih Wemos D1 sebagai Perkakasan di bawah Pilih Peranti
  4. Beri nama projek dan simpan jenis penyambung sebagai WiFi
  5. Klik Buat Projek
  6. Pada ketika ini Auth Token akan diemail ke alamat e-mel yang anda gunakan semasa membuat akaun Blynk anda. Simpan untuk kemudian, kami akan memasukkan nilai ke dalam lakaran pada langkah seterusnya.
  7. Apabila anda sampai ke layar kanvas kosong, sapu ke kiri dan anda akan mendapat menu widget. Pilih "Butang" untuk menambah "butang" ke projek
  8. Pilih butang dan kemudian konfigurasikan Pin dengan mengkliknya dan memilih "Digital" dan "D1" sebagai pi dan klik "Ok"
  9. Pada ketika ini, semuanya mesti siap. Untuk menjadikannya aktif, anda ingin memilih ikon segitiga di kanan atas, tetapi ia tidak akan berfungsi lagi, sehingga sketsa dimuat naik dan dikonfigurasikan, yang merupakan langkah seterusnya!

Langkah 7: Memprogram Wemos - Memasang Perpustakaan Blynk

Untuk dapat memuat naik lakaran berdasarkan Blynk, kita perlu memasang perpustakaan mereka. Maklumatnya boleh didapati di sini.

github.com/blynkkk/blynk-library/releases

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

Ini pada mulanya membingungkan bagi saya, tetapi jauh lebih mudah daripada kedengarannya. Cukup unzip fail ke direktori Arduino anda. Bagi saya ini ada di / user / Documents / Arduino. Sudah ada folder bernama "perpustakaan" di sana. Fail zip mengandungi direktori "perpustakaan" dan "alat". Apabila anda membuka zip ke direktori Arduino, ia menambahkan kandungannya ke perpustakaan dan membuat alat jika belum ada.

Langkah 8: Memprogram Wemos - Lakaran

Kami hampir selesai pada masa ini. Lakarannya cukup mudah, ia langsung dari Blynk dan pada dasarnya menghubungkan perkhidmatan dan papan iklan Blynk. Anda boleh menggunakan pembina mereka di sini:

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

Atau anda boleh menggunakan sampel ini yang sesuai untuk anda. Pastikan anda mengganti nilai untuk token autentikasi dan kelayakan anda untuk rangkaian wifi anda.

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

Muat turun perpustakaan Blynk terkini di sini: https://github.com/blynkkk/blynk-library/releases/latest Blynk adalah platform dengan aplikasi iOS dan Android untuk mengawal Arduino, Raspberry Pi dan yang serupa melalui Internet. Anda boleh membina antara muka grafik dengan mudah untuk semua projek anda dengan hanya menyeret dan melepaskan widget. Muat turun, dokumen, tutorial: https://www.blynk.cc Penjana lakaran: https://examples.blynk.cc Komuniti Blynk: https://community.blynk.cc Ikuti kami: https://www.fb. com / blynkapp Perpustakaan Blynk dilesenkan di bawah lesen MIT Kod contoh ini berada dalam domain awam. ************************************************** *********** Anda boleh menghantar / menerima data menggunakan objek WidgetTerminal. Penyediaan projek aplikasi: Widget terminal dilampirkan pada Virtual Pin V1 *************************************** ********************** / / * Komen ini untuk melumpuhkan cetakan dan menjimatkan ruang * / #tentukan BLYNK_PRINT Serial #include #include // Anda harus mendapatkan Auth Token dalam Aplikasi Blynk. // Pergi ke Tetapan Projek (ikon kacang). char auth = "YourAuthToken"; // Kelayakan WiFi anda. // Tetapkan kata laluan ke "" untuk rangkaian terbuka. char ssid = "YourNetworkName"; char pass = "Kata Laluan Anda"; // Pasang terminal bersiri maya ke terminal Pin WidgetTerminal Maya (V1); // Anda boleh menghantar arahan dari Terminal ke perkakasan anda. Cukup gunakan // Pin Maya yang sama dengan Widget Terminal BLYNK_WRITE (V1) {// jika anda menaip "Marco" ke Terminal Widget - ia akan bertindak balas: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("Anda berkata: 'Marco'"); terminal.println ("Saya berkata: 'Polo'"); } lain {// Kirim semula terminal.print ("Anda berkata:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Pastikan semuanya dihantar terminal.flush (); } batal persediaan () {// Debug console Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Anda juga boleh menentukan pelayan: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Ini akan mencetak versi Perisian Blynk ke Widget Terminal apabila // perkakasan anda disambungkan ke terminal Pelayan Blynk.println (F ("Blynk v" BLYNK_VERSION ": Peranti dimulakan")); terminal.println (F ("-------------")); terminal.println (F ("Taip 'Marco' dan dapatkan balasan, atau taip")); terminal.println (F ("apa-apa lagi dan dapatkannya dicetak semula.")); terminal.flush (); } gelung kosong () {Blynk.run (); }

Langkah 9: Memprogram Wemos - Langkah Akhir

Image
Image

Setelah lakaran dimuat, kompilasi dan muat naik lakaran tersebut dan anda harus bersedia untuk menguji persediaan anda!

Buka aplikasi Blynk, klik segitiga di sudut kanan atas untuk Projek Wemos anda

Kemudian klik butang! Anda mesti mendengar klik geganti dan LED status pada papan geganti menunjukkan bahawa geganti telah berubah keadaan.

Kini anda boleh menyambungkan geganti ke aplikasi voltan rendah yang memerlukan suis sederhana dan mengawalnya dari aplikasi Blynk anda. Perkara terakhir yang perlu kita lakukan ialah mengikat IFTTT dan menggunakan Google atau Alexa untuk mengawal sistem Blynk jadi kita tidak perlu melakukannya dari aplikasi Blynk kami.

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

Saya menganggap pada ketika ini bahawa anda mempunyai beberapa keakraban dengan IFTTT. Sekiranya tidak, terdapat beberapa tutorial terbaik di luar sana yang akan membantu anda belajar bagaimana menggunakan dan memanfaatkan IFTTT. Ia sangat hebat dan sesuatu yang anda ingin pelajari sekiranya anda belum biasa.

  1. Buat applet baru di IFTTT
  2. Pilih Pembantu Google sebagai "Jika Ini" dan gunakan "Frasa Mudah" sebagai pencetus. Bagi saya, kerana ini akan menghidupkan atau mematikan perapian saya, ungkapan saya ialah "nyalakan perapian"
  3. Untuk bahagian "Kemudian Itu", cari dan gunakan Webhooks
  4. Pilih "Buat permintaan web"
  5. Untuk URL yang anda mahu gunakan:

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

  6. Tetapkan kaedah ke GET, jenis kandungan untuk dikodkan url, dan anda boleh membiarkan BODY kosong dan kemudian simpan

Tunggu beberapa minit dan kemudian teruskan dan uji frasa anda dengan peranti rumah google anda. Saya perhatikan bahawa diperlukan sekitar dua minit untuk siap.

CATATAN: satu perkara lain yang perlu diberi perhatian di sini. Perhatikan bahawa saya menggunakan "d5" dalam panggilan API saya, tetapi saya menyambung ke pin D1 di papan. Saya mengambil masa sekitar satu hari untuk mengetahui bahawa penomboran pin GPIO dan penomboran skrin yang dicetak di papan tidak sama. Setelah menukar nilai dengan panggilan URL langsung dan menguji voltan pada pin yang berbeza dengan meter volt, saya dapat melihat bahawa panggilan ke d1 melalui API memang mengubah voltan, tetapi tidak pada D1 di papan tulis. d5 / GPIO 5 sebenarnya sesuai dengan D1 di papan tulis. Setelah saya membuat penyesuaian itu, semuanya berjalan lancar!

Menghubungkan Alexa sama dengan rumah Google, hanya menggunakan perkhidmatan Alexa di IFTTT.

Langkah 11: Kesimpulannya

Pada ketika ini, anda harus mempunyai relay IOT kawalan suara yang berfungsi menggunakan mini lite Wemos D1. Selamat mencuba dan semoga berjaya!

Sekali lagi, elektrik berbahaya, jadi sila ambil langkah berjaga-jaga dan jika anda tidak berkelayakan, jangan.

Disyorkan: