Alexa (Echo) dengan ESP32 dan ESP8266

Dalam proyek ini, Anda akan belajar cara mengontrol ESP8266 atau ESP32 dengan perintah suara menggunakan Alexa (Amazon Echo Dot). Sebagai contoh, kami akan mengontrol dua lampu 12V yang terhubung ke modul relay. Kami juga akan menambahkan dua switch panel dinding RF 433 MHz untuk mengontrol lampu secara fisik.

Tonton Video Proyek Demonstrasi

Kami merekomendasikan tutorial berikut sebagai referensi:

Ikhtisar Proyek

Proyek ini berfungsi baik dengan ESP8266 dan ESP32. Kami menyediakan instruksi untuk kedua papan pengembangan. Sebelum langsung menuju ke proyek, baca bagian ini untuk melihat apa yang akan Anda capai pada akhir proyek ini.

Lampu Kontrol menggunakan Alexa

Pada akhir proyek ini Anda akan dapat mengontrol dua lampu ( lampu 1 dan lampu 2) dengan perintah suara menggunakan Alexa. Gambar di bawah ini menunjukkan gambaran tingkat tinggi tentang bagaimana proyek bekerja untuk mengendalikan lampu 1 – ia bekerja sama untuk lampu 2.

Alexa akan menanggapi perintah berikut:

  • “Alexa, nyalakan lampu 1” [19659010] “Alexa, matikan lampu 1”
  • “Alexa, nyalakan lampu 2”
  • “Alexa, nyalakan lampu 2”
  • “Alexa, nyalakan lampu” menyalakan kedua lampu
  • “Alexa , matikan lampu ”matikan kedua lampu

Ketika Anda mengatakan sesuatu seperti “ Alexa, nyalakan lampu 1 ”ESP8266 atau ESP32 akan memicu relay untuk menyalakan lampu 1. Saat Anda mengatakan sesuatu seperti “Alexa, matikan lampu 1” ESP8266 atau ESP32 akan mengirim sinyal ke relai untuk mematikan lampu. Ini berfungsi serupa untuk lampu 2.

Lampu Kontrol menggunakan 433 MHz Wall Switches

Dalam proyek ini, kami juga akan menambahkan dua switch dinding 433 MHz untuk mengontrol lampu secara fisik. Anda akan memiliki tombol untuk setiap lampu. Switch mengubah status lamp ke kebalikan dari statusnya saat ini. Misalnya, jika lampu mati, tekan sakelar dinding untuk menyalakannya. Untuk mematikannya, Anda hanya perlu menekan tombol lagi. Lihatlah gambar di bawah ini yang menggambarkan cara kerjanya.

Komponen yang Diperlukan

Berikut ini daftar lengkap dari bagian yang diperlukan untuk proyek ini (klik tautan di bawah ini untuk menemukan harga terbaik di Pembuat Advisor ):

Anda dapat menggunakan tautan sebelumnya atau langsung menuju MakerAdvisor.com/tools untuk menemukan semua bagian untuk proyek Anda dengan harga terbaik!

Bagaimana Membeli Amazon Echo

Anda dapat menggunakan tautan di bawah ini untuk membeli Amazon Echo. Ada beberapa model yang tersedia – semuanya kompatibel dengan proyek ini.

Membeli Amazon Echo melalui Amazon tidak memungkinkan untuk semua negara. Kami menyediakan tautan untuk Amazon di Inggris, AS, dan Jerman. Jika Amazon Echo tidak dikirim ke negara Anda melalui Amazon, Anda bisa mendapatkannya dari eBay (tersedia di seluruh dunia).

Echo Dot (Generasi ke-2)

Echo (Generasi ke-2)

Echo Show

433 MHz RF Wall Panel Switch

Switch panel dinding RF 433 MHz adalah cara terbaik untuk mengontrol perangkat dari jarak jauh. Ini dapat dengan mudah menempel pada dinding dengan tap perekat, tanpa perlu membuat lubang di dinding. Selain itu, nirkabel, jadi Anda tidak perlu khawatir tentang kabel dan kemudian menyembunyikan kabel.

Dalam proyek ini kami menggunakan dua switch panel dinding. Sebagai gantinya, Anda dapat menggunakan saklar panel dengan dua tombol – ada juga versi lain dengan tiga tombol.

Saklar panel dinding ini memiliki tombol tekan di sirkuitnya, seperti yang ditunjukkan pada gambar di bawah ini, ketika ditekan memancarkan sinyal 433 MHz. Anda dapat menggunakan sinyal itu untuk mengendalikan apa pun yang Anda inginkan. Saklar panel dinding ini menggunakan baterai tipe 27A 12V (tidak termasuk dalam paket). Jadi, Anda mungkin ingin membeli satu, ketika Anda mendapatkan saklar panel dinding.

Dekode Panel Dinding Beralih 433 MHz RF Sinyal

Ketika Anda menekan saklar panel dinding 433 MHz, ia akan mengirim sinyal 433 MHz. Anda perlu men-decode sinyal itu menggunakan receiver 433 MHz. Untuk mempelajari cara mendekode sinyal 433 MHz, bacalah posting berikut: Decode dan Kirim 433 MHz RF Signals dengan Arduino – baca bagian “Decoder Sketch”. Sketsa ini bekerja dengan Arduino, ESP32, dan ESP8266.

Catat kode desimal (24bit) untuk setiap switch Anda, karena Anda akan membutuhkannya nanti.

Dalam kasus saya:

  • switch 1: 6819768
  • switch 2: 9463928

Anda harus mendapatkan nilai yang berbeda. Anda kemudian akan menggunakan sinyal ini dalam sketsa ESP8266 atau ESP32 Anda. Ketika Anda menekan tombol, ia mengirimkan sinyal 433 MHz. Sinyal ini dideteksi oleh penerima yang terhubung ke ESP. Dengan cara ini, ESP tahu saklar ditekan dan itu membalikkan keadaan lampu saat ini.

The FauxmoESP

Untuk mengontrol ESP8266 atau ESP32 Anda dengan Amazon Echo, Anda perlu menginstal pustaka FauxmoESP. Perpustakaan ini mengemulasikan perangkat Belkin Wemo, memungkinkan Anda mengontrol ESP32 atau ESP8266 menggunakan protokol ini. Dengan cara ini, Echo atau Echo Dot langsung mengenali perangkat, setelah mengunggah kode, tanpa keterampilan tambahan atau layanan pihak ketiga. Anda dapat membaca lebih lanjut tentang FauxmoESP di sini .

Memasang Pustaka FauxmoESP

  1. Klik di sini untuk mengunduh pustaka FauxmoESP . Anda harus memiliki folder .zip di Unduhan
  2. Unzip folder .zip dan Anda harus mendapatkan folder xoseperez-fauxmoesp-50cbcf3087fd
  3. Ganti nama folder Anda dari xoseperez-fauxmoesp-50cbcf3087fd ke xoseperez_fauxmoesp
  4. Pindahkan folder xoseperez_fauxmoesp ke folder instalasi Arduino IDE
  5. Akhirnya, buka kembali Arduino IDE

Alexa – Echo Anda Dot dengan ESP8266

Ikuti petunjuk berikut ini jika Anda menggunakan ESP8266.

Memasang Papan ESP8266 di Arduino IDE

Untuk mengunggah kode ke ESP8266 Anda menggunakan Arduino IDE, Anda harus menginstal add-on untuk Arduino IDE yang memungkinkan Anda memprogram ESP8266 menggunakan Arduino IDE dan bahasa pemrogramannya. Jika Anda belum menginstal add-on ESP8266 untuk Arduino IDE, ikuti tutorial selanjutnya:

Memasang Perpustakaan ESPAsyncTCP

Anda juga perlu menginstal pustaka Perpustakaan ESPAsyncTCP. Ikuti instruksi selanjutnya untuk menginstalnya:

  1. Klik di sini untuk mengunduh pustaka ESPAsyncTCP . Anda harus memiliki folder .zip di Unduhan
  2. Unzip folder .zip dan Anda harus mendapatkan folder ESPAsyncTCP-master
  3. Ganti nama folder Anda dari E [19659045] SPAsyncTCP-master menjadi ESPAsyncTCP
  4. Pindahkan folder ESPAsyncTCP ke folder instalasi Arduino IDE
  5. Akhirnya, buka kembali Arduino IDE

Anda Skematis

Jika Anda menggunakan papan ESP8266, susun sirkuit Anda dengan mengikuti diagram skematis berikutnya – Anda dapat mengklik gambar untuk memperbesar.

Jika Anda mengalami kesulitan mengikuti diagram sirkuit, Anda dapat menggunakan tabel berikut sebagai referensi:

ESP8266 Hubungkan ke
GPIO 5 433 MHz penerima data pin
GPIO 4 Relay IN1 pin
GPIO 14 Relay IN2 pin

CATATAN PENTING : sebelum ap daya plying, pastikan Anda mengatur tegangan output konverter step-down buck ke 5V! Jika tidak, Anda dapat merusak ESP Anda.

Alexa – Echo Dot dengan ESP32

Ikuti petunjuk berikut ini jika Anda menggunakan ESP32.

Memasang Papan ESP32 di Arduino IDE

Untuk mengunggah kode ke ESP32 Anda menggunakan Arduino IDE, Anda harus menginstal add-on untuk Arduino IDE yang memungkinkan Anda memprogram ESP32 menggunakan Arduino IDE dan bahasa pemrogramannya. Jika Anda belum menginstal add-on ESP32 untuk Arduino IDE, ikuti tutorial selanjutnya:

Memasang Pustaka AsyncTCP

Anda juga perlu menginstal Pustaka AsyncTCP. Ikuti instruksi selanjutnya untuk menginstalnya:

  1. Klik di sini untuk mengunduh pustaka AsyncTCP . Anda harus memiliki folder .zip di Unduhan
  2. Unzip folder .zip dan Anda harus mendapatkan AsyncTCP-master folder
  3. Ganti nama folder Anda dari AsyncTCP- master to AsyncTCP
  4. Pindahkan folder AsyncTCP ke folder instalasi Arduino IDE
  5. Terakhir, buka kembali Arduino IDE

Skematik

Jika Anda kembali menggunakan papan ESP32, rakit sirkuit Anda dengan mengikuti diagram skematis berikutnya – Anda dapat mengklik gambar untuk memperbesar.

Jika Anda mengalami kesulitan mengikuti diagram sirkuit, Anda dapat menggunakan tabel berikut sebagai referensi:

ESP32 Tersambung ke
GPIO 13 433 MHz penerima data pin
GPIO 14 Relay IN1 pin
GPIO 12 Relay IN2 pin

CATATAN PENTING : sebelum mendaftar daya, pastikan Anda mengatur tegangan output konverter step-down buck ke 5V! Jika tidak, Anda dapat merusak ESP Anda.

Kode

Salin kode berikut ke Arduino IDE Anda, tetapi jangan mengunggahnya! Anda perlu membuat beberapa perubahan agar berhasil bagi Anda.

Memilih papan kanan

Kode ini berfungsi baik dengan ESP32 dan ESP8266. Untuk membuatnya bekerja untuk dewan Anda, Anda perlu memilih papan yang Anda gunakan di Alat > Board . Pilih model ESP8266 atau ESP32 Anda.

Tambahkan kredensial jaringan Anda

Anda perlu mengubah baris berikut untuk menyertakan kredensial jaringan Anda.

 #define WIFI_SSID " REPLACE_WITH_YOUR_SSID  "
#define WIFI_PASS " REPLACE_WITH_YOUR_PASSWORD " 

Tambahkan kode sinyal 433 MHz Anda

Anda juga perlu menyertakan sinyal yang telah Anda decode sebelumnya untuk switch panel dinding.

Ganti nilai yang disorot dalam merah dengan nilai yang Anda dapatkan untuk sakelar yang mengontrol lampu 1:

 jika (mySwitch.getReceivedValue () ==  6819768 ) {
digitalWrite (RELAY_PIN_1,! digitalRead (RELAY_PIN_1));
} 

Dan nilai untuk lampu 2 sebagai berikut:

 if (mySwitch.getReceivedValue () ==  9463928 )  {
digitalWrite (RELAY_PIN_2,! digitalRead (RELAY_PIN_2));
} 

Mengunggah kode

Setelah melakukan semua perubahan yang diperlukan, Anda dapat mengunggah kode ke ESP Anda. Pastikan Anda memiliki COM port yang dipilih, di Tools > Port . Untuk tujuan demonstrasi, Anda dapat membuka Monitor Serial Anda pada laju baud 115200, sementara Anda menyiapkan Echo Dot Anda.

Alexa, Discover Devices

Dengan sirkuit siap, dan kode diunggah ke ESP8266 atau ESP32 Anda, Anda perlu meminta alexa untuk menemukan perangkat.

Katakan: “Alexa, temukan perangkat”. Ini harus menjawab seperti yang ditunjukkan pada gambar di bawah.

Atau, Anda juga dapat menemukan perangkat menggunakan aplikasi Amazon Alexa, dengan mengikuti langkah-langkah yang ditunjukkan pada gambar di bawah ini.

[19659029] Kemudian, minta Alexa untuk menyalakan / mematikan lampu. Anda juga akan mendapatkan informasi tentang status lampu pada Monitor Serial.

Setelah memastikan semuanya berfungsi dengan baik, Anda dapat mengubah sirkuit Anda menjadi solusi permanen.

Demonstrasi

tujuan demonstrasi, kami telah membangun sirkuit kami di stripboard prototyping, dan melekat semuanya di papan kayu, seperti yang ditunjukkan pada gambar di bawah ini:

Sekarang Anda dapat meminta Alexa untuk mengontrol lampu Anda dengan yang berikut ini perintah suara:

  • “Alexa, nyalakan lampu 1”
  • “Alexa, matikan lampu 1”
  • “Alexa, nyalakan lampu 2”
  • “Alexa, nyalakan lampu 2”

Anda juga dapat mengontrol kedua lampu pada saat yang bersamaan dengan membuat grup di aplikasi Amazon Alexa. Kami menyebutnya “lampu”.

Sekarang, Anda dapat mengontrol kedua lampu pada saat yang sama, menggunakan perintah suara berikut.

  • “Alexa, nyalakan lampu”
  • “Alexa, matikan lampu ”

Anda juga dapat mengontrol lampu secara fisik menggunakan saklar panel dinding 433 MHz.

Membungkus

Dalam proyek ini kami telah menunjukkan cara mengontrol ESP8266 dan Anda ESP32 dengan perintah suara menggunakan Amazon Echo. Sebagai contoh, kami telah mengendalikan dua lampu 12V menggunakan relai. Alih-alih lampu 12V, Anda dapat mengontrol peralatan elektronik lainnya. Kami juga menunjukkan kepada Anda bagaimana Anda dapat mengontrol lampu dari jarak jauh menggunakan saklar panel dinding 433 MHz.

Kami harap Anda menemukan proyek ini bermanfaat. Jika Anda menyukai posting ini, Anda mungkin juga suka:

Terima kasih telah membaca.


Leave a Reply

Your email address will not be published. Required fields are marked *