- Áramkör a Google Assistant által vezérelt otthoni automatizáláshoz
- A Blynk alkalmazás beállítása
- Az IFTTT beállítása a Google Assistant és a Blynk segítségével a karakterlánc olvasására
- Arduino programozása a Blynk Home Automation számára
- PCB gyártása PCBGoGo segítségével
- A NYÁK összeállítása
- A kártya csatlakoztatása váltóáramú tápegységekkel / hosszabbító kártyákkal
Az olyan virtuális asszisztensek fejlődésével, mint a Google Assistant és az Alexa, az otthoni automatizálás és a hangvezérelt alkalmazások normálissá válnak. Most mi magunk is sok otthoni automatizálási projektet építettünk, az egyszerű lépcsőfényektől kezdve az IoT-alapú, webes vezérlésű otthoni automatizálásig a Raspberry Pi segítségével. De ez a projekt itt más, az ötlet egy praktikus otthoni automatizálási tábla létrehozása, amely beilleszthető a falakon lévő váltóáramú egységeinkbe, és rejtve marad benne. A tábla ne szakítsa meg a tápegység kapcsolóinak normál működését, vagyis kézi kapcsolókkal is be- vagy kikapcsolniuk kell. És anélkül, hogy ezt mondanák, képesnek kell lennie arra, hogy ugyanazt a terhelést hanggal vezérelje a google asszisztens segítségével, és beállítson egy időzítőt is, hogy bármilyen terhelés automatikusan be- vagy kikapcsolhasson a nap egy előre beállított időpontjában.
Ez a projekt nagyon hasonlít az ESP8266 intelligens Wi-Fi csatlakozónkhoz, de mivel itt az ESP12-et fogjuk használni, több GPIO-csapunk lesz, amelyek lehetővé teszik négy váltakozó áramú terhelés egyidejű vezérlését. Továbbá, mivel integráltuk a Blynkot és a Google Segédet, a projekt érdekes és praktikus lesz. Ehhez a projekthez az áramköri lapokat a PCBGOGO PCB gyártási szolgáltatás felhasználásával építettük meg. A cikk későbbi szakaszában átadtuk az áramkörhöz tervezett Gerber fájlt, és elmagyaráztuk a PCB-k PCBGOGO-tól történő megrendelésének teljes eljárását is.
Figyelem: Ez a projekt az AC hálózati feszültséggel való munkát jelenti. Felhívjuk figyelmét, hogy fokozott óvatossággal kell eljárni, ha magas AC feszültséggel dolgozik. Győződjön meg róla, hogy tapasztalt személy felügyeli, ha új vagy.
Áramkör a Google Assistant által vezérelt otthoni automatizáláshoz
Az otthoni automatizálás teljes kapcsolási rajza alább található.
Mint látható, az áramkör nagyon egyszerű, kezdjük a magyarázatot az ESP12E Wi-Fi modullal. Megnézheti az alábbi videót is a projekt részletes magyarázatához. A modul ugyanúgy programozható, mint a nodeMCU fejlesztõlapok, és ez sok helyet csökkent. Alapértelmezés szerint bekapcsolt állapotban az ESP12E üzemmódba lép. A programozáshoz a Reset and Flash gombot kell használnunk. Ez azt jelenti, hogy az ESP12 programozási módba kerül, nyomja meg és tartsa lenyomva a Reset és a Flash gombot, majd engedje fel a reset gombot. Ez elindítja az ESP12E-t a vaku gomb megnyomásával, most engedje fel a vaku gombot, és az ESP12E programozási módba lép. A programozás után újra meg kell nyomnia a reset gombot az ESP12E normál üzemmódban történő indításához a feltöltött Program futtatásához. Az Rx, Rx,és a Ground kiterjesztésre került, hogy csatlakozni lehessen egy FTDI kártyához vagy USB-TTL átalakítóhoz. Ügyeljen arra, hogy az ESP12 Tx tűjét csatlakoztassa a programozó Rx tűjéhez, és fordítva.
A többi I1 – I4 és R1 – R4 jelzőtű a kapcsolók és relék csatlakoztatására szolgál. Az I1 - I4 csapok az Input pineket jelentik. Mindezek a csapok támogatják a belső felhúzási ellenállást, így csak egy hosszabbító ellenálláson keresztül kell csatlakoztatnunk a hosszabbító doboz kapcsolóit a bemeneti tűnkhöz, az alábbiak szerint.
Hasonlóképpen, az R1 - R4 relékimenet kimeneteit használják a relék vezérlésére. A BC547 és az IN4007 diódával szabványos relé meghajtó áramkört használtunk, az alábbiak szerint. Ne feledje, hogy a reléket 5 V-val kell kiváltani, de az ESP12E kimeneti csapok csak 3,3 V-ot tesznek ki. Tehát a relék meghajtásához tranzisztort kell használni. LED-et is elhelyeztünk a tranzisztor alapútjában, hogy amikor a tranzisztor kioldódik, a LED is bekapcsol.
Végül, az összes áramkör táplálásához a Hi-Link AC-DC átalakítót használtuk arra, hogy 220 V váltóáramunkat 5 V DC-vé alakítsuk át. Ezt az 5 V DC-t az AMS117-3,3 V feszültségszabályozóval 3,3 V-ra alakítják. Az 5 V-ot a relék kiváltására, a 3,3 V-ot pedig az ESP21 Wi-Fi modul táplálására használják.
A Blynk alkalmazás beállítása
Korábban számos Blynk projektet építettünk, például Wi-Fi vezérlésű Arduino Robotot, ezért nem fogunk belemenni a blynk alkalmazás beállításának részleteibe. De leegyszerűsítve, egyszerűen telepítse az alkalmazást, hozzon létre egy új projektet a NodeMCU számára, és kezdje el elhelyezni a modulokat az alábbiak szerint.
A V1 – V4 virtuális csapokat használtam az 1–4 relé vezérléséhez a projektünkön. Ügyeljen arra, hogy megváltoztassa a gomb típusát a váltáshoz. Az időzítő opció a virtuális csapok automatikus elindítására is használható a megadott időre, még akkor is, ha a telefon ki van kapcsolva. Időzítőt például csak a V1 virtuális tűhöz használtam, de szükség esetén mind a négy érintkezőhöz használhatja.
Győződjön meg arról, hogy a blynk hitelesítési token értékét a projekt oldaláról szerezte be. Csak kattintson a dió ikonra (a fenti képen pirossal körözve), és másolja az auth tokent az összes másolása opcióval, és illessze be valahova biztonságos helyre, amire szükségünk lesz az Arduino tábla programozásakor.
Az IFTTT beállítása a Google Assistant és a Blynk segítségével a karakterlánc olvasására
A Google Assistant otthoni automatizálásához a legegyszerűbb módja az IFTTT használata. Számos IFTTT projektet is építettünk korábban a NodeMCU-val és a Raspberry Pi-vel. Ebben a projektben, mi lesz a Blynk app kiváltó webhook a Google asszisztens. Nagyon hasonlít a hangvezérelt otthoni automatizálási és hangvezérelt FM rádió projektünkhöz. Kivéve, itt a blynkot fogjuk használni az IFTTT-vel a karakterlánc küldéséhez, ami sokkal könnyebbé és érdekesebbé teszi.
Alapvetően a blynk virtuális V5 és V6 tűjét fogjuk használni a trigger parancs elküldéséhez. A V5 a bekapcsolási parancsokhoz, a V6 pedig a kikapcsolási parancsokhoz használható. Például, ha azt mondjuk, hogy kapcsolja be a TV-t és a Lámpát. A „TV és lámpa” karakterlánc parancsot itt küldjük a NodeMCU-nak egy API segítségével. Az API szintaxisa az alábbi.
http://188.166.206.43//update/V5?value=TV és Lámpa
Most már csak annyit kell tennünk az IFTTT-ben, hogy IF-ként használjuk a Google asszisztenst, és THAT-ként a webhookokat, tehát hallgassuk meg ezt a parancsot, és küldjük el az információkat a NodeMCU-nak a fent említett API használatával. Az alábbiakban látható a bekapcsolási kisalkalmazás.
Ne feledje, hogy a Google Segéd receptjének létrehozásakor ki kell választania egy mondat kifejezést szöveges összetevővel opciót. Hasonlóképpen meg kell ismételnie ugyanazt a V6 virtuális tűnél a relék kikapcsolásához. Részletes információt az oldal alján található videóban talál.
Arduino programozása a Blynk Home Automation számára
A projekt teljes Arduino kódja az oldal alján található. Ugyanez magyarázata a következő. Előtte győződjön meg arról, hogy használhatja a Blynk és a Program NodeMCU szoftvert az Arduino IDE-től. Ha nem, akkor kövesse az ESP12 kezdő lépéseit. Ezenkívül adja hozzá a blynk könyvtárat az Arduino IDE-hez a fórumkezelő használatával.
Mint mindig, a kódunkat is a bemeneti és kimeneti csapok definiálásával kezdjük, itt a bemenet kapcsolókból, a kimenet pedig relékből származik. Meghatároztuk mind a négy kapcsoló pin-nevét, sw és relé rel, amint az alább látható.
#define sw1 13 #define sw2 12 #define sw3 14 #define sw4 16 #define rel1 4 #define rel2 5 #define rel3 9 #define rel4 10
A következő szakaszban meg kell adnia néhány hitelesítő adatot, például a blynk hitelesítési tokent, valamint annak a Wi-Fi útválasztónak a felhasználónevét és jelszavát, amelyhez a nodeMCU-hoz kapcsolódnia kell. A villogó hitelesítési token a blynk alkalmazásból szerezhető be. Erről többet megtudhat a blynk alkalmazás beállítása szakaszban.
char auth = "Fh3tm0ZSrXQcROYl_lIYwOIuVu-E"; // letöltés a blynk alkalmazásból char ssid = "home_wifi"; char pass = "fakepass123";
Ezután megadtuk a read_switch_toggle () nevű függvény definícióját. Ebben a funkcióban összehasonlítani fogjuk kapcsolóink jelenlegi és korábbi állapotát. Ha a kapcsolót be- vagy kikapcsolták, azaz ha a kapcsolót átkapcsolta. Változás lesz a kapcsoló állapotában, a funkció figyeli ezt a változást és visszaadja a kapcsoló számát. Ha nem észlel változást, az 0-t ad vissza.
int read_switch_toggle () {int eredmény = 0; // Jegyezze fel az összes korábbi értéket (int i = 0; i <= 3; i ++) pvs_state = crnt_state; // A kapcsolók aktuális állapotának beolvasása crnt_state = digitalRead (sw1); crnt_state = digitalRead (sw2); crnt_state = digitalRead (sw3); crnt_state = digitalRead (sw4); // az aktuális és a pvs állapot összehasonlítása (int i = 0; i <= 3; i ++) {if (pvs_state! = crnt_state) {eredmény = (i + 1); // ha bármelyik kapcsoló be van kapcsolva, akkor a kapcsoló számát kapjuk eredményként; } else eredmény = 0; // ha nincs változás eredménye 0} return result; // visszaadja az eredményt}
Ezután megvan a blynk alkalmazás kódja. A V1 – V6 virtuális tűket fogjuk használni az intelligens csatlakozódoboz vezérléséhez. A V1 – V4 csapok az 1–4 relék vezérlésére szolgálnak közvetlenül a blynk alkalmazásból. Az alábbi kód megmutatja, mi történik, ha a V1-et a blynk alkalmazás indítja. Egyszerűen leolvassuk az állapotot (HIGH vagy LOW), és ennek megfelelően vezéreljük a relét.
BLYNK_WRITE (V1) {digitalWrite (rel1, param.asInt ()); Serial.println ("V1"); }
Hasonlóképpen, a virtuális csapok is használhatóak a blynk alkalmazásból származó karakterláncok kiolvasására. Később megtanuljuk, hogyan küldhetünk egy karakterláncot a google asszisztensről a NodeMCU-ra az IFTTT és a Google asszisztens használatával, de most nézzük meg, hogy a NodeMCU kód hogyan olvassa ezt a karaktersorozatot, és hogyan keres egy adott kulcsszót, és ennek megfelelően indítja el a relét.
Az alábbi kódban láthatja, hogy amikor a V5 virtuális tű kivált, az ON_message nevű karakterlánc változóba kapjuk az általa átadott karakterláncot. Ezután ezzel a string változóval és az inderOf módszerrel keressük meg, hogy vannak-e olyan kulcsszavak, mint a „lámpa”, „LED”, „zene”, „TV”, ha igen, bekapcsoljuk az adott terhelést. Ha a „minden” kulcsszót észlelik, akkor mindent bekapcsolunk. Ugyanezt lehet tenni a V6 esetében is, hogy kikapcsolják a reléket. Erről többet fogunk megérteni, ha bekerülünk az IFTTT szakaszba.
BLYNK_WRITE (V5) {String ON_message = param.asStr (); Soros.println (BE_üzenet); if (ON_message.indexOf ("lámpa")> = 0) digitalWrite (rel1, HIGH); if (ON_message.indexOf ("LED")> = 0) digitalWrite (rel2, HIGH); if (ON_message.indexOf ("zene")> = 0) digitalWrite (rel3, HIGH); if (ON_message.indexOf ("TV")> = 0) digitalWrite (rel4, HIGH); if (ON_message.indexOf ("minden")> = 0) {digitalWrite (rel1, HIGH); digitalWrite (rel2, HIGH); digitalWrite (rel3, HIGH); digitalWrite (rel4, HIGH); }}
Végül a hurokfunkción belül csak azt kell ellenőriznünk, hogy megváltozott-e valamelyik gomb. Ha igen, akkor az alább látható kapcsoló tokot használjuk az adott relé helyzetének váltására.
kapcsoló (toggle_pin) {eset 0: törés; 1. eset: Serial.println ("Toggling Relay 1"); digitalWrite (rel1, relay_state); szünet; 2. eset: Serial.println ("Toggling Relay 2"); digitalWrite (rel2, relay_state); szünet; 3. eset: Serial.println ("3. váltó relé"); digitalWrite (rel3, relay_state); szünet; 4. eset: Serial.println ("Toggling Relay 4"); digitalWrite (rel4, relay_state); szünet; }}
PCB gyártása PCBGoGo segítségével
Most már megértettük a vázlatok működését, folytathatjuk a házi automatizálási projektünk PCB-jének elkészítését. A fenti áramkör NYÁK-elrendezése Gerber néven is letölthető a linkről.
- Töltse le a GERBER-t a hangvezérelt otthoni automatizáláshoz a Google Segéd segítségével
Most elkészült a tervünk, itt az ideje, hogy a Gerber fájl segítségével elkészítsük őket. Ahhoz, hogy a nyomtatott áramköri lapot a PCBGOGO-ból elég könnyű elvégezni, egyszerűen kövesse az alábbi lépéseket
1. lépés: Keresse fel a www.pcbgogo.com oldalt, regisztráljon, ha ez az első alkalom. Ezután a NYÁK prototípus fülön adja meg a NYÁK méreteit, a rétegek számát és a szükséges NYÁK számát. Feltéve, hogy a NYÁK 80cm × 80cm, a méreteket az alábbiak szerint állíthatja be.
2. lépés: Folytassa az Idézés most gombra kattintva. Egy olyan oldalra kerül, ahol szükség esetén beállíthat néhány további paramétert, például a használt anyag sávközét stb. De az alapértelmezett értékek többnyire jól működnek. Az egyetlen dolog, amit itt figyelembe kell vennünk, az az ár és az idő. Amint láthatja, a gyártási idő csak 2-3 nap, és csak 5 dollárba kerül a nyomtatott áramköri lapunkért. Ezután kiválaszthatja a kívánt szállítási módot az igényei alapján.
3. lépés: Az utolsó lépés a Gerber fájl feltöltése és a fizetés folytatása. Annak érdekében, hogy a folyamat zökkenőmentes legyen, a PCBGOGO a fizetés folytatása előtt ellenőrzi, hogy Gerber fájlja érvényes-e. Így biztos lehet abban, hogy a NYÁK gyártásbarát és elkötelezetten eljut hozzád.
A NYÁK összeállítása
A tábla megrendelése után néhány nap múlva futárral érkezett hozzám egy szépen címkézett, jól csomagolt dobozban, és mint mindig, a PCB minősége is fantasztikus volt. Az általam kapott PCB az alábbiakban látható. Amint látja, a felső és az alsó réteg is a várakozásoknak megfelelően alakult.
A fiolák és a betétek mind megfelelő méretűek voltak. Körülbelül 15 percbe telt, mire összeszereltem a NYÁK lapot, hogy működő áramkört kapjak. Az összeszerelt tábla az alábbiakban látható.
A kártya csatlakoztatása váltóáramú tápegységekkel / hosszabbító kártyákkal
A táblát úgy tervezték, hogy otthonaink váltakozó áramú csatlakozóin belül rögzítse. De a projekt kedvéért egy hosszabbító dobozt fogunk használni. Ha tartósabb megoldást szeretne, kösse össze ezt a váltóáramú aljzatokon belül, amint az alább látható, hogy a NYÁK hossza elég kompakt ahhoz, hogy egy váltóáramú aljzatba lehessen helyezni.
Ne felejtse el betartani a biztonsági óvintézkedéseket, amikor hálózati áramellátással dolgozik. Kövesse az alábbi kapcsolási rajzot, hogy megértse, hogyan kell a reléit és kapcsolóit csatlakoztatni a NYÁK-kártyánkhoz.
A kapcsolási rajz csak egy relénél és kapcsolónál van leállítva, de ugyanezt megismételheti a maradék háromra is. Miután a kapcsolatok elkészültek, a táblának így kell kinéznie
A csatlakozások elkészítése után ellenőrizze, hogy szorosan rögzítette őket csavaros kapcsokkal, és a további biztonság érdekében forró ragasztót is használjon. Csomagoljon vissza mindent a dobozba, és készen állunk a tesztelésre. A projekt teljes működését az alábbi videóban találja meg.
Remélem, tetszett a cikk, és valami hasznosat tanult. Ha bármilyen kérdése van, kérjük, hagyja őket az alábbi megjegyzés részben, vagy használja fórumunkat.