Tartalomjegyzék:

Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott): 11 lépés
Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott): 11 lépés

Videó: Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott): 11 lépés

Videó: Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott): 11 lépés
Videó: Высокая плотность 2022 2024, November
Anonim
Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott)
Arduino alapú hangvezérelt IOT relé kapcsoló (a Google Home és az Alexa támogatott)

Ez a projekt leírja, hogyan lehet Arduino-alapú, hangvezérelt, IOT relés kapcsolót készíteni. Ez egy relé, amelyet távolról be- és kikapcsolhat egy iOS és Android rendszerhez készült alkalmazás segítségével, valamint kötheti azt az IFTTT -hez, és hangjával vezérelheti a Google Home és/vagy az Alexa használatával. Lefedjük az eszköz létrehozásához, az alkalmazás csatlakoztatásához és a különböző IOT szolgáltatásokhoz való csatlakozáshoz szükséges lépéseket.

Kellékek

  • Wemos D1 Mini Lite ESP8285 (néhány dollár az Amazon -on)
  • 5V relé modul Arduino/Raspberry Pi -hez
  • 2N2222 NPN tranzisztor
  • 47K ohmos ellenállás
  • 1K ohmos ellenállás

Lépés: Építse fel az áramkört

Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört

Az első lépés az áramkör bekötése. Mellékeltem egy sematikus és egy hagyományos kapcsolási rajzot, attól függően, hogy mit szoktál. Az első áramkört egy prototípus kenyérsütő táblán végeztem, majd áthelyeztem egy NYÁK -ra egy tartósabb beállítás érdekében, és elhelyeztem egy 3D nyomtatott projektdobozban.

A relé egy opto-szigetelt H/L 5 V relé, ami azt jelenti, hogy először a trigger áramkör optikailag el van választva magától a reléaktiválástól, ami megszünteti a relé Wemos mikrokontrollerhez való visszacsatolásával kapcsolatos esetleges problémákat. Szép biztonság. Másodszor, magas/alacsony kapcsolású, ami azt jelenti, hogy konfigurálható a képeken látható sárga áthidaló mozgatásával, az indítástól, ha a jel magas (+5V), vagy az indítástól, ha a jel alacsony (0V). Maga a Wemos 3,3 V -ot küld a digitális tüskéiből, mi pedig a D1 -et használjuk kioldó forrásként, ami azt jelenti, hogy kissé erősítenünk kell, hogy a +5 V -os digitális jel közelébe érjünk a relé kiváltásához. Alternatív megoldásként használhat egy 3,3 V -os relét, és kiküszöbölheti a tranzisztoros erősítő komponenst az áramkörben, és egyenesen a D1 -ről a relé jelzőcsapjára léphet. Nem rendelkeztem 3,3 V -os relékkel, ezért egy gyakoribb 5 V -os relét és az erősítő áramkört használunk.

A relén lévő DC+ és DC- csatlakozik a Wemos 5V és GND csapjaihoz, amely biztosítja a relé működéséhez szükséges feszültséget. A relét a kis feszültségtől a hálózati feszültségig osztályozzák, de ezt egy alacsony feszültségű huzalozási alkalmazás vezérlésére használom. Ha ezt a hálózati feszültség szabályozására használja, győződjön meg arról, hogy tudja, mit csinál, képesített és tegye meg a megfelelő óvintézkedéseket. Ha nem, akkor ne használja ezt a hálózati feszültségű alkalmazások vezérlésére.

A Wemos D1 csapja a 47K ohmos ellenálláshoz csatlakozik, amely az NPN tranzisztor bázisába táplálkozik. Az emitter a földhöz kötődik. A kollektor a relé jelbemenetéhez van csatlakoztatva. A relé alacsonyra van állítva, így amikor a D1 jelet ad, a 3,3 V -os jel kb. 5 V -ra erősödik, és a relé nyitva van. Amikor a D1 lecsökken, a reléhez érkező jel alacsony lesz, és a relé bezárul, és befejezi az áramkört.

Elfelejtettem lefotózni az ideiglenes áramkört a prototípus kenyérsütő táblán, de pontosan úgy nézett ki, mint a fenti Fritzing diagram, ha hasznos. Mellékeltem néhány képet az utolsó állandó áramkörömről, hogy lássátok, hogyan van bekötve, hátha szüksége van némi betekintésre vagy láthatóságra az általam használt alkatrészekről.

2. lépés: A Wemos programozása - Áttekintés

Az egyik dolog, amit szeretek a Wemosban, az, hogy ugyanúgy programozhatók, mint egy Arduino, ugyanazt az IDE -t használva. Itt azonban van néhány lépés.

  1. Telepítse a Wemos illesztőprogramokat a számítógépre, és beszéljen a Wemos -szal
  2. Frissítse az Arduino IDE -t, hogy a Wemos kártya elérhető legyen
  3. Végezzen gyors "Blink" tesztet, hogy megbizonyosodjon arról, hogy minden megfelelően működik
  4. Állítsa be a Blynk -et (tudom, hogy zavaró, de valójában más, mint a "pislogó teszt")
  5. Szerezzen be alkalmazási kódot a Blynk -től
  6. Frissítse a Wemos/Arduino kódot a Blynk információkkal
  7. Töltse fel a kódot a Wemos beállításához.

3. lépés: A Wemos programozása - Illesztőprogramok telepítése

A Wemos programozása - Illesztőprogramok telepítése
A Wemos programozása - Illesztőprogramok telepítése

Lépjen ide (úgy tűnik, ez a link rendszeresen változik, megpróbálom frissíteni):

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

És töltse le az operációs rendszeréhez megfelelő illesztőprogram -csomagot. Ezután bontsa ki a zip fájlt egy könyvtárba, és futtassa a "SETUP" alkalmazást a telepítéshez.

Amikor először csináltam, furcsa hibaüzenetet kaptam azzal kapcsolatban, hogy nem telepítettem. Láttam valaki más megjegyzését erről és a megoldásukról, ami nekem bevált. Tehát ha hibaüzenetet kap, próbálja meg használni az "Eltávolítás" gombot, majd használja újra az "Telepítés" gombot. Remélhetőleg ez megoldja a problémát, mint nekem.

4. lépés: A Wemos programozása - Frissítse az Arduino IDE -t

A Wemos programozása - Frissítse az Arduino IDE -t
A Wemos programozása - Frissítse az Arduino IDE -t
A Wemos programozása - Frissítse az Arduino IDE -t
A Wemos programozása - Frissítse az Arduino IDE -t
A Wemos programozása - Frissítse az Arduino IDE -t
A Wemos programozása - Frissítse az Arduino IDE -t

Ha még nem telepítette az Arduino IDE -t, akkor most érdemes ezt megtenni. Letöltheti a www.arduino.cc oldalról

Íme egy hivatkozás arra, hogy mit fogunk tenni ebben a lépésben.

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

  1. Telepítsük az új táblát, hogy az opcióként jelenjen meg az Arduino IDE -ben. A 2–4. Lépések kivonhatók a következő github -oldal telepítési útmutatójából.

    github.com/esp8266/Arduino

  2. Indítsa el az Arduino IDE -t, és nyissa meg a Beállítások ablakot.
  3. Írja be a "https://arduino.esp8266.com/stable/package_esp8266com_index.json" címet a Kiegészítő fórumkezelő URL -ek mezőbe. Több URL -t is hozzáadhat, vesszővel elválasztva.
  4. Nyissa meg a Fórumkezelőt az Eszközök> Tábla> Fórumkezelő menüből (felül), keresse meg az "esp8266" kifejezést, és telepítse a felsorolt esp8266 platformot.
  5. Ezen a ponton látni fogja a Wemos táblákat az Eszközök → Tábla menüben: xxx Válassza ki a Wemos D1 Mini -t. Az én esetemben, amint a képen is látszik, a konkrét név "LOLIN (WEMOS) D1 R2 & mini" volt
  6. Csatlakoztasson egy USB -kábelt a számítógép és a Wemos közé
  7. Győződjön meg arról, hogy a "Port" most aktív az Eszközök menüben, és helyesen néz ki.

5. lépés: A Wemos programozása - Blink Test

A Wemos programozása - Blink Test
A Wemos programozása - Blink Test

Mielőtt továbbmennénk, meg kell győződnünk arról, hogy tudunk kommunikálni a Wemos fórumon, és minden rendben van. Ennek legegyszerűbb módja, ha csatlakoztat egy USB -kábelt, és megpróbál egy egyszerű programot a Wemos -hoz küldeni. A pislogás a legegyszerűbb példa, és rengeteg fáradtságtól mentettem meg, amikor új táblákkal dolgozom, hogy mindig ezt teszem először.

  1. Lépjen a következőre: Fájl> Példák> ESP8266> Villogás, és töltse be a villogó vázlatot egy Wemos eszközhöz
  2. Fordítsa össze és töltse fel a vázlatot

Ha a kék LED körülbelül másodpercenként villogni kezd, akkor folytathatja a következő lépést! Ha nem, akkor menjen vissza, és végezze el az előző lépések hibaelhárítását. Nézze meg, nincs -e probléma az illesztőprogramokkal és az igazgatótanáccsal. Problémáim voltak az ESP8266 alaplapi csomagjával, és teljesen el kellett távolítanom és újratelepítenem, mert valami furcsa történt a verziókkal. Ne add fel, és az internetes keresés a barátod lehet!

Feltéve, hogy minden rendben van, folytassa a következő lépéssel.

6. lépés: A Wemos programozása - A Blynk beállítása

A Wemos programozása - Blynk beállítása
A Wemos programozása - Blynk beállítása
A Wemos programozása - Blynk beállítása
A Wemos programozása - Blynk beállítása
A Wemos programozása - Blynk beállítása
A Wemos programozása - Blynk beállítása

A következő lépésekben létre kell hoznunk egy fiókot a Blynk -nél, és meg kell szereznünk egy jelzőt, amelyet felhasználhatunk az általunk létrehozott áramkör vezérléséhez.

  1. Töltse le az alkalmazást, és hozzon létre egy fiókot (ingyenes)
  2. Hozzon létre egy új projektet
  3. Válassza ki a Wemos D1 -et hardverként az Eszköz kiválasztása alatt
  4. Adjon nevet a projektnek, és a csatlakozó típusa maradjon WiFi
  5. Kattintson a Projekt létrehozása gombra
  6. Ezen a ponton az Auth Token e -mailben lesz a Blynk -fiók létrehozásakor használt e -mail címre. Mentse el későbbre, a következő lépésben beillesztjük az értékeket a vázlatba.
  7. Amikor az üres vászonképernyőhöz érkezik, csúsztasson balra, és megjelenik a widget menü. Válassza a "Gomb" lehetőséget, ha hozzá szeretne adni egy "gombot" a projekthez
  8. Válassza ki a gombot, majd konfigurálja a PIN -kódot úgy, hogy rákattint, és a "Digitális" és a "D1" lehetőséget választja pi -ként, majd kattintson az "OK" gombra.
  9. Ezen a ponton mindennek készen kell állnia. Ennek aktiválásához ki kell választania a jobb felső sarokban lévő háromszög ikont, de ez még nem fog működni, amíg fel nem töltjük és nem konfiguráljuk a vázlatot, ami a következő lépés!

7. lépés: A Wemos programozása - A Blynk Library telepítése

Ahhoz, hogy feltölthessünk egy Blynk alapú vázlatot, telepítenünk kell a könyvtárukat. A részletek itt találhatók.

github.com/blynkkk/blynk-library/releases

Továbbá némi háttérért nézze meg fő weboldalukat itt (https://blynk.io/en/getting-started)

Ez először zavaró volt számomra, de sokkal könnyebb, mint amilyennek hangzik. Csak csomagolja ki a fájlt az Arduino könyvtárába. Számomra ez a / user / Documents / Arduino könyvtárban volt. Ott már volt egy könyvtár nevű mappa. A zip fájl tartalmaz egy "könyvtárat" és egy "tools" könyvtárat. Amikor kicsomagolja az Arduino könyvtárba, hozzáadja annak tartalmát a könyvtárakhoz, és eszközöket hoz létre, ha még nem létezett.

8. lépés: A Wemos programozása - a vázlat

Ezen a ponton majdnem kész vagyunk. A vázlat meglehetősen egyszerű, egyenesen a Blynk -től származik, és lényegében összekapcsolja a Blynk szolgáltatást és a táblát. Itt használhatod az építőjüket:

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

Vagy használhatja ezt a mintát, amely az Ön számára működik. Csak győződjön meg arról, hogy a hitelesítési token értékeit és a hitelesítő adatait helyettesíti a wifi -hálózatban.

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

Töltse le a legújabb Blynk könyvtárat itt: https://github.com/blynkkk/blynk-library/releases/latest A Blynk iOS és Android alkalmazásokat tartalmazó platform az Arduino, a Raspberry Pi és a lájkok interneten keresztül történő vezérléséhez. Egyszerűen felépíthet grafikus interfészeket minden projektjéhez, egyszerűen húzza és dobja el a modulokat. Letöltések, dokumentumok, oktatóanyagok: https://www.blynk.cc Vázlatgenerátor: https://examples.blynk.cc Blynk közösség: https://community.blynk.cc Kövessen minket: https://www.fb. com/blynkapp A Blynk könyvtár MIT licenc alatt van engedélyezve Ez a példakód közkincs. ************************************************** *********** Bármilyen adatot küldhet/fogadhat a WidgetTerminal objektum használatával. Alkalmazásprojekt beállítása: Terminal widget a Virtuális Pin V1 -hez csatolva *************************************** **********************//*Kommentelje ezt a nyomtatás letiltásához és a helytakarékossághoz*/ #define BLYNK_PRINT Serial #include #include // Auth Token a Blynk alkalmazásban. // Lépjen a Projektbeállítások menübe (dió ikon). char auth = "YourAuthToken"; // WiFi hitelesítő adatai. // Állítsa be a jelszót "" a nyitott hálózatokhoz. char ssid = "SajátNetworkName"; char pass = "Saját jelszó"; // Csatlakoztassa a virtuális soros terminált a Virtual Pin V1 WidgetTerminal terminálhoz (V1); // Parancsokat küldhet a terminálról a hardverre. Csak használja // ugyanazt a virtuális PIN -kódot, mint a terminál -widget BLYNK_WRITE (V1) {//, ha beírja a "Marco" kifejezést a terminál -widgetbe - az válaszol: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("Azt mondta:" Marco ""); terminal.println ("Mondtam:" Polo ""); } else {// Küldje vissza terminal.print ("Te mondtad:"); terminal.write (param.getBuffer (), param.getLength ()); terminál.println (); } // Győződjön meg róla, hogy mindent elküldött terminal.flush (); } void setup () {// Hibakereső konzol Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Megadhatja a szervert is: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Ez kinyomtatja a Blynk szoftver verzióját a terminál widgetre, amikor // a hardver csatlakozik a Blynk Server terminálhoz.println (F ("Blynk v" BLYNK_VERSION ": Az eszköz elindult")); terminál.println (F ("-------------")); terminal.println (F ("Írja be a" Marco "és kap választ, vagy írja be")); terminal.println (F ("bármi más, és nyomtassa ki.")); terminal.flush (); } void loop () {Blynk.run (); }

9. lépés: A Wemos programozása - utolsó lépés

Image
Image

A vázlat betöltése után fordítsa össze és töltse fel a vázlatot, és készen kell állnia a beállítás tesztelésére!

Nyissa meg a Blynk alkalmazást, kattintson a háromszögre a Wemos Project jobb felső sarkában

Ezután kattintson a gombra! Hallani kell a relé kattanását, és az állapotjelző LED -ek a relé táblán azt jelzik, hogy a relé állapota megváltozott.

Most csatlakoztathatja a relét bármely kisfeszültségű alkalmazáshoz, amely egyszerű kapcsolót igényel, és vezérelheti azt a Blynk alkalmazásból. Az utolsó dolog, amit meg kell tennünk, hogy bekapcsoljuk az IFTTT -t, és a Google vagy az Alexa segítségével irányítjuk a Blynk rendszert, hogy ne kelljen a Blynk alkalmazásunkból megtenni.

10. lépés: A Blynk vezérlése az IFTTT és a Google Home vagy az Alexa segítségével

Feltételezem, hogy ezen a ponton ismeri az IFTTT -t. Ha nem, akkor van néhány kiváló oktatóanyag, amelyek segítenek megtanulni az IFTTT használatát és kihasználását. Nagyon erőteljes, és érdemes tanulni, ha még nem ismered.

  1. Hozzon létre egy új kisalkalmazást az IFTTT -ben
  2. Válassza ki a Google Segédet „Ha ez” elemként, és használjon „Egyszerű kifejezést” kiváltó okként. Számomra, mivel ez be- vagy kikapcsolta a kandallómat, a mondatom "kapcsolja be a kandallót" volt
  3. Az "Akkor ez" részhez keresse meg és használja a Webhooks alkalmazást
  4. Válassza a "Webes kérés küldése" lehetőséget
  5. A használni kívánt URL -címhez:

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

  6. Állítsa a metódust GET -re, a tartalomtípust urlenkódoltra, és hagyja üresen a BODY -t, majd mentse

Várjon néhány percet, majd próbálja ki a kifejezést a Google otthoni eszközével. Észrevettem, hogy körülbelül két percbe telik, amíg elkészül.

MEGJEGYZÉS: itt még egy dologra kell figyelni. Figyelje meg, hogy a "d5" -t használom az API hívásomban, de csatlakoztam a táblán lévő D1 tűhöz. Körülbelül egy napba telt, mire rájöttem, hogy a GPIO tűszámozás és a képernyőn nyomtatott számozás nem ugyanaz. Miután közvetlen URL -hívásokkal megváltoztattam az értékeket, és voltmérővel teszteltem a feszültségeket különböző tűkön, észrevettem, hogy az API -n keresztül történő d1 hívás megváltoztatta a feszültséget, de nem a táblán lévő D1 -nél. A d5/GPIO 5 valójában a táblán szereplő D1 -nek felelt meg. Miután elvégeztem ezt a beállítást, minden gyönyörűen működött!

Az Alexa csatlakoztatása megegyezik a Google főoldalával, csak az Alexa szolgáltatást használja az IFTTT -n.

11. lépés: Következtetés

Ekkor rendelkeznie kell egy működő hangvezérelt IOT relével a Wemos D1 mini lite használatával. Élvezze és sok sikert!

Ismételten, az elektromos áram veszélyes, ezért kérjük, tegye meg a megfelelő óvintézkedéseket, és ha nem képesített, ne tegye.

Ajánlott: