Talaan ng mga Nilalaman:

Batay sa Arduino na Kinokontrol ng Boses na IOT Relay Switch (Sinusuportahan ng Google Home at Alexa): 11 Mga Hakbang
Batay sa Arduino na Kinokontrol ng Boses na IOT Relay Switch (Sinusuportahan ng Google Home at Alexa): 11 Mga Hakbang

Video: Batay sa Arduino na Kinokontrol ng Boses na IOT Relay Switch (Sinusuportahan ng Google Home at Alexa): 11 Mga Hakbang

Video: Batay sa Arduino na Kinokontrol ng Boses na IOT Relay Switch (Sinusuportahan ng Google Home at Alexa): 11 Mga Hakbang
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Hunyo
Anonim
Batay sa Arduino na Kinokontrol ng Boses na IOT Relay Switch (Sinusuportahan ng Google Home at Alexa)
Batay sa Arduino na Kinokontrol ng Boses na IOT Relay Switch (Sinusuportahan ng Google Home at Alexa)

Inilalarawan ng proyektong ito kung paano gumawa ng isang batay sa Arduino, kontroladong boses, IOT relay switch. Ito ay isang relay na maaari mong i-on at i-off nang malayuan gamit ang isang app para sa iOS at Android, pati na rin itali ito sa IFTTT at kontrolin ito gamit ang iyong boses gamit ang Google Home at / o Alexa din. Saklawin namin ang lahat ng mga hakbang na kinakailangan upang likhain ang aparato, ikonekta ang app, at kumonekta sa iba't ibang mga serbisyo ng IOT din.

Mga gamit

  • Wemos D1 Mini Lite ESP8285 (ilang dolyar sa Amazon)
  • 5V Relay Module para sa Arduino / Raspberry Pi
  • 2N2222 NPN transistor
  • 47K ohm risistor
  • 1K ohm risistor

Hakbang 1: Buuin ang Circuit

Buuin ang Circuit
Buuin ang Circuit
Buuin ang Circuit
Buuin ang Circuit
Buuin ang Circuit
Buuin ang Circuit

Ang unang hakbang ay upang wire ang circuit. Nagsama ako ng isang eskematiko at isang tradisyonal na diagram ng mga kable, nakasalalay sa kung ano ang nakasanayan mo. Ginawa ko ang aking unang circuit sa isang prototyping breadboard at pagkatapos ay inilipat ito sa isang PCB para sa isang mas permanenteng pag-set up at inilagay ito sa isang naka-print na kahon ng proyekto ng 3D.

Ang relay ay isang opto-integrated H / L 5V relay, na nangangahulugang una, ang circuit circuit ay optically na ihiwalay mula sa pagsasaaktibo ng relay mismo, na nagtanggal ng anumang potensyal na isyu sa feedback mula sa relay pabalik sa Wemos microcontroller. Isang magandang kaligtasan na mayroon. Pangalawa, ito ay mataas / mababang switchable, na nangangahulugang maaari itong mai-configure, sa pamamagitan ng paglipat ng dilaw na jumper na nakikita mo sa mga larawan, mula sa pag-trigger kapag mataas ang signal (+ 5V), o pag-trigger kapag mababa ang signal (0V). Ang Wemos mismo ay nagpapadala ng 3.3V mula sa mga digital na pin at ginagamit namin ang D1 bilang aming mapagkukunan ng pag-trigger, na nangangahulugang kailangan naming palakasin ito nang bahagya, upang malapit kami sa isang + 5V digital signal upang ma-trigger ang relay. Bilang kahalili maaari mong gamitin ang isang 3.3V relay at alisin ang bahagi ng transistor amplifier sa circuit at dumiretso mula sa D1 patungo sa signal pin sa relay. Wala akong 3.3V relay, kaya gumagamit kami ng isang mas karaniwang 5V relay at ang amp circuit.

Ang DC + at DC- sa relay ay kumonekta sa 5V at GND na mga pin ng Wemos, na nagbibigay ng kinakailangang boltahe upang mapatakbo ang relay. Ang relay ay na-rate mula sa maliliit na voltages hanggang sa linya ng boltahe, ngunit ginagamit ko ito upang makontrol ang isang mababang-boltahe na application ng mga kable. Kung ginagamit mo ito upang makontrol ang linya ng boltahe, mangyaring tiyaking alam mo kung ano ang iyong ginagawa, kwalipikado ka, at gagawin mo ang mga naaangkop na pag-iingat. Kung hindi, pagkatapos ay huwag gamitin ito upang makontrol ang mga aplikasyon ng boltahe ng linya.

Ang Pin D1 sa Wemos ay kumokonekta sa 47K ohm risistor na kumakain sa base sa NPN transistor. Ang emitter ay nakatali pabalik sa lupa. Ang kolektor ay konektado sa input ng signal sa relay. Ang relay ay nakatakda upang mag-trigger sa mababang, kaya kapag ang D1 ay nagbibigay ng isang senyas, ang signal ng 3.3v ay pinalakas sa tinatayang 5V at ang relay ay bukas. Kapag bumaba ang D1, ang signal sa relay ay bumababa at ang relay ay nagsasara at nakumpleto ang isang circuit.

Nakalimutan kong kumuha ng mga larawan ng aking pansamantalang circuit sa prototyping breadboard, ngunit mukhang eksakto ang diagram ng Fritzing sa itaas, kung kapaki-pakinabang ito. Nagsama ako ng isang bilang ng mga larawan ng aking panghuling permanenteng circuit upang makita mo kung paano ito naka-wire, kung sakaling kailangan mo ng ilang pananaw o kailangan ng kakayahang makita sa mga tukoy na sangkap na ginagamit ko.

Hakbang 2: Programming ang Wemos - Pangkalahatang-ideya

Isa sa mga bagay na gusto ko tungkol sa Wemos ay maaari silang mai-program tulad ng isang Arduino, na gumagamit ng parehong IDE. Mayroong ilang mga hakbang dito bagaman.

  1. I-install ang mga driver ng Wemos sa computer ay maaaring makipag-usap sa Wemos
  2. I-update ang Arduino IDE upang ang board ng Wemos ay magagamit
  3. Gumawa ng isang mabilis na "Blink" na pagsubok upang matiyak na ang lahat ay gumagana nang tama
  4. Mag-set up kasama si Blynk (Alam kong nakalilito ito, ngunit iba talaga kaysa sa "blink test")
  5. Kumuha ng isang application code mula sa Blynk
  6. I-update ang Wemos / Arduino code gamit ang impormasyon ng Blynk
  7. I-upload ang code sa iyong pag-set up ng Wemos.

Hakbang 3: Programming ang Wemos - Mag-install ng Mga Driver

Programming ang Wemos - Mag-install ng Mga Driver
Programming ang Wemos - Mag-install ng Mga Driver

Pumunta dito (ang link na ito ay tila nagbabago pana-panahon, susubukan kong panatilihing nai-update ito):

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

At i-download ang tamang pakete ng driver para sa iyong OS. Pagkatapos kunin ang zip sa isang direktoryo at isagawa ang "SETUP" na application upang mai-install ito.

Kapag ginawa ko ito sa unang pagkakataon, nakakuha ako ng kakaibang error tungkol sa hindi nito pag-install. Nakita ko ang tala ng iba tungkol dito at ang kanilang solusyon, na gumana para sa akin. Kaya kung nakakuha ka ng isang error, subukang gamitin ang pindutang "I-uninstall" at pagkatapos ay gamitin muli ang "I-install". Inaasahan na nililimas ang isyu tulad nito para sa akin.

Hakbang 4: Programming ang Wemos - I-update ang Arduino IDE

Programming ang Wemos - I-update ang Arduino IDE
Programming ang Wemos - I-update ang Arduino IDE
Programming ang Wemos - I-update ang Arduino IDE
Programming ang Wemos - I-update ang Arduino IDE
Programming ang Wemos - I-update ang Arduino IDE
Programming ang Wemos - I-update ang Arduino IDE

Kung hindi mo na-install ang Arduino IDE, magandang panahon na gawin ito ngayon. Maaari mong i-download ito mula sa www.arduino.cc

Narito ang isang sanggunian para sa kung ano ang gagawin namin sa hakbang na ito.

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

  1. I-install natin ang bagong board upang magpakita ito bilang isang pagpipilian sa Arduino IDE. Ang mga Hakbang 2 - 4 ay sipi mula sa gabay sa pag-install sa sumusunod na pahina ng github.

    github.com/esp8266/Arduino

  2. Simulan ang Arduino IDE at buksan ang window ng Mga Kagustuhan.
  3. Ipasok ang "https://arduino.esp8266.com/stable/package_esp8266com_index.json" sa larangan ng Mga Karagdagang Board Manager URL. Maaari kang magdagdag ng maraming mga URL, paghiwalayin ang mga ito sa mga kuwit.
  4. Buksan ang Mga Tagapamahala ng Mga Board mula sa Mga Tool> Lupon> Mga Board Manager (sa itaas), hanapin ang "esp8266" at i-install ang nakalistang platform na esp8266.
  5. Sa puntong ito makikita mo ang mga board ng Wemos sa Tools → Board: xxx Piliin ang Wemos D1 Mini. Sa aking kaso, tulad ng nakikita mo mula sa imahe, ang tukoy na pangalan ay "LOLIN (WEMOS) D1 R2 & mini"
  6. Ikonekta ang isang USB cable sa pagitan ng computer at ng mga Wemos
  7. Kumpirmahin na ang "Port" ay aktibo na ngayon sa menu ng Mga tool at mukhang tama.

Hakbang 5: Programming ang Wemos - Blink Test

Programming ang Wemos - Blink Test
Programming ang Wemos - Blink Test

Bago tayo magpatuloy, kailangan nating tiyakin na maaari nating makipag-usap sa lupon ng Wemos at mukhang ok ang lahat. Ang pinakamadaling paraan upang gawin ito ay mag-plug sa isang USB cable at subukan at itulak ang isang simpleng programa sa Wemos. Ang blink ay ang pinakamadaling halimbawa at nai-save sa akin ng maraming abala kapag nagtatrabaho sa mga bagong board, na palagi ko muna itong ginagawa.

  1. Pumunta sa: File> Mga Halimbawa> ESP8266> Blink at i-load ang blink sketch para sa isang aparato ng Wemos
  2. Compile at i-upload ang sketch

Kung ang asul na LED ay nagsimulang kumurap tungkol sa isang beses sa isang segundo, pagkatapos ay mabuti kang magpatuloy sa susunod na hakbang! Kung hindi, balikan at i-troubleshoot ang mga nakaraang hakbang. Tingnan kung may isyu sa mga driver at board manager. Nagkaroon ako ng ilang mga isyu sa board package para sa ESP8266 at kinailangan itong ganap na i-uninstall at muling mai-install ito dahil sa isang kakaibang bagay sa mga bersyon na nangyayari. Huwag sumuko, at ang mga paghahanap sa internet ay maaaring maging kaibigan mo!

Ipagpalagay na ang lahat ay mabuti, magtungo sa susunod na hakbang.

Hakbang 6: Programming ang Wemos - Pag-set up ng Blynk

Programming ang Wemos - Pag-set up ng Blynk
Programming ang Wemos - Pag-set up ng Blynk
Programming ang Wemos - Pag-set up ng Blynk
Programming ang Wemos - Pag-set up ng Blynk
Programming ang Wemos - Pag-set up ng Blynk
Programming ang Wemos - Pag-set up ng Blynk

Sa mga susunod na hakbang na ito, kailangan naming mag-set up ng isang account kasama si Blynk at kumuha ng isang token para magamit namin upang makontrol ang circuit na nilikha namin.

  1. I-download ang app, at lumikha ng isang account (libre ito)
  2. Lumikha ng isang bagong proyekto
  3. Piliin ang Wemos D1 bilang Hardware sa ilalim ng Piliin ang Device
  4. Bigyan ang proyekto ng isang pangalan at panatilihin ang uri ng konektor bilang WiFi
  5. I-click ang Lumikha ng Proyekto
  6. Sa puntong ito ang Auth Token ay mai-email sa email address na ginamit mo noong nilikha mo ang iyong Blynk account. I-save iyon para sa paglaon, isisingit namin ang mga halaga sa sketch sa susunod na hakbang.
  7. Kapag nakarating ka sa blangko na canvas screen, mag-swipe lamang pakaliwa at makakakuha ka ng menu ng widget. Piliin ang "Button" upang magdagdag ng isang "pindutan" sa proyekto
  8. Piliin ang pindutan at pagkatapos ay i-configure ang Pin sa pamamagitan ng pag-click dito at piliin ang "Digital" at "D1" bilang pi at i-click ang "Ok"
  9. Sa puntong ito, dapat maging handa ang lahat. Upang gawing aktibo ito nais mong piliin ang icon ng tatsulok sa kanang itaas, ngunit hindi pa ito gagana, hanggang sa ma-upload at mai-configure namin ang sketch, na kung saan ay ang susunod na hakbang!

Hakbang 7: Programming ang Wemos - Pag-install ng Blynk Library

Upang makapag-upload ng isang sketch na batay sa Blynk, kailangan naming i-install ang kanilang silid-aklatan. Ang mga detalye ay matatagpuan dito.

github.com/blynkkk/blynk-library/releases

Gayundin, para sa ilang background, tingnan ang kanilang pangunahing website dito (https://blynk.io/en/getting-started)

Ito ay nakalilito para sa akin noong una, ngunit mas madali ito kaysa sa tunog nito. I-unzip lamang ang file sa iyong direktoryo ng Arduino. Para sa akin ito ay nasa / user / Documents / Arduino. Mayroon nang isang folder na tinatawag na "mga aklatan" doon. Naglalaman ang zip file ng isang "library" at isang direktoryo ng "mga tool". Kapag na-unzip mo ito sa direktoryo ng Arduino, idinagdag nito ang mga nilalaman nito sa mga aklatan at lumilikha ng mga tool kung wala pa ito.

Hakbang 8: Programming ang Wemos - ang Sketch

Halos tapos na tayo sa puntong ito. Ang sketch ay medyo simple, diretso ito mula sa Blynk at mahalagang kinokonekta ang serbisyo ng Blynk at ng board. Maaari mong gamitin ang kanilang tagabuo dito:

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

O maaari mong gamitin ang sample na ito na dapat gumana para sa iyo. Siguraduhin lamang na papalitan mo ang mga halaga para sa auth token at iyong mga kredensyal para sa iyong wifi network.

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

Mag-download ng pinakabagong Blynk library dito: https://github.com/blynkkk/blynk-library/releases/latest Blynk ay isang platform na may iOS at Android apps upang makontrol ang Arduino, Raspberry Pi at mga gusto sa Internet. Madali kang makakagawa ng mga graphic interface para sa lahat ng iyong mga proyekto sa pamamagitan lamang ng pag-drag at pag-drop ng mga widget. Mga pag-download, doc, tutorial: https://www.blynk.cc Sketch generator: https://examples.blynk.cc Blynk na komunidad: https://community.blynk.cc Sundin kami: https://www.fb. com / blynkapp Blynk library ay lisensyado sa ilalim ng lisensya ng MIT Ang halimbawang code na ito ay nasa pampublikong domain. ***** **** ***** Maaari kang magpadala / makatanggap ng anumang data gamit ang WidgetTerminal na bagay. Pag-setup ng proyekto ng app: Ang widget ng terminal ay naka-attach sa Virtual Pin V1 ***** ***** Token sa Blynk App. // Pumunta sa Mga Setting ng Proyekto (icon ng nut). char auth = "YourAuthToken"; // Ang iyong mga kredensyal sa WiFi. // Itakda ang password sa "" para sa mga bukas na network. char ssid = "YourNetworkName"; pass pass = "YourPassword"; // Maglakip ng virtual serial terminal sa Virtual Pin V1 WidgetTerminal terminal (V1); // Maaari kang magpadala ng mga utos mula sa Terminal sa iyong hardware. Gumamit lang // ng parehong Virtual Pin tulad ng iyong Terminal Widget BLYNK_WRITE (V1) {// kung nai-type mo ang "Marco" sa Terminal Widget - ito ay tutugon: "Polo:" kung (String ("Marco") == param.asStr ()) {terminal.println ("Sinabi mo: 'Marco'"); terminal.println ("Sinabi ko: 'Polo'"); } else {// Ibalik ito sa terminal.print ("Sinabi mo:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Tiyaking ang lahat ay ipinadala sa terminal.flush (); } void setup () {// Debug console Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Maaari mo ring tukuyin ang server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Ipi-print nito ang bersyon ng Blynk Software sa Terminal Widget kapag // nakakonekta ang iyong hardware sa Blynk Server terminal.println (F ("Blynk v" BLYNK_VERSION ": Nagsimula ang aparato")); terminal.println (F ("-------------")); terminal.println (F ("I-type ang 'Marco' at makakuha ng isang tugon, o i-type")); terminal.println (F ("kahit ano pa at i-print ito pabalik.")); terminal.flush (); } void loop () {Blynk.run (); }

Hakbang 9: Programming ang Wemos - Pangwakas na Hakbang

Image
Image

Kapag na-load na ang sketch, i-compile at i-upload ang sketch at dapat handa ka na upang subukan ang iyong pag-set up!

Buksan ang Blynk app, i-click ang tatsulok sa kanang sulok sa itaas para sa iyong Wemos Project

Pagkatapos i-click ang pindutan! Dapat mong marinig ang pag-click sa relay at ang mga LED status sa relay board ay nagpapahiwatig na ang relay ay nagbago ng estado.

Ngayon ay maaari mong ikonekta ang relay sa anumang aplikasyon ng mababang boltahe na nangangailangan ng isang simpleng switch at kontrolin ito mula sa iyong Blynk app. Ang huling bagay na kailangan nating gawin ay itali sa IFTTT at gamitin ang Google o Alexa upang makontrol ang Blynk system kaya hindi namin ito kailangang gawin mula sa aming Blynk app.

Hakbang 10: Pagkontrol sa Blynk Sa IFTTT at Google Home o Alexa

Ipinapalagay ko sa puntong ito na mayroon kang pamilyar sa IFTTT. Kung hindi, maraming mga mahusay na mga tutorial doon na makakatulong sa iyo na malaman kung paano gamitin at magamit ang IFTTT. Napakalakas nito at isang bagay na nais mong matutunan kung hindi mo pa pamilyar.

  1. Lumikha ng isang bagong applet sa IFTTT
  2. Piliin ang Google Assistant bilang "Kung Ito" at gumamit ng isang "Simpleng Parirala" bilang gatilyo. Para sa akin, dahil bubukas o papatayin ko ang aking pugon, ang aking parirala ay "i-on ang fireplace"
  3. Para sa bahaging "Pagkatapos Iyon", maghanap para sa at gamitin ang Webhooks
  4. Piliin ang "Gumawa ng isang kahilingan sa web"
  5. Para sa URL na nais mong gamitin:

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

  6. Itakda ang pamamaraan sa GET, ang uri ng nilalaman sa urlencoded, at maaari mong iwanan ang BODY na blangko at pagkatapos ay i-save

Maghintay ng ilang minuto at pagkatapos ay magpatuloy at subukan ang iyong parirala gamit ang iyong google home device. Napansin kong tumatagal ng halos dalawang minuto bago ito maging handa.

TANDAAN: isa pang bagay na dapat bigyang pansin dito. Pansinin na gumagamit ako ng "d5" sa aking tawag sa API, ngunit kumonekta ako upang i-pin ang D1 sa pisara. Inabot ako ng isang araw upang malaman na ang pag-number ng GPIO na pin at ang pag-print ng numero sa pisara ay hindi pareho. Matapos baguhin ang mga halaga sa direktang mga tawag sa URL at subukan ang mga voltages sa iba't ibang mga pin na may isang volt meter, napansin ko na ang isang tawag sa d1 sa pamamagitan ng API ay nagbago ng boltahe, ngunit hindi sa D1 sa board. Ang d5 / GPIO 5 ay talagang sumasabay sa D1 sa pisara. Sa sandaling nagawa ko ang pagsasaayos na iyon, lahat ay gumana nang maganda!

Ang hooking up na Alexa ay magkapareho sa Google home, ginagamit lamang ang serbisyo ng Alexa sa IFTTT.

Hakbang 11: Konklusyon

Sa puntong ito, dapat kang magkaroon ng isang gumaganang IOT relay na kinokontrol ng boses gamit ang Wemos D1 mini lite. Mag-enjoy at good luck!

Muli, mapanganib ang kuryente, kaya't mangyaring gumawa ng mga naaangkop na pag-iingat at kung hindi ka kwalipikado, mangyaring huwag.

Inirerekumendang: