Sisällysluettelo:

Arduino-pohjainen ääniohjattu IOT-relekytkin (Google Home & Alexa -tuki): 11 vaihetta
Arduino-pohjainen ääniohjattu IOT-relekytkin (Google Home & Alexa -tuki): 11 vaihetta

Video: Arduino-pohjainen ääniohjattu IOT-relekytkin (Google Home & Alexa -tuki): 11 vaihetta

Video: Arduino-pohjainen ääniohjattu IOT-relekytkin (Google Home & Alexa -tuki): 11 vaihetta
Video: Счетчик оборотов, использование arduino 2024, Kesäkuu
Anonim
Arduino-pohjainen ääniohjattu IOT-relekytkin (Google Home & Alexa -tuki)
Arduino-pohjainen ääniohjattu IOT-relekytkin (Google Home & Alexa -tuki)

Tässä projektissa kuvataan, miten tehdään Arduino-pohjainen, ääniohjattu IOT-relekytkin. Tämä on rele, jonka voit kytkeä päälle ja pois päältä etäsovelluksella iOS- ja Android -sovelluksella sekä yhdistää sen IFTTT: hen ja ohjata sitä äänelläsi myös Google Homen ja/tai Alexan avulla. Käymme läpi kaikki vaiheet, jotka tarvitaan laitteen luomiseen, sovelluksen yhdistämiseen ja yhteyden muodostamiseen myös eri IOT -palveluihin.

Tarvikkeet

  • Wemos D1 Mini Lite ESP8285 (muutama dollari Amazonissa)
  • 5 V: n relemoduuli Arduino/Raspberry Pi: lle
  • 2N2222 NPN -transistori
  • 47K ohmin vastus
  • 1K ohmin vastus

Vaihe 1: Rakenna piiri

Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri

Ensimmäinen vaihe on piirin kytkentä. Olen lisännyt kaavion ja perinteisen kytkentäkaavion riippuen siitä, mihin olet tottunut. Tein ensimmäisen piirini prototyyppileipälevylle ja siirsin sen sitten PCB: lle pysyvämpää asennusta varten ja sijoitin sen 3D -tulostettuun laatikkoon.

Rele on optoeristetty H/L 5V -rele, mikä tarkoittaa, että ensiksi liipaisupiiri erotetaan optisesti itse releen aktivoinnista, mikä poistaa mahdolliset ongelmat releen palautteesta takaisin Wemos-mikrokontrolleriin. Mukava turva. Toiseksi se on korkea/matala kytkettävissä, mikä tarkoittaa, että se voidaan konfiguroida siirtämällä kuvassa näkyvää keltaista hyppyjohdinta laukaisemasta, kun signaali on korkea (+5 V), tai laukaisemasta, kun signaali on alhainen (0 V). Wemos itse lähettää 3,3 V: n digitaalisista nastoista, ja käytämme D1: tä laukaisulähteenä, mikä tarkoittaa, että meidän on vahvistettava sitä hieman, jotta pääsemme lähelle +5 V: n digitaalista signaalia releen laukaisemiseksi. Vaihtoehtoisesti voit käyttää 3,3 V: n relettä ja poistaa piirin transistorivahvistinkomponentin ja siirtyä suoraan D1: stä releen signaalitappiin. Minulla ei ollut 3,3 V: n releitä, joten käytämme tavallisempaa 5 V: n relettä ja vahvistinpiiriä.

Releen DC+ ja DC- kytketään Wemosin 5V- ja GND-nastoihin, mikä antaa tarvittavan jännitteen releen käyttämiseksi. Rele on mitoitettu pienistä jännitteistä aina verkkojännitteeseen asti, mutta käytän tätä ohjaamaan pienjännitejohtosovellusta. Jos käytät tätä ohjaamaan verkkojännitettä, varmista, että tiedät mitä olet tekemässä, olet pätevä ja ryhdyt tarvittaviin varotoimiin. Jos ei, älä käytä tätä ohjaamaan verkkojännitesovelluksia.

Wemosin nasta D1 yhdistetään 47 K ohmin vastukseen, joka syötetään NPN -transistorin kantaan. Lähetin kiinnittyy takaisin maahan. Keräin on kytketty releen signaalituloon. Rele on asetettu laukaisemaan matalalla, joten kun D1 antaa signaalin, 3,3 V: n signaali vahvistetaan noin 5 V: iin ja rele on auki. Kun D1 laskee, releelle tuleva signaali laskee ja rele sulkeutuu ja täydentää piirin.

Unohdin ottaa kuvia väliaikaisesta piiristäni prototyyppileipälevylle, mutta se näytti täsmälleen samalta kuin yllä oleva Fritzing -kaavio, jos siitä on hyötyä. Lisäsin joukon kuvia viimeisestä pysyvästä piiristäni, jotta voit nähdä, miten se on kytketty, jos tarvitset oivalluksia tai tarvitset näkyvyyttä käyttämiisi komponentteihin.

Vaihe 2: Wemojen ohjelmointi - Yleiskatsaus

Yksi niistä asioista, joista pidän Wemosissa, on, että ne voidaan ohjelmoida aivan kuten Arduino, käyttämällä samaa IDE: tä. Tässä on kuitenkin muutama vaihe.

  1. Asenna Wemos -ohjaimet tietokoneeseen, joka voi puhua Wemosin kanssa
  2. Päivitä Arduino IDE, jotta Wemos -levy on saatavilla
  3. Tee nopea "Blink" -testi varmistaaksesi, että kaikki toimii oikein
  4. Ota käyttöön Blynk (tiedän, että se on hämmentävää, mutta se on eri asia kuin "räpytystesti")
  5. Hanki sovelluskoodi Blynkiltä
  6. Päivitä Wemos/Arduino -koodi Blynk -tiedoilla
  7. Lähetä koodi Wemos -asetukseesi.

Vaihe 3: Wemojen ohjelmointi - Asenna ohjaimet

Wemon ohjelmointi - Asenna ohjaimet
Wemon ohjelmointi - Asenna ohjaimet

Siirry tähän (tämä linkki näyttää muuttuvan ajoittain, yritän pitää sen ajan tasalla):

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

Ja lataa oikea ajuripaketti käyttöjärjestelmällesi. Pura sitten zip hakemistoon ja asenna se suorittamalla "SETUP" -sovellus.

Kun tein tämän ensimmäisen kerran, sain outoa virhettä siitä, että en asentanut. Näin jonkun muun huomautuksen tästä ja heidän ratkaisustaan, joka toimi minulle. Joten jos saat virheen, yritä käyttää "Poista" -painiketta ja käytä sitten "Asenna" -painiketta uudelleen. Toivottavasti tämä selvensi ongelman samalla tavalla kuin minulle.

Vaihe 4: Wemojen ohjelmointi - Päivitä Arduino IDE

Wemojen ohjelmointi - Päivitä Arduino IDE
Wemojen ohjelmointi - Päivitä Arduino IDE
Wemojen ohjelmointi - Päivitä Arduino IDE
Wemojen ohjelmointi - Päivitä Arduino IDE
Wemojen ohjelmointi - Päivitä Arduino IDE
Wemojen ohjelmointi - Päivitä Arduino IDE

Jos et ole asentanut Arduino IDE: tä, on hyvä aika tehdä se nyt. Voit ladata sen osoitteesta www.arduino.cc

Tässä on viittaus siihen, mitä aiomme tehdä tässä vaiheessa.

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

  1. Asennetaan uusi levy, jotta se näkyy vaihtoehtona Arduino IDE: ssä. Vaiheet 2–4 on poimittu seuraavalla github -sivulla olevasta asennusoppaasta.

    github.com/esp8266/Arduino

  2. Käynnistä Arduino IDE ja avaa Asetukset -ikkuna.
  3. Kirjoita "https://arduino.esp8266.com/stable/package_esp8266com_index.json" Hallituksen ylimääräiset URL -osoitteet -kenttään. Voit lisätä useita URL -osoitteita erottamalla ne pilkuilla.
  4. Avaa Boards Manager valitsemalla Tools> Board> Boards Manager (ylhäältä), etsi "esp8266" ja asenna luetteloitu esp8266 -alusta.
  5. Tässä vaiheessa näet Wemos -levyt Työkalut → Taulu: xxx Valitse Wemos D1 Mini. Minun tapauksessani, kuten kuvasta näkyy, erityinen nimi oli "LOLIN (WEMOS) D1 R2 & mini"
  6. Liitä USB -kaapeli tietokoneen ja Wemosin välille
  7. Varmista, että Portti on nyt aktiivinen Työkalut -valikossa ja näyttää oikealta.

Vaihe 5: Wemos -ohjelmointi - Blink -testi

Wemos -ohjelmointi - Blink Test
Wemos -ohjelmointi - Blink Test

Ennen kuin menemme pidemmälle, meidän on varmistettava, että voimme kommunikoida Wemos -hallituksen kanssa ja kaikki näyttää ok. Helpoin tapa tehdä tämä on kytkeä USB -kaapeli ja yrittää työntää yksinkertainen ohjelma Wemosiin. Blink on helpoin esimerkki ja säästää paljon vaivaa työskennellessäni uusien levyjen kanssa, koska teen sen aina ensin.

  1. Siirry: Tiedosto> Esimerkit> ESP8266> Vilkku ja lataa vilkkuva luonnos Wemos -laitteelle
  2. Kokoa ja lähetä luonnos

Jos sininen LED -valo alkaa vilkkua noin kerran sekunnissa, voit siirtyä seuraavaan vaiheeseen! Jos ei, palaa edellisten vaiheiden vianmääritykseen. Tarkista, onko kuljettajissa ja hallituksen johtajassa ongelmia. Minulla oli joitain ongelmia ESP8266 -levypaketin kanssa ja jouduin poistamaan sen kokonaan ja asentamaan sen uudelleen, koska tapahtui jotain outoa versioiden kanssa. Älä luovuta, ja Internet -haut voivat olla ystäväsi!

Olettaen, että kaikki on hyvin, siirry seuraavaan vaiheeseen.

Vaihe 6: Wemojen ohjelmointi - Blynkin käyttöönotto

Wemojen ohjelmointi - Blynkin käyttöönotto
Wemojen ohjelmointi - Blynkin käyttöönotto
Wemojen ohjelmointi - Blynkin käyttöönotto
Wemojen ohjelmointi - Blynkin käyttöönotto
Wemojen ohjelmointi - Blynkin käyttöönotto
Wemojen ohjelmointi - Blynkin käyttöönotto

Näissä seuraavissa vaiheissa meidän on luotava tili Blynkille ja hankittava meille tunnus, jota voimme käyttää luomamme piirin hallintaan.

  1. Lataa sovellus ja luo tili (ilmainen)
  2. Luo uusi projekti
  3. Valitse Wemos D1 laitteistoksi Valitse laite -kohdasta
  4. Anna projektille nimi ja säilytä liittimen tyyppi WiFi
  5. Napsauta Luo projekti
  6. Tässä vaiheessa todennustunnus lähetetään sähköpostiosoitteeseesi, jota käytit luodessasi Blynk -tilisi. Tallenna se myöhempää varten, lisäämme arvot luonnokseen seuraavassa vaiheessa.
  7. Kun tulet tyhjälle kankaalle, pyyhkäise vasemmalle ja saat widget -valikon. Lisää "painike" projektiin valitsemalla "Painike"
  8. Valitse painike ja määritä sitten PIN -koodi napsauttamalla sitä ja valitsemalla "Digitaalinen" ja "D1" pi: ksi ja napsauttamalla "Ok"
  9. Tässä vaiheessa kaiken pitäisi olla valmis. Tämän aktivoimiseksi haluat valita oikeassa yläkulmassa olevan kolmion kuvakkeen, mutta se ei toimi vielä, ennen kuin luonnos on ladattu ja määritetty, mikä on seuraava askel!

Vaihe 7: Wemojen ohjelmointi - Blynk -kirjaston asentaminen

Jotta voimme ladata Blynk -pohjaisen luonnoksen, meidän on asennettava heidän kirjasto. Yksityiskohdat löytyvät täältä.

github.com/blynkkk/blynk-library/releases

Tutustu myös taustoihin heidän pääsivustollaan täällä (https://blynk.io/en/getting-started)

Tämä oli aluksi hämmentävää, mutta se on paljon helpompaa kuin miltä se kuulostaa. Pura vain tiedosto Arduino -hakemistoosi. Minulle tämä oli / user / Documents / Arduino. Siellä oli jo kansio nimeltä "kirjastot". Zip -tiedosto sisältää "kirjaston" ja "työkalut" -hakemiston. Kun puret sen Arduino -hakemistoon, se lisää sen sisällön kirjastoihin ja luo työkaluja, jos sitä ei ole jo olemassa.

Vaihe 8: Wemojen ohjelmointi - luonnos

Olemme melkein valmiita tässä vaiheessa. Luonnos on melko yksinkertainen, se on suoraan Blynkistä ja yhdistää olennaisesti Blynk -palvelun ja levyn. Voit käyttää niiden rakentajaa täällä:

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

Tai voit käyttää tätä mallia, jonka pitäisi toimia sinulle. Varmista vain, että korvaat todennusvaltuuden arvot ja kirjautumistietosi wifi -verkossa.

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

Lataa uusin Blynk-kirjasto täältä: https://github.com/blynkkk/blynk-library/releases/latest Blynk on alusta, jossa on iOS- ja Android-sovellukset Arduinon, Raspberry Pi: n ja muiden tykkääjien hallitsemiseksi Internetissä. Voit helposti rakentaa graafisia rajapintoja kaikkiin projekteihisi vetämällä ja pudottamalla widgettejä. Lataukset, asiakirjat, opetusohjelmat: https://www.blynk.cc Luonnosgeneraattori: https://examples.blynk.cc Blynk -yhteisö: https://community.blynk.cc Seuraa meitä: https://www.fb. fi/blynkapp Blynk -kirjasto on lisensoitu MIT -lisenssillä Tämä esimerkkikoodi on julkista. ************************************************** *********** Voit lähettää/vastaanottaa tietoja WidgetTerminal -objektin avulla. Sovellusprojektin asennus: Päätepienoisohjelma liitetty virtuaaliseen nastaan V1 *************************************** **********************//*Kommentoi tämä, jos haluat poistaa tulosteet käytöstä ja säästää tilaa*/ #define BLYNK_PRINT Serial #include #include // Sinun pitäisi saada todennus Merkki Blynk -sovelluksessa. // Siirry projektiasetuksiin (mutterikuvake). char auth = "YourAuthToken"; // WiFi -kirjautumistietosi. // Aseta salasana "" avoimille verkoille. char ssid = "Oma verkkosiNimi"; char pass = "Oma salasana"; // Liitä virtuaalinen sarjapääte Virtual Pin V1 Widget -terminaaliin (V1); // Voit lähettää komentoja päätelaitteesta laitteistoosi. Käytä vain // samaa virtuaalista PIN -koodia kuin päätelaite -widgetisi BLYNK_WRITE (V1) {// jos kirjoitat "Marco" terminaalin widgettiin - se vastaa: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("Sanoit: 'Marco'"); terminal.println ("Sanoin:" Polo ""); } else {// Lähetä se takaisin terminaali.print ("Sanoit:"); terminal.write (param.getBuffer (), param.getLength ()); terminaali.println (); } // Varmista, että kaikki lähetetään terminal.flush (); } void setup () {// Virheenkorjauskonsoli Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Voit myös määrittää palvelimen: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin (auth, ssid, pass, IPAdress (192, 168, 1, 100), 8080); // Tämä tulostaa Blynk -ohjelmistoversion päätewidgettiin, kun // laitteistosi yhdistetään Blynk Server -terminaaliin.println (F ("Blynk v" BLYNK_VERSION: Laite käynnistetty ")); pääte.println (F ("-------------")); terminal.println (F ("Kirjoita" Marco "ja saat vastauksen tai kirjoita")); terminal.println (F ("kaikki muu ja tulosta se takaisin.")); terminaali.huuhtelu (); } void loop () {Blynk.run (); }

Vaihe 9: Wemojen ohjelmointi - viimeinen vaihe

Image
Image

Kun luonnos on ladattu, koota ja lähetä luonnos ja sinun on oltava valmis testaamaan asetuksiasi!

Avaa Blynk -sovellus ja napsauta Wemos -projektisi oikeassa yläkulmassa olevaa kolmiota

Napsauta sitten painiketta! Sinun pitäisi kuulla releen naksahdus ja releen merkkivalot osoittavat, että rele on muuttanut tilaa.

Nyt voit kytkeä releen mihin tahansa pienjännitesovellukseen, joka vaatii yksinkertaisen kytkimen, ja ohjata sitä Blynk -sovelluksestasi. Viimeinen asia, joka meidän on tehtävä, on yhdistää IFTTT ja käyttää Googlea tai Alexaa Blynk -järjestelmän hallintaan, jotta meidän ei tarvitse tehdä sitä Blynk -sovelluksestamme.

Vaihe 10: Blynkin hallinta IFTTT: n ja Google Homen tai Alexan avulla

Oletan tässä vaiheessa, että tunnet IFTTT: n jonkin verran. Jos ei, on olemassa erinomaisia opetusohjelmia, jotka auttavat sinua oppimaan IFTTT: n käytön ja hyödyntämisen. Se on erittäin voimakas ja jotain, jonka haluat oppia, jos et ole jo tuttu.

  1. Luo uusi sovelma IFTTT: hen
  2. Valitse Google Assistant "Jos tämä" ja käytä "Yksinkertainen lause" liipaisimena. Minulle, koska tämä aikoi kytkeä takan päälle tai pois, lauseeni oli "kytke takka päälle"
  3. Etsi "sitten se" -osiosta Webhooks ja käytä sitä
  4. Valitse "Tee verkkopyyntö"
  5. URL -osoitteessa, jota haluat käyttää:

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

  6. Aseta menetelmäksi GET, sisältötyypiksi urlencoded, ja voit jättää BODY tyhjäksi ja tallentaa

Odota muutama minuutti ja testaa sitten lauseesi Google -kodin laitteella. Huomasin, että se kestää noin kaksi minuuttia, ennen kuin se on valmis.

HUOMAUTUS: tässä on vielä yksi huomioitava asia. Huomaa, että käytän "d5" -sovellusliittymäpuheluani, mutta muodostin yhteyden taululle D1. Kesti noin päivän ennen kuin tajusin, että GPIO -pin -numerointi ja taululla painettu numerointi eivät ole sama asia. Kun olen muuttanut arvoja suorilla URL -puheluilla ja testannut jännitteitä eri nastoilla voltimittarilla, huomasin, että puhelu d1: hen API: n kautta muutti jännitettä, mutta ei levyn D1: ssä. d5/GPIO 5 todella vastasi D1: tä taululla. Kun tein säädön, kaikki toimi hienosti!

Alexan liittäminen on sama kuin Googlen etusivu, vain käyttämällä Alexa -palvelua IFTTT: ssä.

Vaihe 11: Johtopäätös

Tässä vaiheessa sinulla pitäisi olla toimiva ääniohjattu IOT-rele, joka käyttää Wemos D1 mini lite -laitetta. Nauti ja onnea!

Sähkö on jälleen vaarallista, joten noudata asianmukaisia varotoimia ja jos et ole pätevä, älä tee sitä.

Suositeltava: