Turinys:
- Prekės
- 1 žingsnis: sukurkite grandinę
- 2 žingsnis: „Wemos“programavimas - apžvalga
- 3 žingsnis: „Wemos“programavimas - įdiekite tvarkykles
- 4 žingsnis: „Wemos“programavimas - atnaujinkite „Arduino IDE“
- 5 veiksmas: „Wemos“- mirksėjimo testo programavimas
- 6 veiksmas: „Wemos“programavimas - „Blynk“nustatymas
- 7 žingsnis: „Wemos“programavimas - „Blynk“bibliotekos įdiegimas
- 8 žingsnis: „Wemos“programavimas - eskizas
- 9 žingsnis: „Wemos“programavimas - paskutinis žingsnis
- 10 veiksmas: „Blynk“valdymas naudojant IFTTT ir „Google Home“arba „Alexa“
- 11 žingsnis: Išvada
Video: „Arduino“balsu valdomas IOT relės jungiklis (palaikomas „Google Home“ir „Alexa“): 11 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šiame projekte aprašoma, kaip sukurti „Arduino“pagrindu valdomą balsu valdomą IOT relės jungiklį. Tai relė, kurią galite įjungti ir išjungti nuotoliniu būdu naudodami „iOS“ir „Android“skirtą programą, taip pat susieti ją su IFTTT ir valdyti balsu naudodami „Google Home“ir (arba) „Alexa“. Mes apimsime visus veiksmus, kurių reikia norint sukurti įrenginį, prijungti programą ir prisijungti prie įvairių IOT paslaugų.
Prekės
- „Wemos D1 Mini Lite ESP8285“(keli doleriai „Amazon“)
- 5 V relės modulis „Arduino“/„Raspberry Pi“
- 2N2222 NPN tranzistorius
- 47K omų rezistorius
- 1K omo rezistorius
1 žingsnis: sukurkite grandinę
Pirmasis žingsnis yra prijungti grandinę. Pridedu schemą ir tradicinę elektros instaliacijos schemą, priklausomai nuo to, prie ko esate įpratę. Savo pirmąją grandinę padariau ant prototipinės duonos lentos, o tada perkėliau ją į PCB, kad būtų pastoviau, ir įdėjau į 3D spausdintą projekto dėžutę.
Relė yra opto izoliuota H/L 5V relė, o tai reiškia, kad pirmiausia paleidimo grandinė yra optiškai izoliuota nuo pačios relės aktyvinimo, o tai pašalina bet kokias galimas problemas, susijusias su grįžtamuoju ryšiu iš relės atgal į „Wemos“mikrovaldiklį. Puikus saugumas. Antra, jis gali būti perjungiamas aukštai/žemai, o tai reiškia, kad jį galima sukonfigūruoti, perkeliant geltoną trumpiklį, kurį matote nuotraukose, nuo paleidimo, kai signalas yra aukštas (+5 V), arba suveikimą, kai signalas yra žemas (0 V). Pats „Wemos“iš savo skaitmeninių kaiščių siunčia 3,3 V įtampą, o kaip trigerio šaltinį naudojame D1, o tai reiškia, kad turime jį šiek tiek sustiprinti, kad pasiektume arti +5 V skaitmeninio signalo, kad suaktyvintume relę. Arba galite naudoti 3.3 V relę ir pašalinti grandinėje esantį tranzistoriaus stiprintuvo komponentą ir pereiti tiesiai iš D1 į relės signalo kaištį. Aš neturėjau 3,3 V relių, todėl mes naudojame labiau paplitusią 5 V relę ir stiprintuvo grandinę.
Relės DC+ ir DC- jungiasi prie „Wemos“5V ir GND kaiščių, kurie užtikrina reikiamą įtampą relės veikimui. Relė yra įvertinta nuo mažos įtampos iki linijos įtampos, tačiau aš ją naudoju žemos įtampos laidų valdymui. Jei naudojate tai tinklo įtampai valdyti, įsitikinkite, kad žinote, ką darote, esate kvalifikuotas ir imatės atitinkamų atsargumo priemonių. Jei ne, tada nenaudokite to, kad valdytumėte linijos įtampos programas.
„Wemos“kaištis D1 jungiasi prie 47K omų rezistoriaus, kuris tiekiamas į NPN tranzistoriaus pagrindą. Skleidėjas susiejamas su žeme. Kolektorius prijungtas prie relės signalo įvesties. Relė nustatyta, kad suveiktų žemai, todėl kai D1 duoda signalą, 3,3 V signalas sustiprinamas iki maždaug 5 V ir relė yra atidaryta. Kai D1 sumažėja, signalas į relę sumažėja, o relė užsidaro ir užbaigia grandinę.
Pamiršau nufotografuoti savo laikinąją grandinę prototipų kepimo plokštėje, tačiau ji atrodė lygiai taip pat, kaip aukščiau pateikta Fritzingo diagrama, jei tai naudinga. Įtraukiau keletą savo paskutinės nuolatinės grandinės nuotraukų, kad galėtumėte pamatyti, kaip ji prijungta, jei jums reikia tam tikrų įžvalgų ar matomumo dėl konkrečių naudojamų komponentų.
2 žingsnis: „Wemos“programavimas - apžvalga
Vienas iš dalykų, kurie man patinka „Wemos“, yra tai, kad juos galima užprogramuoti kaip „Arduino“, naudojant tą patį IDE. Tačiau čia yra keli žingsniai.
- Įdiekite „Wemos“tvarkykles į kompiuterį, kad galėtumėte kalbėtis su „Wemos“
- Atnaujinkite „Arduino IDE“, kad būtų prieinama „Wemos“lenta
- Atlikite greitą „mirksėjimo“testą, kad įsitikintumėte, jog viskas veikia tinkamai
- Nustatykite „Blynk“(žinau, kad tai painu, bet tai iš tikrųjų skiriasi nuo „mirksėjimo testo“)
- Gaukite programos kodą iš „Blynk“
- Atnaujinkite „Wemos“/„Arduino“kodą naudodami „Blynk“informaciją
- Įkelkite kodą į „Wemos“sąranką.
3 žingsnis: „Wemos“programavimas - įdiekite tvarkykles
Eikite čia (atrodo, kad ši nuoroda periodiškai keičiasi, bandysiu ją nuolat atnaujinti):
www.wemos.cc/en/latest/ch340_driver.html
Ir atsisiųskite tinkamą OS tvarkyklės paketą. Tada išskleiskite ZIP failą į katalogą ir paleiskite programą „SETUP“, kad ją įdiegtumėte.
Kai tai padariau pirmą kartą, gavau keistą klaidą dėl neįdiegimo. Mačiau kažkieno užrašą apie tai ir jų sprendimą, kuris man pavyko. Taigi, jei gaunate klaidą, pabandykite naudoti mygtuką „Pašalinti“ir vėl naudokite „Įdiegti“. Tikiuosi, kad tai išspręs problemą, kaip ir man.
4 žingsnis: „Wemos“programavimas - atnaujinkite „Arduino IDE“
Jei neįdiegėte „Arduino IDE“, tinkamas laikas tai padaryti dabar. Ją galite atsisiųsti iš www.arduino.cc
Štai nuoroda, ką mes ketiname daryti šiame žingsnyje.
wiki.wemos.cc/tutorials:get_started:get_st…
-
Įdiekime naują plokštę, kad ji būtų rodoma kaip „Arduino IDE“parinktis. 2–4 veiksmai ištraukti iš diegimo vadovo kitame „Github“puslapyje.
github.com/esp8266/Arduino
- Paleiskite „Arduino IDE“ir atidarykite nuostatų langą.
- Į lauką Papildomi valdytojo URL įveskite „https://arduino.esp8266.com/stable/package_esp8266com_index.json“. Galite pridėti kelis URL, atskirdami juos kableliais.
- Atidarykite „Boards Manager“iš „Tools“> „Board“> „Boards Manager“(viršuje), ieškokite „esp8266“ir įdiekite nurodytą platformą esp8266.
- Šiuo metu pamatysite „Wemos“plokštes skiltyje Įrankiai → Lenta: xxx Pasirinkite „Wemos D1 Mini“. Mano atveju, kaip matote iš paveikslėlio, konkretus pavadinimas buvo „LOLIN (WEMOS) D1 R2 & mini“
- Prijunkite USB kabelį tarp kompiuterio ir „Wemos“
- Patvirtinkite, kad „Prievadas“dabar yra aktyvus meniu Įrankiai ir atrodo teisingai.
5 veiksmas: „Wemos“- mirksėjimo testo programavimas
Prieš eidami toliau, turime įsitikinti, kad galime bendrauti su „Wemos“lenta ir viskas atrodo gerai. Lengviausias būdas tai padaryti yra prijungti USB kabelį ir pabandyti perkelti paprastą programą į „Wemos“. „Blink“yra paprasčiausias pavyzdys ir sutaupiau daug rūpesčių dirbant su naujomis lentomis, kad visada tai darau pirmiausia.
- Eikite į: Failas> Pavyzdžiai> ESP8266> Mirksėti ir įkelti „Wemos“įrenginio mirksėjimo eskizą
- Sudarykite ir įkelkite eskizą
Jei mėlynas šviesos diodas pradeda mirksėti maždaug kartą per sekundę, tuomet galite pereiti prie kito žingsnio! Jei ne, grįžkite ir pašalinkite ankstesnius veiksmus. Pažiūrėkite, ar nėra problemų su vairuotojais ir valdybos valdytoju. Turėjau tam tikrų problemų dėl ESP8266 plokštės paketo ir turėjau jį visiškai pašalinti ir iš naujo įdiegti dėl kažko keisto su versijomis. Nepasiduokite, o paieškos internete gali būti jūsų draugas!
Darant prielaidą, kad viskas gerai, pereikite prie kito žingsnio.
6 veiksmas: „Wemos“programavimas - „Blynk“nustatymas
Atlikdami šiuos kitus veiksmus, turime sukurti „Blynk“paskyrą ir gauti žetoną, kuriuo galėtume valdyti savo sukurtą grandinę.
- Atsisiųskite programą ir sukurkite paskyrą (ji nemokama)
- Sukurkite naują projektą
- Skiltyje „Pasirinkti įrenginį“kaip aparatūrą pasirinkite „Wemos D1“
- Suteikite projektui pavadinimą ir palikite jungties tipą kaip „WiFi“
- Spustelėkite Sukurti projektą
- Šiuo metu autentifikavimo ženklas bus išsiųstas el. Pašto adresu, kurį naudojote kurdami „Blynk“paskyrą. Išsaugokite tai vėlesniam laikui, kitame žingsnyje įterpsime reikšmes į eskizą.
- Kai pateksite į tuščią drobės ekraną, tiesiog braukite kairėn ir gausite valdiklio meniu. Pasirinkite „Mygtukas“, kad prie projekto pridėtumėte „mygtuką“
- Pasirinkite mygtuką, tada sukonfigūruokite smeigtuką spustelėdami jį ir pasirinkę „Skaitmeninis“ir „D1“kaip pi ir spustelėkite „Gerai“
- Šiuo metu viskas turėtų būti paruošta. Norėdami tai padaryti aktyviai, norite pasirinkti trikampio piktogramą viršutiniame dešiniajame kampe, tačiau ji kol kas neveiks, kol nesiųsime eskizo ir nesukonfigūruosime, o tai yra kitas žingsnis!
7 žingsnis: „Wemos“programavimas - „Blynk“bibliotekos įdiegimas
Kad galėtume įkelti „Blynk“eskizą, turime įdiegti jų biblioteką. Išsamią informaciją rasite čia.
github.com/blynkkk/blynk-library/releases
Be to, norėdami sužinoti daugiau, apsilankykite pagrindinėje jų svetainėje čia (https://blynk.io/en/getting-started)
Man iš pradžių tai sukėlė painiavą, bet tai daug lengviau nei atrodo. Tiesiog išpakuokite failą į „Arduino“katalogą. Man tai buvo / user / Documents / Arduino. Ten jau buvo aplankas pavadinimu „bibliotekos“. ZIP faile yra katalogas „biblioteka“ir „įrankiai“. Kai išpakuojate jį į „Arduino“katalogą, jis prideda jo turinį prie bibliotekų ir sukuria įrankius, jei jo dar nebuvo.
8 žingsnis: „Wemos“programavimas - eskizas
Šiuo metu mes beveik baigėme. Eskizas yra gana paprastas, jis yra tiesiai iš „Blynk“ir iš esmės jungia „Blynk“paslaugą ir lentą. Jų kūrėją galite naudoti čia:
examples.blynk.cc/?board=WeMos%20D1&shield=ESP8266%20WiFi&example=Widgets%2FTerminal
Arba galite naudoti šį pavyzdį, kuris jums turėtų tikti. Tiesiog įsitikinkite, kad pakeisite autentifikavimo žetono reikšmes ir savo „Wi -Fi“tinklo kredencialus.
/*************************************************************
Atsisiųskite naujausią „Blynk“biblioteką čia: https://github.com/blynkkk/blynk-library/releases/latest „Blynk“yra platforma su „iOS“ir „Android“programomis, skirta valdyti „Arduino“, „Raspberry Pi“ir panašius dalykus internete. Galite lengvai sukurti grafines sąsajas visiems savo projektams tiesiog vilkdami ir numesdami valdiklius. Atsisiuntimai, dokumentai, vadovėliai: https://www.blynk.cc Eskizų generatorius: https://examples.blynk.cc Blynk bendruomenė: https://community.blynk.cc Sekite mus: https://www.fb. com/blynkapp „Blynk“biblioteka yra licencijuota pagal MIT licenciją. Šis pavyzdinis kodas yra viešai prieinamas. ************************************************* *********** Naudodami objektą WidgetTerminal galite siųsti/gauti bet kokius duomenis. Programos projekto sąranka: terminalo valdiklis prijungtas prie virtualios PIN1 V1 ************************************** **********************//*Pakomentuokite tai, kad išjungtumėte spausdinimą ir sutaupytumėte vietos*/ #define BLYNK_PRINT Serial #include #include // Turėtumėte gauti Auth Ženklas programoje „Blynk“. // Eikite į projekto nustatymus (veržlės piktograma). char auth = "YourAuthToken"; // Jūsų „WiFi“prisijungimo duomenys. // Atviriems tinklams nustatykite slaptažodį į „“. char ssid = "Jūsų tinklo pavadinimas"; char pass = "Jūsų slaptažodis"; // Pridėti virtualų nuoseklųjį terminalą prie Virtual Pin V1 WidgetTerminal terminal (V1); // Galite siųsti komandas iš terminalo į aparatinę įrangą. Tiesiog naudokite // tą patį virtualųjį kaištį kaip ir jūsų terminalo valdiklis BLYNK_WRITE (V1) {// jei įvedate „Marco“į terminalo valdiklį - jis atsakys: „Polo:“if (String („Marco“) == param.asStr ()) {terminal.println ("Jūs sakėte:" Marco ""); terminal.println ("Aš pasakiau:" Polo ""); } else {// Siųsti atgal terminal.print ("You said:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Įsitikinkite, kad viskas išsiųsta terminal.flush (); } void setup () {// Derinimo pultas Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Taip pat galite nurodyti serverį: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin:(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Tai išspausdins „Blynk“programinės įrangos versiją į terminalo valdiklį, kai // jūsų aparatinė įranga bus prijungta prie „Blynk Server“terminalo.println (F ("Blynk v" BLYNK_VERSION ": Įrenginys paleistas")); terminal.println (F ("-------------")); terminal.println (F ("Įveskite" Marco "ir gaukite atsakymą arba įveskite")); terminal.println (F ("visa kita ir atspausdinti".)); terminal.flush (); } void loop () {Blynk.run (); }
9 žingsnis: „Wemos“programavimas - paskutinis žingsnis
Kai eskizas bus įkeltas, sukompiliuokite ir įkelkite eskizą ir būsite pasiruošę išbandyti savo sąranką!
Atidarykite „Blynk“programą, spustelėkite trikampį viršutiniame dešiniajame „Wemos“projekto kampe
Tada spustelėkite mygtuką! Turėtumėte išgirsti relės spragtelėjimą, o būsenos šviesos diodai ant relės plokštės rodo, kad relė pakeitė būseną.
Dabar galite prijungti relę prie bet kurios žemos įtampos programos, kuriai reikalingas paprastas jungiklis, ir valdyti ją iš savo „Blynk“programos. Paskutinis dalykas, kurį turime padaryti, yra susieti IFTTT ir naudoti „Google“arba „Alexa“, kad valdytume „Blynk“sistemą, kad mums nereikėtų to daryti naudojant „Blynk“programą.
10 veiksmas: „Blynk“valdymas naudojant IFTTT ir „Google Home“arba „Alexa“
Aš darau prielaidą, kad šiuo metu esate susipažinęs su IFTTT. Jei ne, yra keletas puikių vadovėlių, kurie padės išmokti naudotis IFTTT ir jį panaudoti. Tai labai galingas dalykas, kurį norėtumėte išmokti, jei dar nesate susipažinęs.
- Sukurkite naują programėlę IFTTT
- Pasirinkite „Google Assistant“kaip „Jei tai“ir naudokite „paprastą frazę“. Man, kadangi tai turėjo įjungti arba išjungti mano židinį, mano frazė buvo „įjunkite židinį“
- Norėdami rasti dalį „Tada tai“, ieškokite ir naudokite „Webhooks“
- Pasirinkite „Pateikti žiniatinklio užklausą“
-
URL, kurį norite naudoti:
"https://blynk-cloud.com/XXXXYYYZZZZZ/update/d5?value=1"
- Nustatykite metodą GET, turinio tipą - urlenkoduotą, o BODY galite palikti tuščią ir išsaugoti
Palaukite kelias minutes, tada eikite į priekį ir išbandykite savo frazę naudodami „Google“namų įrenginį. Pastebėjau, kad reikia maždaug dviejų minučių, kol jis bus paruoštas.
PASTABA: čia reikia atkreipti dėmesį į dar vieną dalyką. Atkreipkite dėmesį, kad API skambutyje naudoju „d5“, bet aš prisijungiau prie plokštės D1 kaiščio. Prireikė maždaug dienos, kol supratau, kad GPIO kaiščių numeracija ir ekrano spausdinta numeracija lentoje nėra tas pats. Pakeitus vertes naudojant tiesioginius URL skambučius ir išbandžius įtampą skirtinguose kaiščiuose voltmetru, galėjau pastebėti, kad skambutis d1 per API pakeitė įtampą, bet ne D1 lentoje. d5/GPIO 5 iš tikrųjų atitiko D1 lentoje. Kai aš padariau tą koregavimą, viskas puikiai veikė!
„Alexa“prijungimas yra identiškas „Google“pagrindui, tiesiog naudokite „Alexa“paslaugą IFTTT.
11 žingsnis: Išvada
Šiuo metu turėtumėte turėti veikiančią balsu valdomą IOT relę, naudodamiesi „Wemos D1 mini lite“. Mėgaukitės ir sėkmės!
Vėlgi, elektra yra pavojinga, todėl prašome imtis atitinkamų atsargumo priemonių, o jei nesate kvalifikuoti, nedarykite to.
Rekomenduojamas:
„Alexa“balsu valdomas „Raspberry Pi“dronas su IoT ir AWS: 6 žingsniai (su nuotraukomis)
„Alexa“balsu valdomas „Raspberry Pi“dronas su IoT ir AWS: Sveiki! Mano vardas Armaanas. Aš esu 13 metų berniukas iš Masačusetso. Ši pamoka parodo, kaip galite daryti išvadą iš pavadinimo, kaip sukurti „Raspberry Pi“droną. Šis prototipas parodo, kaip vystosi bepiločiai orlaiviai ir kokią didelę dalį jie gali atlikti
Namų automatizavimas balsu (pvz., „Alexa“ar „Google Home“, nereikia „Wifi“ar „Ethernet“): 4 veiksmai
Namų automatizavimas balsu (pvz., „Alexa“ar „Google Home“, nereikia „Wifi“ar „Ethernet“): iš esmės tai yra SMS žinutėmis pagrįstos arduino valdomos relės su „Google“padėjėjo sąranka, kad būtų siunčiami pranešimai pagal instrukcijas balsu. Tai labai paprasta ir pigu ir veikia kaip „Alexa“skelbimai su jūsų esamus elektros prietaisus (jei turite „Moto -X smartp“
Valdomas balsu jungiklis naudojant „Alexa“ir „Arduino“: 10 žingsnių (su paveikslėliais)
Valdomas balsu jungiklis naudojant „Alexa“ir „Arduino“: Pagrindinis šio projekto tikslas yra naudoti temperatūros jutiklį, norint valdyti jungiklį (relę), kad įjungtumėte arba išjungtumėte įrenginį. Medžiagų sąrašas 12 V relės modulis == > 4,2 USD „Arduino uno“== > 8 USD DHT11 temperatūros jutiklis == > 3 USD ESP8266 modulis
„Bluetooth“nuotoliniu būdu valdomas šviesos jungiklis - modernizuojamas. Šviesos jungiklis vis dar veikia, be papildomo rašymo: 9 žingsniai (su paveikslėliais)
„Bluetooth“nuotoliniu būdu valdomas šviesos jungiklis - modernizuojamas. Šviesos jungiklis vis dar veikia, be papildomo rašymo: atnaujinimas, 2017 m. Lapkričio 25 d. - Jei norite gauti didelės galios šio projekto versiją, galinčią valdyti kilovatus, žr. Kai kurios BLE plokštės / programinės įrangos paketai yra paruoštos
Namai/Laboratorinis balsu valdomas asistentas: 14 žingsnių (su nuotraukomis)
Pradžia/Laboratorius balsu valdomas asistentas: Apie mane Sveiki! Tai pirmas pamokymas, man 17 metų. Aš esu iš Graikijos, todėl mano anglų kalba gali būti ne tobula, bet aš padarysiu viską. Taigi, aš pirmiausia sukūriau šią programą prieš 2 metus ir radau šį konkursą galimybę atnaujinti savo seną projektą