Satura rādītājs:

Arduino balstīts balss kontrolēts IOT releja slēdzis (tiek atbalstīta Google sākumlapa un Alexa): 11 soļi
Arduino balstīts balss kontrolēts IOT releja slēdzis (tiek atbalstīta Google sākumlapa un Alexa): 11 soļi

Video: Arduino balstīts balss kontrolēts IOT releja slēdzis (tiek atbalstīta Google sākumlapa un Alexa): 11 soļi

Video: Arduino balstīts balss kontrolēts IOT releja slēdzis (tiek atbalstīta Google sākumlapa un Alexa): 11 soļi
Video: STC-3028 Thermostat with Heat and Humidity Fully Explained and demonstrated 2024, Jūnijs
Anonim
Arduino balstīts balss kontrolēts IOT releja slēdzis (tiek atbalstīta Google sākumlapa un Alexa)
Arduino balstīts balss kontrolēts IOT releja slēdzis (tiek atbalstīta Google sākumlapa un Alexa)

Šajā projektā ir aprakstīts, kā izveidot ar Arduino balstītu balss vadītu IOT releja slēdzi. Šis ir relejs, kuru varat ieslēgt un izslēgt attālināti, izmantojot lietotni iOS un Android ierīcēm, kā arī piesaistīt to IFTTT un kontrolēt to ar savu balsi, izmantojot arī Google sākumlapu un/vai Alexa. Mēs apskatīsim visas darbības, kas nepieciešamas, lai izveidotu ierīci, savienotu lietotni un izveidotu savienojumu arī ar dažādiem IOT pakalpojumiem.

Piegādes

  • Wemos D1 Mini Lite ESP8285 (daži dolāri Amazon)
  • 5 V releja modulis Arduino/Raspberry Pi
  • 2N2222 NPN tranzistors
  • 47K omu rezistors
  • 1K omu rezistors

1. solis: izveidojiet ķēdi

Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi

Pirmais solis ir ķēdes savienošana. Es esmu iekļāvis shematisku un tradicionālu elektroinstalācijas shēmu atkarībā no tā, pie kā esat pieradis. Pirmo ķēdi veicu uz maizes dēļa prototipa un pēc tam pārnesu to uz PCB, lai iegūtu pastāvīgāku iestatījumu, un ievietoju to 3D drukātā projekta kastē.

Relejs ir opto izolēts H/L 5V relejs, kas nozīmē, ka, pirmkārt, sprūda shēma ir optiski izolēta no paša releja aktivizēšanas, kas novērš visas iespējamās problēmas ar atgriezenisko saiti no releja atpakaļ uz Wemos mikrokontrolleru. Jauka drošība. Otrkārt, tas ir pārslēdzams ar augstu/zemu līmeni, kas nozīmē, ka to var konfigurēt, pārvietojot attēlos redzamo dzelteno džemperi, no iedarbināšanas, kad signāls ir augsts (+5V), vai iedarbināšanas, kad signāls ir zems (0V). Pats Wemos no digitālajām tapām izsūta 3.3V, un mēs izmantojam D1 kā sprūda avotu, kas nozīmē, ka mums tas ir nedaudz jāpastiprina, lai tuvotos +5V digitālajam signālam, lai iedarbinātu releju. Varat arī izmantot 3.3V releju un izslēgt ķēdē esošo tranzistora pastiprinātāja komponentu un doties tieši no D1 uz releja signāla tapu. Man nebija 3,3 V releju, tāpēc mēs izmantojam biežāk sastopamu 5 V releju un pastiprinātāja ķēdi.

Relejā esošie DC+ un DC- savienojas ar Wemos 5V un GND tapām, kas nodrošina releja darbināšanai nepieciešamo spriegumu. Relejs ir novērtēts no maza sprieguma līdz līnijas spriegumam, bet es to izmantoju, lai kontrolētu zemsprieguma elektroinstalācijas lietojumprogrammu. Ja jūs to izmantojat, lai kontrolētu līnijas spriegumu, lūdzu, pārliecinieties, ka zināt, ko darāt, esat kvalificēts un veicat atbilstošus piesardzības pasākumus. Ja nē, tad neizmantojiet to, lai kontrolētu līnijas sprieguma lietojumprogrammas.

Wemos tapa D1 savienojas ar 47K omu rezistoru, kas tiek ievadīts NPN tranzistora pamatnē. Emitētājs piesaista zemei. Kolektors ir pievienots releja signāla ieejai. Relejs ir iestatīts, lai aktivizētu zemu līmeni, tāpēc, kad D1 dod signālu, 3,3 V signāls tiek pastiprināts līdz aptuveni 5 V un relejs ir atvērts. Kad D1 pazeminās, signāls uz releju samazinās, un relejs aizveras un pabeidz ķēdi.

Es aizmirsu nofotografēt savu pagaidu ķēdi uz maizes prototipa, taču tas izskatījās tieši tāpat kā iepriekš redzamā Fritzinga diagramma, ja tā ir noderīga. Es iekļāvu vairākus attēlus no savas pēdējās pastāvīgās ķēdes, lai jūs varētu redzēt, kā tas ir savienots, ja jums ir nepieciešama zināma informācija vai nepieciešama redzamība par konkrētajiem manis izmantotajiem komponentiem.

2. darbība: Wemos programmēšana - pārskats

Viena no lietām, kas man patīk Wemos, ir tā, ka tās var ieprogrammēt tāpat kā Arduino, izmantojot to pašu IDE. Tomēr šeit ir daži soļi.

  1. Instalējiet Wemos draiverus datorā, lai varētu sarunāties ar Wemos
  2. Atjauniniet Arduino IDE, lai būtu pieejama Wemos dēlis
  3. Veiciet ātru mirgošanas pārbaudi, lai pārliecinātos, ka viss darbojas pareizi
  4. Sagatavojieties ar Blynk (es zinu, ka tas ir mulsinoši, bet patiesībā tas atšķiras no “mirgošanas testa”)
  5. Iegūstiet lietojumprogrammas kodu no Blynk
  6. Atjauniniet Wemos/Arduino kodu, izmantojot Blynk informāciju
  7. Augšupielādējiet kodu Wemos iestatījumos.

3. darbība: Wemos programmēšana - draiveru instalēšana

Wemos programmēšana - instalējiet draiverus
Wemos programmēšana - instalējiet draiverus

Dodieties šeit (šķiet, ka šī saite periodiski mainās, es centīšos to atjaunināt):

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

Un lejupielādējiet savai OS pareizo draivera pakotni. Pēc tam izvelciet zip uz direktoriju un izpildiet lietojumprogrammu "SETUP", lai to instalētu.

Kad es to izdarīju pirmo reizi, es saņēmu dīvainu kļūdu par to, ka tā nav instalēta. Es redzēju kāda cita piezīmi par šo un viņu risinājumu, kas man noderēja. Tātad, ja rodas kļūda, mēģiniet izmantot pogu "Atinstalēt" un pēc tam vēlreiz izmantojiet pogu "Instalēt". Cerams, ka tas atrisina problēmu tāpat kā man.

4. solis: Wemos programmēšana - atjauniniet Arduino IDE

Wemos programmēšana - atjauniniet Arduino IDE
Wemos programmēšana - atjauniniet Arduino IDE
Wemos programmēšana - atjauniniet Arduino IDE
Wemos programmēšana - atjauniniet Arduino IDE
Wemos programmēšana - atjauniniet Arduino IDE
Wemos programmēšana - atjauniniet Arduino IDE

Ja neesat instalējis Arduino IDE, ir īstais laiks to darīt tagad. To var lejupielādēt vietnē www.arduino.cc

Šeit ir atsauce uz to, ko mēs darīsim šajā solī.

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

  1. Instalēsim jauno tāfeli, lai tā tiktu parādīta kā opcija Arduino IDE. 2. - 4. darbība ir izvilkta no instalēšanas rokasgrāmatas nākamajā github lapā.

    github.com/esp8266/Arduino

  2. Palaidiet Arduino IDE un atveriet logu Preferences.
  3. Laukā Papildu pārvaldnieka vietrāži URL ievadiet "https://arduino.esp8266.com/stable/package_esp8266com_index.json". Varat pievienot vairākus URL, atdalot tos ar komatiem.
  4. Atveriet Boards Manager no Tools> Board> Boards Manager (augšpusē), meklējiet "esp8266" un instalējiet uzskaitīto platformu esp8266.
  5. Šajā brīdī jūs redzēsit Wemos dēļus izvēlnē Rīki → Dēlis: xxx Atlasiet Wemos D1 Mini. Manā gadījumā, kā redzams no attēla, konkrētais nosaukums bija "LOLIN (WEMOS) D1 R2 & mini"
  6. Pievienojiet USB kabeli starp datoru un Wemos
  7. Pārliecinieties, vai izvēlnē Rīki tagad ir aktīvs ports, un tas izskatās pareizi.

5. solis: Wemos programmēšana - mirgošanas pārbaude

Wemos programmēšana - mirgošanas pārbaude
Wemos programmēšana - mirgošanas pārbaude

Pirms dodamies tālāk, mums jāpārliecinās, vai varam sazināties ar Wemos valdi, un viss izskatās kārtībā. Vienkāršākais veids, kā to izdarīt, ir pievienot USB kabeli un mēģināt nospiest Wemos vienkāršu programmu. Mirkšķināšana ir vienkāršākais piemērs, un tas man ir ietaupījis daudz problēmu, strādājot ar jauniem dēļiem, ka es vienmēr to daru vispirms.

  1. Dodieties uz: Fails> Piemēri> ESP8266> Mirgot un ielādēt mirgošanas skici Wemos ierīcei
  2. Apkopojiet un augšupielādējiet skici

Ja zilā gaismas diode sāk mirgot apmēram reizi sekundē, tad varat turpināt nākamo darbību! Ja nē, atgriezieties iepriekš un veiciet problēmu novēršanu. Pārbaudiet, vai nav problēmu ar draiveriem un valdes vadītāju. Man bija dažas problēmas ar ESP8266 dēļa pakotni, un tā bija pilnībā jāatinstalē un jāpārinstalē, jo notika kaut kas dīvains ar versijām. Nepadodieties, un interneta meklēšana var būt jūsu draugs!

Pieņemot, ka viss ir kārtībā, dodieties uz nākamo soli.

6. darbība: Wemos programmēšana - Blynk iestatīšana

Wemos programmēšana - Blynk iestatīšana
Wemos programmēšana - Blynk iestatīšana
Wemos programmēšana - Blynk iestatīšana
Wemos programmēšana - Blynk iestatīšana
Wemos programmēšana - Blynk iestatīšana
Wemos programmēšana - Blynk iestatīšana

Šajās nākamajās darbībās mums ir jāizveido konts Blynk un jāsaņem marķieris, ko mēs varam izmantot, lai kontrolētu mūsu izveidoto ķēdi.

  1. Lejupielādējiet lietotni un izveidojiet kontu (tas ir bez maksas)
  2. Izveidojiet jaunu projektu
  3. Sadaļā Izvēlēties ierīci kā aparatūru izvēlieties Wemos D1
  4. Piešķiriet projektam nosaukumu un saglabājiet savienotāja veidu kā WiFi
  5. Noklikšķiniet uz Izveidot projektu
  6. Šajā brīdī autentifikācijas marķieris tiks nosūtīts uz e -pasta adresi, kuru izmantojāt, veidojot savu Blynk kontu. Saglabājiet to vēlākam laikam, mēs nākamajā darbībā ievietojam vērtības skicē.
  7. Kad nokļūsit tukšajā audekla ekrānā, velciet pa kreisi, un tiks parādīta logrīku izvēlne. Atlasiet "Poga", lai projektam pievienotu "pogu"
  8. Atlasiet pogu un pēc tam konfigurējiet tapu, noklikšķinot uz tās un kā pi izvēloties "Digital" un "D1" un noklikšķiniet uz "OK"
  9. Šajā brīdī visam vajadzētu būt gatavam. Lai aktivizētu šo darbību, augšējā labajā stūrī atlasiet trīsstūra ikonu, taču tā vēl nedarbosies, kamēr mēs neesam augšupielādējuši un konfigurējuši skici, kas ir nākamais solis!

7. solis: Wemos programmēšana - Blynk bibliotēkas instalēšana

Lai varētu augšupielādēt uz Blynk balstītu skici, mums jāinstalē viņu bibliotēka. Sīkāka informācija atrodama šeit.

github.com/blynkkk/blynk-library/releases

Tāpat, lai iegūtu priekšstatu, apskatiet viņu galveno vietni šeit (https://blynk.io/en/getting-started)

Sākumā tas mani mulsināja, bet tas ir daudz vieglāk, nekā izklausās. Vienkārši izpakojiet failu savā Arduino direktorijā. Man tas bija sadaļā / user / Documents / Arduino. Tur jau bija mape ar nosaukumu "bibliotēkas". ZIP failā ir direktorijs "bibliotēka" un "rīki". Kad jūs to izpakojat Arduino direktorijā, tas pievieno tā saturu bibliotēkām un izveido rīkus, ja tas vēl nebija.

8. solis: Wemos programmēšana - skice

Šobrīd esam gandrīz pabeiguši. Skice ir diezgan vienkārša, tā ir tieši no Blynk un būtībā savieno Blynk pakalpojumu un dēli. Jūs varat izmantot viņu veidotāju šeit:

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

Vai arī varat izmantot šo paraugu, kuram vajadzētu darboties. Vienkārši pārliecinieties, ka autentifikācijas pilnvaras vērtības un akreditācijas dati ir aizstāti ar jūsu wifi tīklu.

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

Lejupielādējiet jaunāko Blynk bibliotēku šeit: https://github.com/blynkkk/blynk-library/releases/latest Blynk ir platforma ar iOS un Android lietotnēm, lai internetā kontrolētu Arduino, Raspberry Pi un tamlīdzīgas lietas. Jūs varat viegli izveidot grafiskus interfeisus visiem saviem projektiem, vienkārši velkot un nometot logrīkus. Lejupielādes, dokumenti, apmācības: https://www.blynk.cc Skices ģenerators: https://examples.blynk.cc Blynk kopiena: https://community.blynk.cc Seko mums: https://www.fb. com/blynkapp Blynk bibliotēka ir licencēta saskaņā ar MIT licenci Šis piemēra kods ir publiski pieejams. ************************************************* *********** Jūs varat nosūtīt/saņemt jebkādus datus, izmantojot objektu WidgetTerminal. Lietotnes projekta iestatīšana: termināļa logrīks pievienots virtuālajai pin V1 ************************************** **********************//*Komentējiet šo, lai atspējotu izdrukas un ietaupītu vietu*/ #define BLYNK_PRINT Serial #include #include // Jums vajadzētu saņemt autentifikāciju Žetons lietotnē Blynk. // Dodieties uz projekta iestatījumiem (uzgriežņa ikona). char auth = "YourAuthToken"; // Jūsu WiFi akreditācijas dati. // Iestatiet paroli uz "" atvērtiem tīkliem. char ssid = "Jūsu tīkla nosaukums"; char pass = "Jūsu parole"; // Pievienojiet virtuālo seriālo termināli Virtual Pin V1 WidgetTerminal terminālim (V1); // Jūs varat nosūtīt komandas no termināļa uz savu aparatūru. Vienkārši izmantojiet // to pašu virtuālo tapu, kas jūsu termināļa logrīkam BLYNK_WRITE (V1) {// ja termināļa logrīkā ierakstāt "Marco" - tas atbildēs: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("Jūs teicāt:" Marko ""); terminal.println ("Es teicu:" Polo ""); } cits {// Nosūtiet to atpakaļ terminal.print ("Jūs teicāt:"); terminal.write (param.getBuffer (), param.getLength ()); terminālis.println (); } // Pārliecinieties, ka viss tiek nosūtīts terminal.flush (); } void setup () {// Atkļūdošanas konsole Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Varat arī norādīt serveri: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Tas izdrukās Blynk programmatūras versiju termināļa logrīkā, kad // jūsu aparatūra tiks savienota ar Blynk Server termināli.println (F ("Blynk v" BLYNK_VERSION ": ierīce sākta")); terminālis.println (F ("-------------")); terminal.println (F ("Ierakstiet" Marco "un saņemiet atbildi vai ierakstiet")); terminal.println (F ("jebkas cits un izdrukājiet to atpakaļ.")); terminal.flush (); } void loop () {Blynk.run (); }

9. solis: Wemos programmēšana - pēdējais solis

Image
Image

Kad skice ir ielādēta, apkopojiet un augšupielādējiet skici, un jums vajadzētu būt gatavam pārbaudīt savu iestatījumu!

Atveriet lietotni Blynk, sava Wemos projekta augšējā labajā stūrī noklikšķiniet uz trīsstūra

Pēc tam noklikšķiniet uz pogas! Jums vajadzētu dzirdēt releja klikšķi, un statusa gaismas diodes uz releja paneļa norāda, ka relejs ir mainījis stāvokli.

Tagad jūs varat savienot releju ar jebkuru zemsprieguma lietojumprogrammu, kurai nepieciešams vienkāršs slēdzis, un kontrolēt to no savas lietotnes Blynk. Pēdējā lieta, kas mums jādara, ir piesaistīt IFTTT un izmantot Google vai Alexa, lai kontrolētu Blynk sistēmu, lai mums tas nebūtu jādara no mūsu lietotnes Blynk.

10. darbība. Blynk kontrole, izmantojot IFTTT un Google Home vai Alexa

Šajā brīdī es pieņemu, ka jums ir zināma IFTTT. Ja nē, ir dažas lieliskas apmācības, kas palīdzēs jums iemācīties izmantot un izmantot IFTTT. Tas ir ļoti spēcīgs, un jūs vēlaties to iemācīties, ja vēl neesat pazīstams.

  1. Izveidojiet jaunu sīklietotni IFTTT
  2. Atlasiet Google palīgu kā “Ja tas” un izmantojiet “Vienkāršu frāzi” kā aktivizētāju. Tā kā man bija jāieslēdz vai jāizslēdz mans kamīns, mana frāze bija "ieslēgt kamīnu"
  3. Sadaļā "Tad tas" meklējiet un izmantojiet Webhooks
  4. Atlasiet “Izveidot tīmekļa pieprasījumu”
  5. URL, kuru vēlaties izmantot:

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

  6. Iestatiet metodi uz GET, satura tipam uz urlencoded, un jūs varat atstāt BODY tukšu un pēc tam saglabāt

Uzgaidiet dažas minūtes un pēc tam pārbaudiet savu frāzi, izmantojot savu Google mājas ierīci. Es pamanīju, ka paiet apmēram divas minūtes, līdz tas ir gatavs.

PIEZĪME: šeit ir jāpievērš uzmanība vēl vienai lietai. Ņemiet vērā, ka savā API zvanā izmantoju “d5”, bet es izveidoju savienojumu ar tāfeles D1 tapu. Pagāja apmēram diena, lai saprastu, ka GPIO pin numerācija un ekrānā iespiestā numerācija uz tāfeles nav viena un tā pati. Pēc vērtību maiņas ar tiešiem URL zvaniem un sprieguma pārbaudīšanas dažādās tapās ar voltmetru, es varēju pamanīt, ka zvans uz d1, izmantojot API, mainīja spriegumu, bet ne uz D1 uz tāfeles. d5/GPIO 5 faktiski atbilda D1 uz tāfeles. Kad es veicu šo pielāgošanu, viss strādāja skaisti!

Alexa pieslēgšana ir identiska Google sākumlapai, tā vietā tikai izmantojot Alexa pakalpojumu IFTTT.

11. solis. Secinājums

Šajā brīdī jums vajadzētu būt funkcionējošam balss kontrolētam IOT relejam, izmantojot Wemos D1 mini lite. Izbaudiet un veiksmi!

Atkal elektrība ir bīstama, tāpēc, lūdzu, veiciet atbilstošus piesardzības pasākumus, un, ja neesat kvalificēts, lūdzu, nedariet to.

Ieteicams: