Isi kandungan:

Suis Dikawal Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)
Suis Dikawal Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)

Video: Suis Dikawal Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)

Video: Suis Dikawal Menggunakan Alexa dan Arduino: 10 Langkah (dengan Gambar)
Video: SULTAN MEDAN INDRAKENZ NAIK JET PRIBADI KE PULAU PRIBADI!! 2024, Jun
Anonim
Suis Terkawal Suara Menggunakan Alexa dan Arduino
Suis Terkawal Suara Menggunakan Alexa dan Arduino

Tujuan utama projek ini adalah menggunakan sensor suhu untuk mengawal suis (relay) untuk menghidupkan atau mematikan peranti.

Senarai bahan

  1. Modul Relay 12V ==> $ 4.2
  2. Arduino uno ==> $ 8
  3. Sensor suhu DHT11 ==> $ 3
  4. Modul ESP8266 ==> $ 4,74
  5. N26 optocoupler ==> $ 0.60
  6. Pengatur voltan LM1117 ==> $ 0.60
  7. Papan Roti ==> $ 2.2
  8. Wayar pelompat ==> $ 2.5
  9. Butang tekan ==> $ 2.5

Jumlah kos projek adalah sekitar $ 30 dolar. Projek ini terbahagi kepada tiga bahagian. Pertama, kami menggunakan heroku untuk membuat aplikasi. Kedua, kami membina kemahiran Amazon Alexa untuk melaksanakan kerja kami (Bahagian terpenting). Ketiga, kami menyediakan perkakasan dan memprogramkannya menggunakan Arduino IDE.

Langkah 1: Menghubungkan Heroku Dengan GitHub

Mengaitkan Heroku Dengan GitHub
Mengaitkan Heroku Dengan GitHub
Mengaitkan Heroku Dengan GitHub
Mengaitkan Heroku Dengan GitHub
Mengaitkan Heroku Dengan GitHub
Mengaitkan Heroku Dengan GitHub

Heroku adalah platform cloud sebagai perkhidmatan (PaaS) yang menyokong beberapa bahasa pengaturcaraan yang digunakan sebagai model penyebaran aplikasi web. Pertama, pergi ke laman web heroku buat akaun baru atau log masuk ke sana. Pautan diberikan di bawah

Laman web Heroku

Mari kita mulakan dengan membuat aplikasi baru. Saya telah memberikan nama aplikasi saya "iottempswitch" semasa anda menggunakan aplikasi, pautan dihasilkan.

Setelah aplikasi dibuat, pergi ke GitHub. GitHub /

Masuk ke sana atau daftar sekiranya anda tidak mempunyai akaun. Setelah log masuk, buat repositori baru. Berikan sebarang nama yang anda mahu pilih dan kemudian tekan buat repositori. Pada halaman seterusnya klik README, pada halaman ini berikan keterangan yang ingin anda kongsi dengan orang lain. Selepas itu klik fail baru. Seterusnya, klik pada butang muat naik.

Terdapat dua pilihan sama ada anda drag and drop folder atau pilih file. Muat turun fail yang diperlukan dari bawah. Setelah memilih fail tekan melakukan perubahan. Buka aplikasi yang anda buat di Heroku kemudian pergi ke bahagian penyebaran. Selepas itu Klik pada GitHub. Beri nama repositori yang anda buat di sisi GitHub. Dalam kes saya, ia adalah Smart-Relay. Salin dan tampal di sini. Setelah pautan anda ditunjukkan, klik sambung. Seterusnya, klik pada menyebarkan cawangan (manual). Setelah menggunakan, anda dapat melihat pautan dalam log binaan atau pautan dalam tetapan. Kami memerlukan pautan ini kemudian ketika kami membuat kemahiran Amazon.

Langkah 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Imej terkini kemahiran Alexa

Di laman Amazon Developer kami menggunakan kemahiran Amazon untuk mengawal pemicu suis dengan menetapkan suhu dan kelembapan.

Pergi ke Laman Web Pembangun Amazon. Pautan diberikan di bawah.

Laman Web Pembangun Amazon

  • Pergi ke Developer console di kanan atas seperti yang ditunjukkan pada gambar i4
  • Pergi ke Alexa kemudian pilih Alexa Skill Kit dan kemudian buat kemahiran baru dengan mengklik Tambahkan kemahiran baru.

Apabila anda menambah kemahiran baru, anda akan melihat halaman maklumat kemahiran.

1. Maklumat Kemahiran (seperti yang ditunjukkan pada gambar i7)

kita harus memberikan jenis kemahiran, bahasa, nama, nama panggilan.

Jenis kemahiran ==> pilih ubahsuaian

  • Nama ==> pilih mana-mana nama.
  • Nama panggilan ==> yang anda gunakan semasa berkomunikasi dengan Alexa. Sebagai contoh; - Alexa, minta sensor untuk menghidupkan pemicu suis atau Alexa, minta cahaya di sini nama-nama panggilan adalah sensor dan cahaya.
  • Bahasa ==> Inggeris (India). Pilih mengikut negara anda

klik simpan dan kemudian seterusnya

2. Model Interaksi

Di sini, kita akan menggunakan pembangun kemahiran. Jadi, Klik pada Launch Skill Builder. anda akan melihat halaman seperti dalam gambar i8.

Mula-mula kita membuat niat baru. Klik Tambah (di sebelah kiri) dan beri nama yang anda mahukan saya menggunakan "smartswitch"

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

  • Selepas itu tambahkan nama jenis slot "query" dan nilai slot adalah "what" dan "is" seperti yang ditunjukkan dalam gambar i10.
  • Selepas itu tambahkan slot jenis "switchstate" dan nilai slot adalah "on" dan "off" seperti yang ditunjukkan dalam gambar i11.
  • Tambahkan jenis slot lain "tempscale" dan nilai slot adalah "fahrenheit" dan "celcuis" seperti yang ditunjukkan pada gambar i12.
  • Selepas itu tambahkan jenis slot baru di sini kita menggunakan jenis slot yang ada untuk itu kita harus mengklik menggunakan slot yang ada. Dalam carian slot yang ada untuk amazon.number dan pilih ini dan tambahkannya. Setelah menambahkannya, anda akan melihatnya dalam jenis slot seperti yang ditunjukkan dalam gambar i13.

Jadi kita selesai dengan jenis slot jumlah slot yang kita gunakan ialah 5. Sekarang, beralih ke langkah seterusnya. Klik niat yang kita buat, dalam kes saya ini adalah smartswitch. Di sebelah 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 butang drop down seperti yang ditunjukkan pada gambar i15.
  • Buat slot baru, beri nama "Sensor_Values" dan petakan ke "pengukuran_jenis" 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 "Numbers" dan petakan ke "Amazon. Numbers" seperti yang ditunjukkan pada gambar i19.

Sekarang kita selesai dengan slot Intent. Kami menggunakan 5 slot niat. Selepas ini kita beralih ke Contoh Contoh seperti yang ditunjukkan pada gambar i20.

Tambahkan ujaran sampel ini.

tetapkan pencetus suis ke {Nombor} peratus {tmp_scale}

{query} adalah keadaan suis

Pencetus suis {Switch_State}

tetapkan pencetus suis ke {Nombor} darjah {tmp_scale}

suis pusing {Switch_State}

{query} beralih {Switch_State}

{query} adalah {Sensor_Values} terkini

Selepas ini simpan model dan bina. Tunggu model dibina selepas itu klik pada konfigurasi. Selepas membina anda akan melihat mesej seperti yang ditunjukkan dalam gambar i21 dan i22.

3. Konfigurasi

Pilih HTTPS dan tambahkan pautan yang dihasilkan semasa membuat aplikasi heroku. Dalam kes saya, ia adalah https://iottempswitch.herokuapp.com/. Setelah menambah pautan klik di sebelah seperti yang ditunjukkan pada gambar i23.

4. Sijil SSL Pilih pilihan kedua dan klik seterusnya seperti yang ditunjukkan pada gambar i24.

kami berjaya mencipta kemahiran kami.

Langkah 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Buka Arduino IDE. Kemudian pergi ke Fail ==> Keutamaan

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

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

  • Buka Pengurus Papan dengan pergi ke Alat ==> Papan ==> Pengurus Papan.
  • Buka Pengurus Papan dan cari nodemcu seperti yang ditunjukkan pada gambar i27.
  • Selepas itu muat turun perpustakaan ESP8266WiFi. Buka Pengurus perpustakaan: Sketsa ==> Sertakan perpustakaan ==> Uruskan Perpustakaan.
  • Cari perpustakaan ESP8266WiFi dan pasangnya.
  • Pilih papan ==> Modul ESP8266 Generik.
  • Sebelum memuat naik kod, kami memerlukan tiga perpustakaan.

Perpustakaan yang diperlukan

Pindahkan perpustakaan ini ke folder perpustakaan Arduino

Anda mesti menukar tiga perkara dalam kod SSID, PWD dan pautan aplikasi heroku anda. Selepas itu memuat naik kod. Untuk Modul ESP anda harus menekan butang flash semasa memuat naik kod dan kemudian tekan butang reset sekali dan kemudian lepaskan butang denyar. Setelah memuat naik kod, buka terminal. anda akan melihat output.

Langkah 4: Penerangan Komponen

Penerangan Komponen
Penerangan Komponen
Penerangan Komponen
Penerangan Komponen
Penerangan Komponen
Penerangan Komponen
Penerangan Komponen
Penerangan Komponen

1. Apa itu Relay

Relay adalah alat elektromagnetik yang digunakan untuk mengasingkan dua litar secara elektrik dan menghubungkannya secara magnet. Mereka adalah alat yang sangat berguna dan membolehkan satu litar bertukar yang lain semasa mereka terpisah sepenuhnya. Mereka sering digunakan untuk menghubungkan litar elektronik (bekerja pada voltan rendah) ke litar elektrik yang berfungsi pada voltan yang sangat tinggi. Sebagai contoh, geganti boleh membuat litar bateri DC 5V untuk menukar litar sesalur AC 230V.

Bagaimana ia berfungsi

Suis geganti boleh dibahagikan kepada dua bahagian: input dan output. Bahagian input mempunyai gegelung yang menghasilkan medan magnet apabila voltan kecil dari litar elektronik diterapkan padanya. Voltan ini dipanggil voltan operasi. Relay yang biasa digunakan boleh didapati dalam konfigurasi voltan operasi yang berbeza seperti 6V, 9V, 12V, 24V dan lain-lain. Bahagian output terdiri daripada contactor yang menyambung atau memutuskan secara mekanikal. Dalam relay asas terdapat tiga kontaktor: biasanya terbuka (TIDAK), biasanya tertutup (NC) dan biasa (COM). Tanpa keadaan input, COM disambungkan ke NC. Semasa voltan operasi digunakan gegelung geganti akan bertenaga dan COM menukar hubungan menjadi NO. Konfigurasi geganti yang berbeza boleh didapati seperti SPST, SPDT, DPDT dan lain-lain, yang mempunyai bilangan kenalan pertukaran yang berbeza. Dengan menggunakan kombinasi kontaktor yang betul, litar elektrik dapat dihidupkan dan dimatikan. Dapatkan maklumat dalaman mengenai struktur suis geganti.

Terminal COM adalah terminal biasa. Sekiranya terminal COIL diberi tenaga dengan voltan pengenal, terminal COM dan NO mempunyai kesinambungan. Sekiranya terminal COIL tidak diaktifkan, terminal COM dan NO tidak mempunyai kesinambungan.

Terminal NC adalah terminal Tertutup Biasanya. Ia adalah terminal yang dapat dihidupkan walaupun geganti tidak menerima voltan atau mencukupi untuk beroperasi.

Terminal NO adalah terminal Terbuka Biasa. Ia adalah terminal di mana anda meletakkan output yang anda mahukan semasa relay menerima voltan pengenalnya. Sekiranya tidak ada voltan ke terminal COIL atau voltan tidak mencukupi, outputnya terbuka dan tidak menerima voltan. Apabila terminal COIL menerima voltan pengenal atau sedikit di bawah, terminal NO menerima voltan yang mencukupi dan dapat menghidupkan peranti pada output.

2. Sensor suhu DHT

DHT11 adalah Sensor Kelembapan dan Suhu, yang menghasilkan output digital yang dikalibrasi. DHT11 boleh dihubungkan dengan pengawal mikro seperti Arduino, Raspberry Pi, dan lain-lain serta mendapat hasil seketika. DHT11 adalah sensor kelembapan dan suhu kos rendah yang memberikan kebolehpercayaan tinggi dan kestabilan jangka panjang.

3. ESP8266 Penerangan Lengkap

Modul WiFi ESP8266 adalah SOC mandiri dengan tumpukan protokol TCP / IP bersepadu yang dapat memberikan akses mikrokontroler ke rangkaian WiFi anda. ESP8266 mampu mengehoskan fungsi rangkaian aplikasi dari aplikasi lain. Setiap modul ESP8266 dilengkapi pra-program dengan perintah AT.

ESP8266 menyokong APSD untuk aplikasi VoIP dan antaramuka Bluetooth, ia mengandungi RF yang dikalibrasi sendiri yang membolehkannya berfungsi dalam semua keadaan operasi, dan tidak memerlukan bahagian RF luaran.

ciri-ciri

  • 802.11 b / g / n
  • Wi-Fi Direct (P2P),
  • timbunan protokol TCP / IP lembut-AP
  • Suis TR bersepadu, balun, LNA, penguat kuasa dan rangkaian yang sepadan
  • PLL bersepadu, pengawal selia, DCXO dan unit pengurusan kuasa
  • + 19.5dBm output kuasa dalam mod 802.11b
  • Menurunkan arus kebocoran <10uA
  • Memori Kilat 1MB
  • CPU 32-bit daya rendah yang terintegrasi dapat digunakan sebagai pemproses aplikasi
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, agregat 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU & selang pengawal 0.4ms
  • Bangun dan hantar paket dalam <2ms
  • Penggunaan kuasa siap sedia <1.0mW (DTIM3)

Huraian Pin seperti yang ditunjukkan dalam gambar i34.

Untuk menyambungkan Modul ESP dengan Arduino UNO, kami memerlukan pengatur voltan Lm1117 3.3 atau pengatur apa pun kerana Arduino tidak mampu menyediakan 3.3 v ke ESP8266.

Catatan: - Semasa memuat naik kod tekan butang flash dan kemudian tekan butang set semula sekali dan kemudian lepaskan butang kilat seperti yang ditunjukkan pada gambar i29.

Untuk menyambungkan sensor dan relay DHT11 kami menggunakan dua pin GPIO Modul ESP8266. Selepas memuat naik kod anda boleh memutuskan pin RX, TX, GPIO0. Saya telah menggunakan GPIO0 untuk sensor DHT11 dan GPIO2 untuk relay. Sensor DHT11 berfungsi dengan baik dengan ESP8266 tetapi untuk relay kita memerlukan satu perkara tambahan iaitu opto isolator atau opto coupler. Lihat gambar i30, i31, i32 dan i33.

Langkah 5: Sambungan

ESP8266 ===> DHT11GPIO0 ===> Pin output

ESP8266 ===> RelayGPIO2 ===> Input

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Butang Tetapkan Semula ===> RST

Butang Kilat ===> GPIO0

Langkah 6: Memeriksa Semua Perkara

Memeriksa Semua Perkara
Memeriksa Semua Perkara
Memeriksa Semua Perkara
Memeriksa Semua Perkara
Memeriksa Semua Perkara
Memeriksa Semua Perkara
Memeriksa Semua Perkara
Memeriksa Semua Perkara

Kami berjaya mencipta aplikasi, kemahiran dan perkakasan kami sudah siap. Jadi, sudah tiba masanya untuk memeriksa.

Untuk itu ESP8266 anda dihidupkan kerana pelayan kami berjalan pada ESP8266. Di sini saya belum menyambungkan sensor ke ESP8266 Saya hanya memeriksa sama ada berfungsi atau tidak tetapi anda boleh menyambungkan sensor, relay ke ESP8266. Setelah disambungkan ke Heroku, anda akan melihatnya bersambung. Untuk ujian pergi ke kemahiran Amazon yang anda buat, kemudian klik pada halaman ujian. Setelah disahkan berfungsi, saya akan menyambungkan sensor saya ke ESP8266. Anda dapat melihat hasil seperti yang ditunjukkan dalam gambar i35, i36, 37, 38, 39, 40.

Sekiranya anda menggunakannya tanpa menyambungkan ESP8266, anda akan mendapat ralat ini seperti yang ditunjukkan pada gambar i41.

Ucapan yang boleh anda gunakan

tetapkan pencetus suis ke {Nombor} peratus {tmp_scale}

cth: - tetapkan pemicu suis kepada kelembapan 50 peratus

{query} adalah keadaan suis

ex-on / off adalah keadaan suis

Pencetus suis {Switch_State}

pencetus suis ex -on / off

tetapkan pencetus suis ke {Nombor} darjah {tmp_scale}

ex - set suis pencetus ke 76 darjah fahrenheit

ex - set suis pencetus ke 24 darjah celcius

suis pusing {Switch_State}

hidupkan / matikan suis

Lihat gambar i41 hingga i46 untuk hasilnya.

Semasa bercakap dengan AlexaAlexa, minta arduino untuk menghidupkan / mematikan pemicu suis

Alexa, minta arduino untuk mengatur pemicu suis ke 24 darjah celsius.

Alexa, minta arduino untuk mengatur pemicu suis kepada kelembapan 50 peratus

Alexa, minta arduino untuk menghidupkan / mematikan suis

Langkah 7: Diagram VUI (Antara Muka Pengguna Suara)

Diagram VUI (Antara Muka Pengguna Suara)
Diagram VUI (Antara Muka Pengguna Suara)

Langkah 8: Demo

Image
Image

1. Tetapkan pencetus untuk suhu dan kelembapan.

2. Tetapkan pencetus hingga 20 darjah celsius.

3. Tetapkan pencetus hingga 80 peratus kelembapan.

Langkah 9: Skematik

Disyorkan: