Daftar Isi:

Saklar Kontrol Suara Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)
Saklar Kontrol Suara Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)

Video: Saklar Kontrol Suara Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)

Video: Saklar Kontrol Suara Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)
Video: CARA MEMBUAT SMART HOME | KONTROL PERALATAN RUMAH DENGAN PERINTAH SUARA 2024, Juli
Anonim
Sakelar Terkendali Suara Menggunakan Alexa dan Arduino
Sakelar Terkendali Suara Menggunakan Alexa dan Arduino

Tujuan utama dari proyek ini adalah menggunakan sensor suhu untuk mengontrol sakelar (relay) untuk menghidupkan atau mematikan perangkat.

Daftar bahan

  1. Modul Relai 12V == > $4.2
  2. Arduino uno == > $8
  3. Sensor suhu DHT11 == > $3
  4. Modul ESP8266 == > $4,74
  5. Optocoupler N26 == > $0,60
  6. Regulator tegangan LM1117 == > $0,60
  7. Papan tempat memotong roti == > $2.2
  8. Kabel jumper == > $2,5
  9. Tekan tombol == > $2,5

Total biaya proyek adalah sekitar $ 30 dolar. Proyek ini dibagi menjadi tiga bagian. Pertama, kami menggunakan heroku untuk membuat aplikasi. Kedua, kami membangun keterampilan Amazon Alexa untuk mengimplementasikan pekerjaan kami (Bagian terpenting). Ketiga, kami mengatur perangkat keras kami dan memprogramnya menggunakan Arduino IDE.

Langkah 1: Menghubungkan Heroku Dengan GitHub

Menghubungkan Heroku Dengan GitHub
Menghubungkan Heroku Dengan GitHub
Menghubungkan Heroku Dengan GitHub
Menghubungkan Heroku Dengan GitHub
Menghubungkan Heroku Dengan GitHub
Menghubungkan Heroku Dengan GitHub

Heroku adalah platform cloud sebagai layanan (PaaS) yang mendukung beberapa bahasa pemrograman yang digunakan sebagai model penyebaran aplikasi web. Pertama, buka situs heroku buat akun baru atau login di sana. Tautan diberikan di bawah ini

Situs Heroku

Mari kita mulai dengan membuat aplikasi baru. Saya telah memberikan nama aplikasi saya "iottempswitch" saat Anda menerapkan aplikasi, tautan dibuat.

Setelah aplikasi dibuat, buka GitHub. GitHub/

Masuk di sana atau daftar jika Anda tidak memiliki akun. Setelah login, buat repositori baru. Beri nama yang ingin Anda pilih lalu tekan buat repositori. Pada halaman berikutnya klik README, pada halaman ini berikan deskripsi yang ingin Anda bagikan kepada orang lain. Setelah itu klik komit file baru. Selanjutnya, klik tombol unggah.

Ada dua pilihan baik Anda drag dan drop folder atau memilih file. Unduh file yang diperlukan dari bawah. Setelah memilih file, tekan komit perubahan. Buka aplikasi yang Anda buat di Heroku lalu buka bagian penyebaran. Setelah itu Klik pada GitHub. Berikan nama repositori yang Anda buat di sisi GitHub. Dalam kasus saya ini adalah Smart-Relay. Salin itu dan tempel di sini. Setelah tautan Anda ditampilkan, klik sambungkan. Selanjutnya, klik pada deploy branch(manual). Setelah menerapkan, Anda dapat melihat tautan di log build atau Anda dapat melihat tautan di pengaturan. Kami membutuhkan tautan ini nanti ketika kami membuat keterampilan Amazon.

Langkah 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Gambar terbaru dari keterampilan Alexa

Di situs Pengembang Amazon, kami menggunakan keterampilan Amazon untuk mengontrol pemicu sakelar dengan mengatur suhu dan kelembaban.

Buka Situs Pengembang Amazon. Tautan diberikan di bawah ini.

Situs Web Pengembang Amazon

  • Buka konsol Pengembang di kanan atas seperti yang ditunjukkan pada gambar i4
  • Masuk ke Alexa lalu pilih Alexa Skill Kit lalu buat skill baru dengan mengklik Add new skill.

Saat Anda menambahkan keterampilan baru, Anda akan melihat halaman informasi keterampilan.

1. Informasi Keterampilan (seperti yang ditunjukkan pada gambar i7)

kita harus menyediakan jenis keterampilan, bahasa, nama, nama panggilan.

Jenis keterampilan ==> pilih kustom

  • Nama ==> pilih nama apa saja.
  • Nama panggilan ==> yang Anda gunakan saat berkomunikasi dengan Alexa. Misalnya;- Alexa, minta sensor untuk mengaktifkan pemicu sakelar atau Alexa, minta lampu di sini nama panggilan adalah sensor dan lampu.
  • Bahasa ==> Inggris (India). Pilih sesuai dengan negara Anda

klik simpan lalu selanjutnya

2. Model Interaksi

Di sini, kita akan menggunakan pembangun keterampilan. Jadi, Klik Luncurkan Pembuat Keterampilan. Anda akan melihat halaman seperti yang ditunjukkan pada gambar i8.

Pertama kita buat maksud baru. Klik Tambah (di sisi kiri) dan beri nama yang Anda inginkan saya menggunakan "smartswitch"

  • Beri nama jenis slot "measurement_type" dan nilai slot "suhu" dan "kelembaban" seperti yang ditunjukkan pada gambar i9.

  • Setelah itu tambahkan nama jenis slot “query” dan nilai slot adalah “what” dan “is” seperti terlihat pada gambar i10.
  • Setelah itu tambahkan jenis slot "switchstate" dan nilai slot "on" dan "off" seperti yang ditunjukkan pada gambar i11.
  • Tambahkan jenis slot lain "tempscale" dan nilai slotnya adalah "fahrenheit" dan "celcuis" seperti yang ditunjukkan pada gambar i12.
  • Setelah itu tambahkan jenis slot baru di sini kita menggunakan jenis slot yang ada untuk itu kita harus mengklik gunakan slot yang ada. Di slot yang ada cari amazon.number dan pilih ini dan tambahkan. Setelah menambahkannya Anda akan melihatnya dalam jenis slot seperti yang ditunjukkan pada gambar i13.

Jadi kita selesai dengan jenis slot total jenis slot yang kita gunakan adalah 5. Sekarang, pindah ke langkah berikutnya. Klik pada maksud yang kita buat, dalam kasus saya itu adalah smartswitch. Di sisi kanan Anda akan melihat slot maksud seperti yang ditunjukkan pada gambar i14.

  • Buat slot baru, beri nama "Switch_State" dan petakan ke "switchstate" dengan menggunakan tombol drop down seperti yang ditunjukkan pada gambar i15.
  • Buat slot baru, beri nama "Sensor_Values" dan petakan ke "measurement_type" seperti yang ditunjukkan pada gambar i16.
  • Buat slot baru, beri nama "query" dan petakan ke "query" seperti yang ditunjukkan pada gambar i17.
  • Setelah itu buat slot baru "tmp_scale" dan petakan ke "tempscale" seperti yang ditunjukkan pada gambar i18.
  • Buat slot baru "Nomor" dan petakan ke "Amazon. Numbers" seperti yang ditunjukkan pada gambar i19.

Sekarang kita selesai dengan slot Intent. Kami menggunakan 5 slot maksud. Setelah ini kita pindah ke Contoh Ucapan seperti yang ditunjukkan pada gambar i20.

Tambahkan contoh ucapan ini.

setel pemicu sakelar ke {Numbers} persen {tmp_scale}

{query} adalah status sakelar

Pemicu sakelar {Switch_State}

setel pemicu sakelar ke {Numbers} derajat {tmp_scale}

putar sakelar {Switch_State}

{query} beralih {Switch_State}

{query} adalah {Sensor_Values} saat ini

Setelah ini simpan model dan bangun. Tunggu model yang akan dibangun setelah itu klik pada konfigurasi. Setelah membangun Anda akan melihat pesan seperti yang ditunjukkan pada gambar i21 dan i22.

3. Konfigurasi

Pilih HTTPS dan tambahkan tautan yang dihasilkan saat membuat aplikasi heroku. Dalam kasus saya ini adalah https://iottempswitch.herokuapp.com/. Setelah menambahkan tautan klik berikutnya seperti yang ditunjukkan pada gambar i23.

4. Sertifikat SSL Pilih opsi kedua dan klik berikutnya seperti yang ditunjukkan pada gambar i24.

kami telah berhasil menciptakan keterampilan kami.

Langkah 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Buka Arduino IDE. Kemudian pergi ke File ==> Preference

Di Pengelola Papan Tambahan, salin dan tempel URL dan klik ok seperti yang ditunjukkan pada gambar i26.

arduino.esp8266.com/versions/2.4.0/package_…

  • Buka Board Manager dengan masuk ke Tools ==> Board ==> Board Manager.
  • Buka Boards Manager dan cari nodemcu seperti pada gambar i27.
  • Setelah itu download ESP8266WiFi library. Open library Manager: Sketch ==> Include library ==> Manage Libraries.
  • Cari perpustakaan ESP8266WiFi dan instal.
  • Pilih papan ==> Modul ESP8266 Generik.
  • Sebelum mengupload kode, kita membutuhkan tiga library.

Perpustakaan yang diperlukan

Pindahkan library ini ke folder library Arduino

Anda harus mengubah tiga hal dalam kode SSID, PWD dan tautan aplikasi heroku Anda. Setelah itu, unggah kode tersebut. Untuk Modul ESP Anda harus menekan tombol flash saat mengunggah kode lalu tekan tombol reset satu kali lalu lepaskan tombol flash. Setelah mengupload kode, buka terminal. Anda akan melihat keluaran.

Langkah 4: Deskripsi Komponen

Deskripsi komponen
Deskripsi komponen
Deskripsi komponen
Deskripsi komponen
Deskripsi komponen
Deskripsi komponen
Deskripsi komponen
Deskripsi komponen

1. Apa itu Relay?

Relay adalah perangkat elektromagnetik yang digunakan untuk mengisolasi dua sirkuit secara elektrik dan menghubungkannya secara magnetis. Mereka adalah perangkat yang sangat berguna dan memungkinkan satu sirkuit untuk beralih yang lain saat mereka benar-benar terpisah. Mereka sering digunakan untuk menghubungkan sirkuit elektronik (bekerja pada tegangan rendah) ke sirkuit listrik yang bekerja pada tegangan sangat tinggi. Misalnya, relai dapat membuat rangkaian baterai DC 5V untuk mengganti rangkaian listrik AC 230V.

Bagaimana itu bekerja

Sakelar relai dapat dibagi menjadi dua bagian: input dan output. Bagian input memiliki kumparan yang menghasilkan medan magnet ketika tegangan kecil dari rangkaian elektronik diterapkan padanya. Tegangan ini disebut tegangan operasi. Relay yang umum digunakan tersedia dalam konfigurasi tegangan operasi yang berbeda seperti 6V, 9V, 12V, 24V dll. Bagian output terdiri dari kontaktor yang menghubungkan atau memutuskan secara mekanis. Dalam relai dasar ada tiga kontaktor: biasanya terbuka (NO), biasanya tertutup (NC) dan umum (COM). Pada keadaan tidak ada input, COM terhubung ke NC. Ketika tegangan operasi diterapkan, koil relai diberi energi dan COM mengubah kontak menjadi NO. Konfigurasi relai yang berbeda tersedia seperti SPST, SPDT, DPDT dll, yang memiliki jumlah kontak changeover yang berbeda. Dengan menggunakan kombinasi kontaktor yang tepat, rangkaian listrik dapat dinyalakan dan dimatikan. Dapatkan detail dalam tentang struktur sakelar relai.

Terminal COM adalah terminal umum. Jika terminal COIL diberi energi dengan tegangan pengenal, terminal COM dan NO memiliki kontinuitas. Jika terminal COIL tidak diberi energi, maka terminal COM dan NO tidak memiliki kontinuitas.

Terminal NC adalah terminal Biasanya Tertutup. Ini adalah terminal yang dapat dihidupkan bahkan jika relai tidak menerima tegangan apa pun atau cukup untuk beroperasi.

Terminal NO adalah terminal Biasanya Terbuka. Ini adalah terminal di mana Anda menempatkan output yang Anda inginkan ketika relai menerima tegangan pengenalnya. Jika tidak ada tegangan ke terminal COIL atau tegangan tidak mencukupi, output terbuka dan tidak menerima tegangan. Ketika terminal COIL menerima tegangan pengenal atau sedikit di bawah, terminal NO menerima tegangan yang cukup dan dapat menghidupkan perangkat pada output.

2. Sensor suhu DHT

DHT11 adalah Sensor Kelembaban dan Suhu, yang menghasilkan keluaran digital terkalibrasi. DHT11 dapat berinteraksi dengan pengontrol mikro apa pun seperti Arduino, Raspberry Pi, dll. Dan mendapatkan hasil instan. DHT11 adalah sensor suhu dan kelembaban berbiaya rendah yang memberikan keandalan tinggi dan stabilitas jangka panjang.

3. Deskripsi Lengkap ESP8266

Modul WiFi ESP8266 adalah SOC mandiri dengan tumpukan protokol TCP/IP terintegrasi yang dapat memberikan akses mikrokontroler apa pun ke jaringan WiFi Anda. ESP8266 mampu menghosting fungsi jaringan aplikasi dari aplikasi lain. Setiap modul ESP8266 telah diprogram sebelumnya dengan perintah AT.

ESP8266 mendukung APSD untuk aplikasi VoIP dan antarmuka koeksistensi Bluetooth, ini berisi RF yang dikalibrasi sendiri yang memungkinkannya bekerja di bawah semua kondisi pengoperasian, dan tidak memerlukan komponen RF eksternal.

Fitur

  • 802.11 b/g/n
  • Wi-Fi Langsung (P2P),
  • tumpukan protokol TCP/IP terintegrasi API lembut
  • Sakelar TR terintegrasi, balun, LNA, penguat daya, dan jaringan yang sesuai
  • PLL, regulator, DCXO, dan unit manajemen daya terintegrasi
  • Daya keluaran +19.5dBm dalam mode 802.11b
  • Matikan arus bocor <10uA
  • Memori Flash 1MB
  • CPU 32-bit berdaya rendah terintegrasi dapat digunakan sebagai prosesor aplikasi
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMOA-MPDU & A-MSDU agregasi & interval penjaga 0.4ms
  • Bangun dan kirimkan paket dalam <2ms
  • Konsumsi daya siaga <1.0mW (DTIM3)

Deskripsi Pin seperti yang ditunjukkan pada gambar i34.

Untuk menghubungkan Modul ESP dengan Arduino UNO kita membutuhkan regulator tegangan Lm1117 3.3 atau regulator apa pun karena Arduino tidak mampu memberikan 3,3 v ke ESP8266.

Catatan: - Saat mengunggah kode, tekan tombol flash lalu tekan tombol reset satu kali lalu lepaskan tombol flash seperti yang ditunjukkan pada gambar i29.

Untuk menghubungkan sensor dan relay DHT11 kami menggunakan dua pin GPIO dari Modul ESP8266. Setelah mengunggah kode, Anda dapat memutuskan pin RX, TX, GPIO0. Saya telah menggunakan GPIO0 untuk sensor DHT11 dan GPIO2 untuk relay. Sensor DHT11 bekerja dengan baik dengan ESP8266 tetapi untuk relay kita memerlukan satu hal tambahan yaitu opto isolator atau opto coupler. Lihat gambar i30, i31, i32 dan i33.

Langkah 5: Koneksi

ESP8266 === > DHT11GPIO0 === > Pin keluaran

ESP8266 === > RelayGPIO2 ===> Masukan

ARDUINO ===> ESP8266

Gnd ===> GndTX === > TX

RX === > RX

Tombol Atur Ulang === > RST

Tombol Flash === > GPIO0

Langkah 6: Memeriksa Semua Hal

Memeriksa Semua Hal
Memeriksa Semua Hal
Memeriksa Semua Hal
Memeriksa Semua Hal
Memeriksa Semua Hal
Memeriksa Semua Hal
Memeriksa Semua Hal
Memeriksa Semua Hal

Kami telah berhasil membuat aplikasi kami, keterampilan, dan perangkat keras kami siap. Jadi, saatnya untuk memeriksa.

Untuk itu ESP8266 Anda dihidupkan karena server kami berjalan di ESP8266. Di sini saya belum menghubungkan sensor apa pun ke ESP8266. Saya hanya memeriksa apakah berfungsi atau tidak, tetapi Anda dapat menghubungkan sensor, relai ke ESP8266. Setelah terhubung ke Heroku Anda akan melihat terhubung. Untuk pengujian, buka keterampilan Amazon yang Anda buat, lalu klik halaman pengujian. Setelah diverifikasi berfungsi, saya akan menghubungkan sensor saya ke ESP8266. Anda dapat melihat hasil seperti yang ditunjukkan pada gambar i35, i36, 37, 38, 39, 40.

Jika Anda menggunakannya tanpa menghubungkan ESP8266 Anda mendapatkan kesalahan ini seperti yang ditunjukkan pada gambar i41.

Ucapan yang dapat Anda gunakan

setel pemicu sakelar ke {Numbers} persen {tmp_scale}

mis: - atur pemicu sakelar ke kelembaban 50 persen

{query} adalah status sakelar

ex-on/off adalah status sakelar

Pemicu sakelar {Switch_State}

ex-on/off pemicu saklar

setel pemicu sakelar ke {Numbers} derajat {tmp_scale}

ex - setel pemicu sakelar ke 76 derajat fahrenheit

ex - setel pemicu sakelar ke 24 derajat celcius

putar sakelar {Switch_State}

ex - nyalakan/matikan

Lihat gambar i41 hingga i46 untuk hasilnya.

Saat berbicara dengan AlexaAlexa, minta arduino untuk mengaktifkan/menonaktifkan pemicu sakelar

Alexa, minta arduino untuk mengatur pemicu sakelar ke 24 derajat celsius.

Alexa, minta arduino untuk mengatur pemicu sakelar ke kelembaban 50 persen

Alexa, minta arduino untuk menghidupkan/mematikan

Langkah 7: Diagram VUI (Antarmuka Pengguna Suara)

Diagram VUI (Antarmuka Pengguna Suara)
Diagram VUI (Antarmuka Pengguna Suara)

Langkah 8: Demo

Image
Image

1. Atur pemicu untuk suhu dan kelembaban.

2. Atur pemicu ke 20 derajat celsius.

3. Atur pemicu ke kelembaban 80 persen.

Langkah 9: Skema

Direkomendasikan: