Sisukord:

Arduino-põhine hääljuhtimisega IOT-releelüliti (toetatud Google'i kodu ja Alexa): 11 sammu
Arduino-põhine hääljuhtimisega IOT-releelüliti (toetatud Google'i kodu ja Alexa): 11 sammu

Video: Arduino-põhine hääljuhtimisega IOT-releelüliti (toetatud Google'i kodu ja Alexa): 11 sammu

Video: Arduino-põhine hääljuhtimisega IOT-releelüliti (toetatud Google'i kodu ja Alexa): 11 sammu
Video: Счетчик оборотов, использование arduino 2024, November
Anonim
Arduino-põhine hääljuhtimisega IOT-releelüliti (toetatud Google'i kodu ja Alexa)
Arduino-põhine hääljuhtimisega IOT-releelüliti (toetatud Google'i kodu ja Alexa)

See projekt kirjeldab, kuidas teha Arduino-põhist, hääljuhtimisega IOT-releelülitit. See on relee, mille saate iOS -i ja Androidi rakenduse abil kaugjuhtimisega sisse ja välja lülitada, samuti siduda selle IFTTT -ga ja juhtida seda oma häälega, kasutades ka Google Home'i ja/või Alexat. Me käsitleme kõiki seadme loomiseks, rakenduse ühendamiseks ja erinevate IOT -teenuste ühendamiseks vajalikke samme.

Tarvikud

  • Wemos D1 Mini Lite ESP8285 (paar dollarit Amazonis)
  • 5 V releemoodul Arduino/Raspberry Pi jaoks
  • 2N2222 NPN transistor
  • 47K oomi takisti
  • 1K oomi takisti

Samm: looge vooluring

Ehita vooluring
Ehita vooluring
Ehita vooluring
Ehita vooluring
Ehita vooluring
Ehita vooluring

Esimene samm on vooluahela ühendamine. Olen lisanud skemaatilise ja traditsioonilise ühendusskeemi, olenevalt sellest, millega olete harjunud. Tegin oma esimese vooluringi leivaplaadi prototüüpimisel ja seejärel kolisin selle PCB -le püsivama seadistuse jaoks ja paigutasin selle 3D -prinditud projekti kasti.

Relee on optoisolatsiooniga H/L 5V relee, mis tähendab, et esiteks on päästiku vooluahel optiliselt isoleeritud relee aktiveerimisest endast, mis kõrvaldab kõik võimalikud probleemid relee tagasisidega Wemose mikrokontrollerile. Mõnus turvalisus. Teiseks on see kõrge/madal lülitatav, mis tähendab, et seda saab konfigureerida, liigutades piltidel nähtavat kollast hüppajat, käivitamast, kui signaal on kõrge (+5 V), või käivituma, kui signaal on madal (0 V). Wemos ise saadab oma digitaalsetelt tihvtidelt välja 3,3 V ja me kasutame käivitusallikana D1, mis tähendab, et peame seda veidi võimendama, nii et jõuame relee käivitamiseks +5 V digitaalsignaali lähedale. Teise võimalusena võite kasutada 3,3 V releed ja kõrvaldada vooluahelast transistorvõimendi komponendi ning minna otse D1 -st relee signaali tihvti juurde. Mul ei olnud 3,3 V releed, seega kasutame tavalisemat 5 V releed ja võimendusahelat.

Relee DC+ ja DC- ühendatakse Wemose 5V ja GND kontaktidega, mis tagab relee käitamiseks vajaliku pinge. Relee on hinnatud väikestest pingetest kuni liinipingeni, kuid ma kasutan seda madalpinge juhtmestiku juhtimiseks. Kui kasutate seda liinipinge juhtimiseks, veenduge, et teate, mida teete, olete kvalifitseeritud ja võtate asjakohaseid ettevaatusabinõusid. Kui ei, siis ärge kasutage seda liinipinge rakenduste juhtimiseks.

Wemose tihvt D1 ühendatakse 47K oomi takistiga, mis söödetakse NPN transistori alusse. Emitter seob maapinnaga tagasi. Kollektor on ühendatud relee signaali sisendiga. Relee on seadistatud käivituma madalal tasemel, nii et kui D1 annab signaali, võimendatakse 3,3 V signaal umbes 5 V -ni ja relee on avatud. Kui D1 läheb madalaks, läheb signaal releele madalaks ja relee sulgub ning lõpetab vooluringi.

Ma unustasin oma ajutisest vooluringist prototüüpimise leivaplaadil pilte teha, kuid see nägi välja täpselt nagu ülaltoodud Fritzingi diagramm, kui sellest on abi. Lisasin hulga pilte oma lõplikust alalisest vooluringist, et saaksite näha, kuidas see on ühendatud, juhuks, kui vajate teavet või vajate nähtavust konkreetsete komponentide kohta, mida ma kasutan.

2. samm: Wemode programmeerimine - ülevaade

Üks asi, mis mulle Wemose juures meeldib, on see, et neid saab programmeerida nagu Arduinot, kasutades sama IDE -d. Siin on siiski paar sammu.

  1. Installige Wemose draiverid arvutisse, et saaksite Wemosega rääkida
  2. Värskendage Arduino IDE, et Wemose plaat oleks saadaval
  3. Tehke kiire "Blink" test, et veenduda, kas kõik töötab õigesti
  4. Seadistage Blynk (ma tean, et see on segane, kuid tegelikult erineb see vilkumise testist)
  5. Hankige rakenduse kood Blynkilt
  6. Värskendage Wemos/Arduino koodi Blynk -teabega
  7. Laadige kood oma Wemose seadistusse.

Samm: Wemode programmeerimine - draiverite installimine

Wemode programmeerimine - installige draiverid
Wemode programmeerimine - installige draiverid

Minge siia (tundub, et see link muutub perioodiliselt, proovin seda ajakohastada):

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

Ja laadige alla oma OS -i jaoks õige draiveripakett. Seejärel eraldage ZIP kataloogi ja käivitage selle installimiseks rakendus "SETUP".

Kui ma seda esimest korda tegin, sain selle installimata jätmise kohta veidra vea. Nägin kellegi teise märkust selle ja nende lahenduse kohta, mis minu jaoks töötas. Nii et kui saate vea, proovige kasutada nuppu "Desinstalli" ja seejärel uuesti nuppu "Install". Loodetavasti lahendab see probleemi nagu minu jaoks.

Samm: Wemode programmeerimine - värskendage Arduino IDE

Wemode programmeerimine - värskendage Arduino IDE
Wemode programmeerimine - värskendage Arduino IDE
Wemode programmeerimine - värskendage Arduino IDE
Wemode programmeerimine - värskendage Arduino IDE
Wemode programmeerimine - värskendage Arduino IDE
Wemode programmeerimine - värskendage Arduino IDE

Kui te pole Arduino IDE -d installinud, on praegu hea aeg seda teha. Selle saate alla laadida saidilt www.arduino.cc

Siin on viide sellele, mida me selles etapis tegema hakkame.

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

  1. Paigaldame uue plaadi nii, et see kuvataks Arduino IDE lisavarustusena. Sammud 2–4 on väljavõttel installijuhendist järgmisel githubi lehel.

    github.com/esp8266/Arduino

  2. Käivitage Arduino IDE ja avage eelistuste aken.
  3. Sisestage väljale Täiendava halduri URL -id "https://arduino.esp8266.com/stable/package_esp8266com_index.json". Saate lisada mitu URL -i, eraldades need komadega.
  4. Avage Boards Manager menüüst Tools> Board> Boards Manager (ülaosas), otsige "esp8266" ja installige loetletud esp8266 platvorm.
  5. Siin näete Wemose tahvleid menüüs Tööriistad → Tahvel: xxx Valige Wemos D1 Mini. Minu puhul, nagu pildilt näha, oli konkreetne nimi "LOLIN (WEMOS) D1 R2 & mini"
  6. Ühendage USB -kaabel arvuti ja Wemose vahel
  7. Veenduge, et "Port" on nüüd tööriistade menüüs aktiivne ja näeb õige välja.

Samm 5: Wemode programmeerimine - vilkumistesti

Wemode programmeerimine - vilkumistesti
Wemode programmeerimine - vilkumistesti

Enne kaugemale minekut peame veenduma, et saame Wemose juhatusega suhelda ja kõik tundub korras. Lihtsaim viis selleks on ühendada USB -kaabel ja proovida Wemosesse lihtsat programmi lükata. Blink on lihtsaim näide ja on uute laudadega töötamisel säästnud mulle palju vaeva, et ma teen seda alati esimesena.

  1. Avage: Fail> Näited> ESP8266> Vilgutage ja laadige Wemos -seadme vilkumisvisand
  2. Koostage ja laadige üles visand

Kui sinine LED hakkab vilkuma umbes kord sekundis, siis on teil hea minna järgmise sammu juurde! Kui ei, siis minge tagasi ja tehke eelmiste sammude tõrkeotsing. Vaadake, kas draiverite ja juhatuse halduriga on probleeme. Mul oli mõningaid probleeme ESP8266 plaadipaketiga ja pidin selle täielikult desinstallima ja uuesti installima, kuna juhtus versioonidega midagi imelikku. Ärge heitke meelt ja Interneti -otsingud võivad olla teie sõbrad!

Eeldades, et kõik on hästi, jätkake järgmise sammuga.

6. samm: Wemode programmeerimine - Blynk'i seadistamine

Wemode programmeerimine - Blynki seadistamine
Wemode programmeerimine - Blynki seadistamine
Wemode programmeerimine - Blynki seadistamine
Wemode programmeerimine - Blynki seadistamine
Wemode programmeerimine - Blynki seadistamine
Wemode programmeerimine - Blynki seadistamine

Järgmistes sammudes peame seadistama konto Blynkis ja hankima meile loa, mida kasutada meie loodud vooluahela juhtimiseks.

  1. Laadige rakendus alla ja looge konto (tasuta)
  2. Loo uus projekt
  3. Valige jaotises Vali seade riistvaraks Wemos D1
  4. Andke projektile nimi ja jätke pistiku tüüp WiFi -ks
  5. Klõpsake nuppu Loo projekt
  6. Sel hetkel saadetakse autentimisluba e -posti aadressile, mida kasutasite oma Blynk konto loomisel. Salvestage see hilisemaks, lisame järgmises etapis väärtused visandisse.
  7. Tühjale lõuendiekraanile jõudes pühkige lihtsalt vasakule ja näete vidinate menüüd. Valige "Nupp", et lisada projektile "nupp"
  8. Valige nupp ja konfigureerige seejärel PIN -kood, klõpsates seda ja valides pi -ks "Digital" ja "D1" ning klõpsake "OK"
  9. Sel hetkel peaks kõik olema valmis. Selle aktiveerimiseks soovite valida paremas ülanurgas kolmnurga ikooni, kuid see ei tööta veel, kuni oleme visandi üles laadinud ja konfigureerinud, mis on järgmine samm!

Samm 7: Wemode programmeerimine - Blynki raamatukogu installimine

Blynkil põhineva visandi üleslaadimiseks peame installima nende kogu. Üksikasjad leiate siit.

github.com/blynkkk/blynk-library/releases

Vaadake ka tausta saamiseks nende peamist veebisaiti siit (https://blynk.io/en/getting-started)

See oli minu jaoks alguses segane, kuid see on palju lihtsam kui tundub. Pakkige fail lihtsalt oma Arduino kataloogi lahti. Minu jaoks oli see / user / Documents / Arduino. Seal oli juba kaust nimega "raamatukogud". Zip -fail sisaldab kataloogi "raamatukogu" ja "tööriistad". Kui pakite selle Arduino kataloogi lahti, lisab see selle sisu raamatukogudesse ja loob tööriistad, kui seda veel pole.

8. samm: Wemode programmeerimine - visand

Sel hetkel oleme peaaegu valmis. Visand on üsna lihtne, see on otse Blynkist ja ühendab sisuliselt Blynk -teenuse ja tahvli. Nende ehitajat saate kasutada siin:

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

Või võite kasutada seda näidist, mis peaks teie jaoks töötama. Veenduge, et asendate oma WiFi -võrgu autentimismärgi väärtused ja mandaadi.

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

Laadige alla uusim Blynk-raamatukogu siit: https://github.com/blynkkk/blynk-library/releases/latest Blynk on platvorm iOS- ja Android-rakendustega, et kontrollida Arduino, Raspberry Pi ja muu sarnast Interneti kaudu. Saate hõlpsasti kõigi oma projektide jaoks graafilisi liideseid luua, lihtsalt vidinaid lohistades. Allalaadimised, dokumendid, õpetused: https://www.blynk.cc Visandigeneraator: https://examples.blynk.cc Blynk kogukond: https://community.blynk.cc Jälgi meid: https://www.fb. com/blynkapp Blynk raamatukogu on litsentsitud MIT litsentsi alusel. See näite kood on üldkasutatav. ************************************************* *********** Objekti WidgetTerminal abil saate saata/vastu võtta mis tahes andmeid. Rakenduse projekti seadistamine: terminali vidin on lisatud virtuaalsele pin V1 *************************************** **********************//*Kommenteerige seda, et prindid keelata ja ruumi säästa Märk rakenduses Blynk. // Avage projekti sätted (mutriikoon). char auth = "YourAuthToken"; // Teie WiFi volikirjad. // Määra avatud võrkude jaoks parool "". char ssid = "SinuVõrguNimi"; char pass = "Sinu parool"; // Virtuaalse jadaterminali kinnitamine virtuaalse pin V1 vidina terminali terminali (V1); // Saate käske terminalist oma riistvarale saata. Kasutage lihtsalt // sama virtuaalset PIN -koodi nagu terminali vidin BLYNK_WRITE (V1) {// kui sisestate terminali vidinasse "Marco" - see vastab: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("Sa ütlesid: 'Marco'"); terminal.println ("Ma ütlesin:" Polo ""); } else {// Saada see tagasi terminal.print ("Sa ütlesid:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Veenduge, et kõik saadetakse terminal.flush (); } void setup () {// Silumiskonsool Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Saate määrata ka serveri: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin:(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // See prindib Blynk tarkvara versiooni terminali vidinasse, kui // teie riistvara ühendatakse Blynk Serveri terminaliga.println (F ("Blynk v" BLYNK_VERSION ": seade käivitati")); terminal.println (F ("-------------")); terminal.println (F ("Tüüp" Marco "ja saada vastus või tüüp")); terminal.println (F ("kõike muud ja prindi see tagasi.")); terminal.flush (); } void loop () {Blynk.run (); }

9. samm: Wemode programmeerimine - viimane samm

Image
Image

Kui visand on laaditud, kompileerige ja laadige see üles ning peaksite olema valmis oma seadistusi testima!

Avage rakendus Blynk, klõpsake oma Wemos projekti paremas ülanurgas olevat kolmnurka

Seejärel klõpsake nuppu! Peaksite kuulma relee klõpsatust ja releeplaadil oleku LED -id näitavad, et relee olek on muutunud.

Nüüd saate relee ühendada mis tahes madalpingerakendusega, mis nõuab lihtsat lülitit, ja juhtida seda oma Blynk rakendusest. Viimane asi, mida peame tegema, on siduda IFTTT ja kasutada Google'i või Alexa abil Blynk süsteemi, et me ei peaks seda tegema oma Blynk rakendusest.

10. samm: Blynk'i juhtimine IFTTT ja Google'i kodu või Alexa abil

Ma eeldan, et teil on IFTTT -ga tuttav. Kui ei, siis on seal mõned suurepärased õpetused, mis aitavad teil õppida IFTTT -d kasutama ja kasutama. See on väga võimas ja midagi, mida soovite õppida, kui te pole sellega juba tuttav.

  1. Looge IFTTT -s uus aplett
  2. Valige „Kui see” Google'i abimees ja kasutage päästikuna lihtsat fraasi. Minu jaoks, kuna see lülitas minu kamina sisse või välja, oli minu fraas "lülitage kamin sisse"
  3. Jaotise „Siis see” jaoks otsige ja kasutage veebihaake
  4. Valige "Tee veebipäring"
  5. URL -i jaoks, mida soovite kasutada:

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

  6. Määrake meetodiks GET, sisutüübiks urlencoded ja võite jätta BODY tühjaks ning seejärel salvestada

Oodake mõni minut ja proovige oma fraasi oma Google'i koduseadmega testida. Märkasin, et selle valmimiseks kulub umbes kaks minutit.

MÄRKUS: siin on veel üks asi, millele tähelepanu pöörata. Pange tähele, et kasutan oma API -kõnes d5 -d, kuid ühendasin tahvli D1 -ga. Mul kulus umbes päev, enne kui sain aru, et GPIO tihvtide nummerdamine ja ekraanil trükitud numbrid tahvlil ei ole samad. Pärast väärtuste muutmist otseste URL -i kõnedega ja pingete testimist erinevatel tihvtidel voltmeetriga, sain märgata, et API kaudu helistamine d1 -le muutis küll pinget, kuid mitte tahvli D1 juures. d5/GPIO 5 vastas tegelikult tahvlile D1. Kui ma selle kohanduse tegin, töötas kõik ilusti!

Alexa ühendamine on identne Google'i koduga, kasutades selle asemel lihtsalt IFTTT -s Alexa teenust.

Samm 11: Järeldus

Sel hetkel peaks teil olema toimiv hääljuhtimisega IOT-relee, kasutades Wemos D1 mini lite'i. Nautige ja palju õnne!

Jällegi on elekter ohtlik, nii et palun võtke asjakohaseid ettevaatusabinõusid ja kui te pole kvalifitseeritud, ärge seda tehke.

Soovitan: