Kazalo:

Relejsko stikalo IOT z glasovno krmiljenjem na osnovi Arduino (Google Home & Alexa podpira): 11 korakov
Relejsko stikalo IOT z glasovno krmiljenjem na osnovi Arduino (Google Home & Alexa podpira): 11 korakov

Video: Relejsko stikalo IOT z glasovno krmiljenjem na osnovi Arduino (Google Home & Alexa podpira): 11 korakov

Video: Relejsko stikalo IOT z glasovno krmiljenjem na osnovi Arduino (Google Home & Alexa podpira): 11 korakov
Video: ПОЛТЕРГЕЙСТ 5 УРОВНЯ СНОВА НЕ ДАЕТ ПОКОЯ, ЖУТКАЯ АКТИВНОСТЬ / LEVEL 5 POLTERGEIST, CREEPY ACTIVITY 2024, Junij
Anonim
Relejsko stikalo IOT z glasovnim nadzorom na osnovi Arduino (Google Home & Alexa podpira)
Relejsko stikalo IOT z glasovnim nadzorom na osnovi Arduino (Google Home & Alexa podpira)

Ta projekt opisuje, kako narediti stikalo releja IOT na osnovi Arduina, glasovno vodeno. To je rele, ki ga lahko z aplikacijo za iOS in Android vklopite in izklopite na daljavo ter ga povežete z IFTTT in z glasom upravljate tudi z Google Home in/ali Alexa. Zajeli bomo vse korake, potrebne za ustvarjanje naprave, povezavo aplikacije in povezavo tudi v različnih storitvah IOT.

Zaloge

  • Wemos D1 Mini Lite ESP8285 (nekaj dolarjev na Amazonu)
  • 5V relejni modul za Arduino/Raspberry Pi
  • 2N2222 NPN tranzistor
  • 47K ohmski upor
  • 1K ohmski upor

1. korak: Zgradite vezje

Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje

Prvi korak je ožičenje vezja. Priložil sem shematično in tradicionalno shemo ožičenja, odvisno od tega, česa ste navajeni. Prvo vezje sem naredil na krovu za izdelavo prototipov, nato pa sem ga premaknil na tiskano vezje za trajnejšo nastavitev in ga postavil v 3D natisnjeno projektno škatlo.

Rele je optično izoliran rele H/L 5V, kar pomeni, da je najprej sprožilno vezje optično izolirano od samega aktiviranja releja, kar odpravlja morebitne težave s povratnimi informacijami od releja nazaj do mikrokrmilnika Wemos. Lepo varnost imeti. Drugič, preklaplja visoko/nizko, kar pomeni, da ga je mogoče konfigurirati s premikanjem rumenega mostička, ki ga vidite na slikah, od sprožitve, ko je signal visok (+5 V), ali sprožitve, ko je signal nizek (0 V). Wemos sam pošilja 3.3V iz svojih digitalnih zatičev, mi pa kot vir sprožilca uporabljamo D1, kar pomeni, da ga moramo nekoliko ojačati, tako da se približamo digitalnemu signalu +5V za sprožitev releja. Druga možnost je, da uporabite 3.3V rele in odstranite komponento tranzistorskega ojačevalnika v vezju in pojdite naravnost od D1 do signalnega zatiča na releju. Nisem imel 3.3V relejev, zato uporabljamo pogostejši 5V rele in vezje ojačevalnika.

DC+ in DC- na releju se povežeta na 5V in GND nožice Wemosa, kar zagotavlja potrebno napetost za delovanje releja. Rele je ocenjen od majhnih napetosti do omrežne napetosti, vendar to uporabljam za nadzor nizkonapetostne napeljave. Če to uporabljate za nadzor napetosti v omrežju, se prepričajte, da veste, kaj počnete, ste usposobljeni in upoštevate ustrezne varnostne ukrepe. V nasprotnem primeru tega ne uporabljajte za krmiljenje napetostnih aplikacij.

Pin D1 na Wemosu se poveže z 47K ohmskim uporom, ki se napaja v osnovo tranzistorja NPN. Oddajnik se veže nazaj na tla. Zbiralec je priključen na vhod signala na releju. Rele je nastavljen tako, da se sproži pri nizki vrednosti, zato, ko D1 oddaja signal, se 3.3V signal ojača na približno 5V in rele je odprt. Ko se D1 zniža, se signal na releju zmanjša, rele pa se zapre in zaključi vezje.

Pozabil sem posneti svoje začasno vezje na plošči za izdelavo prototipov, vendar je bilo videti podobno kot zgornji diagram Fritzing, če je to v pomoč. Priložil sem številne slike svojega zadnjega stalnega vezja, tako da lahko vidite, kako je ožičen, če potrebujete nekaj vpogleda ali potrebujete pregled nad določenimi komponentami, ki jih uporabljam.

2. korak: Programiranje Wemosa - Pregled

Ena izmed stvari, ki mi je pri Wemosu všeč, je, da jih je mogoče programirati tako kot Arduino z uporabo iste IDE. Tu pa je nekaj korakov.

  1. Namestite gonilnike Wemos v računalnik, lahko se pogovarjate z Wemosom
  2. Posodobite Arduino IDE, da bo na voljo plošča Wemos
  3. Naredite hiter test "Utripaj" in se prepričajte, da vse deluje pravilno
  4. Nastavite se z Blynkom (vem, da je zmedeno, vendar je pravzaprav drugačno od "testa utripanja")
  5. Pridobite kodo aplikacije od Blynka
  6. Posodobite kodo Wemos/Arduino s podatki Blynk
  7. Naložite kodo v nastavitve Wemos.

3. korak: Programiranje Wemosa - Namestite gonilnike

Programiranje Wemosa - Namestite gonilnike
Programiranje Wemosa - Namestite gonilnike

Pojdi sem (zdi se, da se ta povezava občasno spreminja, poskušal jo bom posodabljati):

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

In prenesite ustrezen paket gonilnikov za vaš OS. Nato ekstrahirajte zip v imenik in zaženite aplikacijo "SETUP", da ga namestite.

Ko sem to storil prvič, sem dobil nekaj čudne napake, da se ne namesti. Videl sem opombo nekoga drugega o tem in njihovi rešitvi, ki mi je uspela. Če se prikaže napaka, poskusite uporabiti gumb »Odstrani« in nato znova uporabite »Namesti«. Upam, da bo to razčistilo zadevo, tako kot pri meni.

4. korak: Programiranje Wemosa - posodobite Arduino IDE

Programiranje Wemosa - posodobite Arduino IDE
Programiranje Wemosa - posodobite Arduino IDE
Programiranje Wemosa - posodobite Arduino IDE
Programiranje Wemosa - posodobite Arduino IDE
Programiranje Wemosa - posodobite Arduino IDE
Programiranje Wemosa - posodobite Arduino IDE

Če niste namestili Arduino IDE, je pravi čas, da to storite zdaj. Lahko ga prenesete s spletnega mesta www.arduino.cc

Tukaj je referenca, kaj bomo storili v tem koraku.

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

  1. Namestimo novo ploščo, da se prikaže kot možnost v Arduino IDE. Koraki 2 - 4 so izvlečki iz vodnika za namestitev na naslednji strani github.

    github.com/esp8266/Arduino

  2. Zaženite Arduino IDE in odprite okno Nastavitve.
  3. V polje »Dodatni URL -ji upravitelja plošč« vnesite »https://arduino.esp8266.com/stable/package_esp8266com_index.json«. Dodate lahko več URL -jev in jih ločite z vejicami.
  4. Odprite upravitelja plošč v meniju Orodja> deska> Upravitelj plošč (na vrhu), poiščite »esp8266« in namestite navedeno platformo esp8266.
  5. Na tej točki boste videli Orodja → Plošča: xxx Izberite Wemos D1 Mini. V mojem primeru, kot vidite iz slike, je bilo posebno ime "LOLIN (WEMOS) D1 R2 & mini"
  6. Med računalnikom in Wemosom priključite kabel USB
  7. Potrdite, da je "Vrata" zdaj aktivna v meniju Orodja in da je videti pravilno.

5. korak: Programiranje Wemos - Blink Test

Programiranje Wemos - Blink Test
Programiranje Wemos - Blink Test

Preden gremo naprej, se moramo prepričati, da lahko komuniciramo z desko Wemos in da je vse v redu. Najlažji način za to je, da priključite kabel USB in poskusite preprost program potisniti v Wemos. Blink je najlažji primer in mi je prihranil veliko težav pri delu z novimi ploščami, da to vedno naredim najprej.

  1. Pojdite na: Datoteka> Primeri> ESP8266> Utripi in naloži utripajočo skico za napravo Wemos
  2. Sestavite in naložite skico

Če začne modra LED utripati približno enkrat na sekundo, potem lahko nadaljujete na naslednji korak! Če ne, se vrnite in odpravite prejšnje korake. Preverite, ali je težava z gonilniki in upraviteljem plošče. Imel sem nekaj težav s paketom plošče za ESP8266 in sem ga moral popolnoma odstraniti in znova namestiti zaradi nečesa čudnega pri različicah, ki so se dogajale. Ne obupajte in iskanje po internetu je lahko vaš prijatelj!

Ob predpostavki, da je vse v redu, pojdite na naslednji korak.

6. korak: Programiranje Wemosa - nastavitev Blynka

Programiranje Wemosa - nastavitev Blynka
Programiranje Wemosa - nastavitev Blynka
Programiranje Wemosa - nastavitev Blynka
Programiranje Wemosa - nastavitev Blynka
Programiranje Wemosa - nastavitev Blynka
Programiranje Wemosa - nastavitev Blynka

V teh naslednjih korakih moramo vzpostaviti račun pri Blynku in dobiti žeton, ki ga bomo lahko uporabili za nadzor vezja, ki smo ga ustvarili.

  1. Prenesite aplikacijo in ustvarite račun (brezplačen)
  2. Ustvarite nov projekt
  3. V meniju Izberi napravo izberite Wemos D1 kot strojno opremo
  4. Projektu dajte ime in ime vrste priključka ohranite kot WiFi
  5. Kliknite Ustvari projekt
  6. Na tej točki bo žeton za preverjanje pristnosti poslan na e -poštni naslov, ki ste ga uporabili pri ustvarjanju računa Blynk. Shranite to za pozneje, v naslednjem koraku bomo vrednosti v skico vstavili.
  7. Ko pridete na prazen zaslon platna, samo povlecite v levo in dobili boste meni gradnikov. Izberite "Gumb", če želite projektu dodati "gumb"
  8. Izberite gumb in nato nastavite Pin tako, da ga kliknete in izberete "Digital" in "D1" kot pi in kliknite "OK"
  9. Na tej točki bi moralo biti vse pripravljeno. Če želite to aktivirati, izberite ikono trikotnika v zgornjem desnem kotu, vendar še ne bo delovala, dokler ne naložimo in konfiguriramo skice, kar je naslednji korak!

7. korak: Programiranje Wemosa - Namestitev knjižnice Blynk

Če želimo naložiti skico, ki temelji na Blynku, moramo namestiti njihovo knjižnico. Podrobnosti najdete tukaj.

github.com/blynkkk/blynk-library/releases

Za nekaj ozadja si oglejte njihovo glavno spletno mesto tukaj (https://blynk.io/en/getting-started)

Sprva me je to zmedlo, vendar je veliko lažje, kot se sliši. Preprosto razpakirajte datoteko v imenik Arduino. Zame je bilo to v / user / Documents / Arduino. Tam je že obstajala mapa z imenom "knjižnice". Datoteka zip vsebuje imenik "knjižnica" in "orodja". Ko ga razpakirate v imenik Arduino, ta doda svojo vsebino v knjižnice in ustvari orodja, če še niso obstajala.

8. korak: Programiranje Wemosa - skica

Na tej točki smo skoraj končali. Skica je precej preprosta, neposredno iz Blynka in v bistvu povezuje storitev Blynk in ploščo. Njihov graditelj lahko uporabite tukaj:

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

Ali pa uporabite ta vzorec, ki bi vam moral delovati. Prepričajte se, da vrednosti žetona za avtentikacijo in poverilnice zamenjate za omrežje wifi.

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

Najnovejšo knjižnico Blynk prenesite tukaj: https://github.com/blynkkk/blynk-library/releases/latest Blynk je platforma z aplikacijami za iOS in Android za nadzor Arduina, Raspberry Pi in podobnih po internetu. Grafične vmesnike za vse svoje projekte lahko preprosto sestavite tako, da preprosto povlečete in spustite pripomočke. Prenosi, dokumenti, vaje: https://www.blynk.cc Generator skic: https://examples.blynk.cc Skupnost Blynk: https://community.blynk.cc Sledite nam: https://www.fb. com/blynkapp Knjižnica Blynk je licencirana pod licenco MIT Ta primer kode je v javni domeni. ************************************************ *********** Vse podatke lahko pošiljate/prejemate s predmetom WidgetTerminal. Nastavitev projekta aplikacije: gradnik terminala, priključen na Virtual Pin V1 *************************************** **********************//*Komentirajte to, da onemogočite tiskanje in prihranite prostor*/ #define BLYNK_PRINT Serijski #include #include // Morali bi dobiti Auth Žeton v aplikaciji Blynk. // Pojdite na Nastavitve projekta (ikona matice). char auth = "YourAuthToken"; // Vaše poverilnice WiFi. // Za odprta omrežja nastavite geslo na "". char ssid = "Ime vašega omrežja"; char pass = "Vaša geslo"; // Priključite navidezni serijski terminal na terminal Virtual Pin V1 WidgetTerminal (V1); // Ukaze iz terminala lahko pošiljate na strojno opremo. Uporabite // isti virtualni pin kot vaš terminalski pripomoček BLYNK_WRITE (V1) {// če vnesete "Marco" v terminalski pripomoček - odgovoril bo: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("Rekel si: 'Marco'"); terminal.println ("rekel sem:" Polo ""); } else {// Pošlji nazaj terminal.print ("Rekel si:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Prepričajte se, da je vse poslano terminal.flush (); } void setup () {// Konzola za odpravljanje napak Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Določite lahko tudi strežnik: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // To bo natisnilo različico programske opreme Blynk v pripomoček terminala, ko // se vaša strojna oprema poveže s terminalom strežnika Blynk Server.println (F ("Blynk v" BLYNK_VERSION ": Device start")); terminal.println (F ("-------------")); terminal.println (F ("Vtipkajte 'Marco' in dobite odgovor ali vnesite")); terminal.println (F ("karkoli drugega in ga natisnite nazaj.")); terminal.flush (); } void loop () {Blynk.run (); }

9. korak: Programiranje Wemosa - zadnji korak

Image
Image

Ko je skica naložena, sestavite in naložite skico in pripravljeni boste preizkusiti svojo nastavitev!

Odprite aplikacijo Blynk, kliknite trikotnik v zgornjem desnem kotu za vaš projekt Wemos

Nato kliknite gumb! Slišati bi morali klik releja in LED diode stanja na plošči releja kažejo, da se je rele spremenil.

Zdaj lahko rele priključite na katero koli nizkonapetostno aplikacijo, ki zahteva preprosto stikalo, in jo upravljate iz aplikacije Blynk. Zadnja stvar, ki jo moramo storiti, je, da povežemo IFTTT in uporabimo Google ali Alexa za nadzor sistema Blynk, da nam tega ne bo treba narediti iz naše aplikacije Blynk.

10. korak: Nadzor Blynka z IFTTT in Google Home ali Alexa

Predvidevam, da na tej točki poznate IFTTT. Če ne, obstaja nekaj odličnih vaj, ki vam bodo pomagale naučiti se uporabljati in uporabiti IFTTT. Je zelo močan in nekaj, kar se boste želeli naučiti, če tega še niste seznanjeni.

  1. Ustvarite nov programček v IFTTT
  2. Izberite »Pomočnik Google« kot »Če je to« in kot sprožilec uporabite »Enostavna fraza«. Zame, ker se mi bo s tem vklopil ali izklopil kamin, je bil moj stavek "vklopi kamin"
  3. Za del "Potem To" poiščite in uporabite Webhooks
  4. Izberite "Pošlji spletno zahtevo"
  5. Za URL, ki ga želite uporabiti:

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

  6. Metodo nastavite na GET, vrsto vsebine na urlencoded in pustite BODY prazno in nato shranite

Počakajte nekaj minut in nato preizkusite svojo besedno zvezo z domačo Googlovo napravo. Opazil sem, da traja približno dve minuti, da je pripravljen.

OPOMBA: tukaj morate biti pozorni še na eno stvar. Upoštevajte, da pri klicu API uporabljam "d5", vendar sem se povezal z zatičem D1 na plošči. Potreboval sem približno en dan, da sem ugotovil, da številčenje pin GPIO in zaslonsko natisnjeno oštevilčenje na plošči nista enaka. Po spreminjanju vrednosti z neposrednimi klici URL -jev in testiranju napetosti na različnih zatičih z merilnikom voltov sem lahko opazil, da je klic na d1 prek API -ja spremenil napetost, ne pa tudi pri D1 na plošči. d5/GPIO 5 je dejansko ustrezal D1 na plošči. Ko sem naredil to prilagoditev, je vse delovalo čudovito!

Priključitev Alexa je enaka Googlovemu domu, namesto tega uporabljate storitev Alexa na IFTTT.

11. korak: Zaključek

Na tej točki bi morali imeti delujoč glasovno vodeni rele IOT z uporabo Wemos D1 mini lite. Uživajte in veliko sreče!

Ponovno je elektrika nevarna, zato upoštevajte ustrezne varnostne ukrepe in če niste usposobljeni, ne.

Priporočena: