- Diagrama de circuits per a la domòtica controlada per l'Assistent de Google
- Configuració de l'aplicació Blynk
- Configuració d'IFTTT amb l'Assistent de Google i Blynk per llegir la cadena
- Programació d'Arduino per a la domòtica Blynk
- Fabricació de PCB mitjançant PCBGoGo
- Muntatge del PCB
- Connexió de la placa amb unitats d’alimentació de CA / plaques d’extensió
Amb l’avenç en assistents virtuals com Google Assistant i Alexa, la domòtica i les aplicacions controlades per veu es tornen normals. Ara, nosaltres mateixos hem construït molts projectes domòtics, des de simples llums d’escales automàtiques fins a domòtica controlada per Internet basada en IoT mitjançant Raspberry Pi. Però aquest projecte aquí és diferent, la idea aquí és crear una pràctica placa domòtica que s'adapti a les nostres unitats d'alimentació de CA de les nostres parets i es mantingui oculta al seu interior. La placa no hauria d’interrompre el funcionament normal dels interruptors de la nostra unitat de potència, és a dir, haurien d’encendre o apagar també amb interruptors manuals. I sense dir-ho, també hauria de ser capaç de controlar la mateixa càrrega amb la veu mitjançant l’assistent de Google i també establir un temporitzador perquè qualsevol càrrega es pugui activar o desactivar automàticament durant una hora predeterminada del dia.
Aquest projecte és molt similar al nostre endoll Wi-Fi intel·ligent ESP8266, però aquí, ja que utilitzarem ESP12, tindrem més pins GPIO que ens permetran controlar quatre càrregues de CA simultàniament. A més, ja que hem integrat Blynk i Google Assistant, el projecte es fa interessant i pràctic d’utilitzar. Per a aquest projecte hem construït les plaques de circuits mitjançant el servei de fabricació de PCB PCBGOGO. A la secció posterior de l'article hem proporcionat el fitxer Gerber dissenyat per al circuit i també hem explicat el procediment complet per demanar els PCB a PCBGOGO.
Advertència: aquest projecte implica treballar amb la tensió de corrent altern. Tingueu en compte que s’ha de tenir molta precaució quan es treballa amb voltatges de CA elevats. Assegureu-vos que sou supervisat per una persona experimentada si sou nou.
Diagrama de circuits per a la domòtica controlada per l'Assistent de Google
El diagrama complet del circuit per a la domòtica es troba a continuació.

Com podeu veure, el circuit és molt senzill, comencem l’explicació des del mòdul Wi-Fi ESP12E. També podeu consultar el vídeo següent per obtenir una explicació detallada del projecte. El mòdul es pot programar igual que les plaques de desenvolupament nodeMCU i redueix molt d’espai. Per defecte, quan està engegat, ESP12E entrarà en mode de funcionament. Per programar-lo, hem d’utilitzar el botó Restableix i Flash. És a dir, posar l’ESP12 en mode de programació, mantenir premut el botó Restableix i el botó Flash i, a continuació, deixeu anar el botó de reinici. Això arrencarà l’ESP12E amb el botó de flaix premut, ara deixeu anar el botó de flaix i l’ESP12E entrarà en mode de programació. Després de programar, heu de tornar a prémer el botó de reinici per arrencar l'ESP12E en mode d'operació normal per executar el programa carregat. Els pins de programació Rx, Rx,i Ground s’amplien per poder connectar-se amb una placa FTDI o un convertidor USB a TTL. Assegureu-vos de connectar el pin Tx d'ESP12 al pin Rx del programador i viceversa.

Els altres pins d'indicador I1 a I4 i R1 a R4 s'utilitzen per connectar els commutadors i els relés. Els pins I1 a I4 representen els pins d’entrada. Tots aquests pins admeten una resistència de tracció interna, de manera que només hem de connectar els interruptors de la caixa d’extensió al nostre pin d’entrada a través d’una resistència de tracció, com es mostra a continuació.

De la mateixa manera, els pins de sortida del relé R1 a R4 s’utilitzen per controlar els relés. Hem utilitzat un circuit de control de relé estàndard amb díode BC547 i IN4007 com es mostra a continuació. Tingueu en compte que els relés s’han d’activar amb 5V, però els pins de sortida ESP12E només són de 3,3V. Per tant, és obligatori utilitzar un transistor per accionar els relés. També hem col·locat un LED al recorregut base del transistor de manera que sempre que s’activi el transistor, el LED també s’encengui.

Finalment, per alimentar tots els nostres circuits, hem utilitzat el convertidor Hi-Link AC-DC per convertir el nostre 220V CA a 5V DC. Aquest 5V CC es converteix a 3,3V mitjançant un regulador de tensió AMS117-3,3V. El 5V s’utilitza per activar els relés i el 3.3V s’utilitza per alimentar el mòdul Wi-Fi ESP21.

Configuració de l'aplicació Blynk
Anteriorment hem creat molts projectes Blynk com ara el robot Arduino controlat per Wi-Fi, de manera que no entrarem en els detalls de la configuració de l’aplicació blynk. Però, per simplificar-ho, només cal que instal·leu l’aplicació, creeu un projecte nou per a NodeMCU i comenceu a col·locar els vostres ginys com es mostra a continuació.

He utilitzat els pins virtuals V1 a V4 per controlar el relé 1 a 4 del nostre projecte. Assegureu-vos de canviar el tipus de botó per canviar. L'opció de temporitzador també es pot utilitzar per activar els pins virtuals automàticament durant el temps establert, fins i tot si el telèfon està apagat. He utilitzat un temporitzador només per al pin virtual V1 aquí, per exemple, però el podeu utilitzar per als quatre pins si cal.

Assegureu-vos d’obtenir el valor del testimoni d’autorització blynk des de la pàgina del projecte. Simplement feu clic a la icona de rosca (encerclada en vermell a la imatge superior) i copieu el testimoni d'autenticació mitjançant l'opció Copia-ho tot i enganxeu-lo en algun lloc segur, el necessitarem quan programem la placa Arduino.

Configuració d'IFTTT amb l'Assistent de Google i Blynk per llegir la cadena
La manera més senzilla d’utilitzar l’Assistent de Google per a la domòtica és mitjançant IFTTT. També hem creat molts projectes IFTTT anteriorment amb NodeMCU i Raspberry Pi. En aquest projecte, farem servir l’ aplicació Blynk per activar un webhook mitjançant l’assistent de Google. És molt similar al nostre projecte de domòtica controlada per veu i de ràdio FM controlada per veu. Excepte, aquí utilitzarem blynk amb IFTTT per enviar cadenes, cosa que fa que sigui molt més fàcil i interessant.
Bàsicament, utilitzarem els pins virtuals V5 i V6 a blynk per enviar l’ordre trigger. V5 s'utilitzarà per a ordres d'activació i V6 s'utilitzarà per desactivar ordres. Per exemple, si diem que engegueu la televisió i Lamp. L'ordre string aquí "TV and Lamp" s'enviarà a NodeMCU mitjançant una API. La sintaxi de l'API és la següent.
http://188.166.206.43//update/V5?value=TV i Lamp
Ara tot el que hem de fer a IFTTT és utilitzar Google Assistant com IF i webhooks com THAT, així que escolteu aquesta ordre i envieu la informació a NodeMCU mitjançant l'API esmentada. La miniaplicació d'activació de la mateixa manera es mostra a continuació.

Tingueu en compte que heu de seleccionar dir una frase amb l' opció d' ingredient de text quan creeu una recepta per a l'Assistent de Google. De la mateixa manera, haureu de repetir el mateix per al pin V6 virtual per apagar els relés. Podeu consultar el vídeo a la part inferior d’aquesta pàgina per obtenir informació detallada.
Programació d'Arduino per a la domòtica Blynk
El codi Arduino complet d’aquest projecte es troba a la part inferior d’aquesta pàgina. L’explicació del mateix és la següent. Abans, assegureu-vos que podeu utilitzar Blynk i Program NodeMCU des de Arduino IDE. Si no, seguiu l'article inicial sobre ESP12. A més, afegiu la biblioteca blynk a Arduino IDE mitjançant el gestor de la placa.
Com sempre, comencem el nostre codi definint els pins d’entrada i sortida, aquí l’entrada serà dels commutadors i la sortida serà dels relés. Hem definit els noms dels pins dels quatre commutadors com a sw i els relés tan rel com es pot veure a continuació.
#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 la següent etapa, heu d’introduir algunes credencials com el testimoni d’autorització blynk i el nom d’usuari i la contrasenya del router Wi-Fi al qual s’hauria de connectar el nodeMCU. El testimoni d'autenticació parpellejant es pot obtenir des de l'aplicació blynk. Aprendrem més sobre això a la secció de configuració de l'aplicació blynk.
char auth = "Fh3tm0ZSrXQcROYl_lIYwOIuVu-E"; // obtenir de l'aplicació blynk char ssid = "home_wifi"; char pass = "fakepass123";
A continuació, hem donat la definició d'una funció anomenada read_switch_toggle () . En aquesta funció, compararem l’estat actual i l’estat anterior dels nostres commutadors. Si l'interruptor s'ha activat o apagat, és a dir, si s'ha canviat l'interruptor. Hi haurà un canvi en l'estat del commutador, la funció supervisarà aquest canvi i retornarà el número del commutador. Si no es detecta cap canvi, retornarà 0.
int read_switch_toggle () {int result = 0; // Tingueu en compte tots els valors anteriors de (int i = 0; i <= 3; i ++) pvs_state = crnt_state; // Llegiu l'estat actual dels commutadors crnt_state = digitalRead (sw1); crnt_state = DigitalRead (sw2); crnt_state = DigitalRead (sw3); crnt_state = DigitalRead (sw4); // compareu l'estat actual i pvs per a (int i = 0; i <= 3; i ++) {if (pvs_state! = crnt_state) {result = (i + 1); // si es commuta qualsevol commutador, obtindrem el número de commutador com a resultat de retorn; } else result = 0; // si no hi ha resultat de canvi 0} resultat de retorn; // torna el resultat}
A continuació, tenim el codi per a l'aplicació blynk. Farem servir el pin virtual V1 a V6 per controlar la nostra caixa de connexions intel·ligent. Els pins V1 a V4 s’utilitzaran per controlar els relés de l’1 al 4, respectivament, directament des de l’aplicació blynk. El codi següent mostra què passa quan V1 s'activa des de l'aplicació blynk. Simplement llegim l’estat (ALT o BAIX) i controlem el relé en conseqüència.
BLYNK_WRITE (V1) {digitalWrite (rel1, param.asInt ()); Serial.println ("V1"); }
De la mateixa manera, els pins virtuals també es poden utilitzar per llegir una cadena de l'aplicació blynk. Més endavant aprendrem a enviar una cadena de l’assistent de google a NodeMCU mitjançant IFTTT i l’assistent de Google, però ara per ara veurem com el codi NodeMCU llegeix aquesta cadena i cerca una paraula clau concreta i activa el relleu en conseqüència.
Al codi següent, podeu veure que quan s’activa el pin V5 virtual, obtenim la cadena que passa per una variable de cadena anomenada ON_message . A continuació, utilitzant aquesta variable de cadena i el mètode inderOf, cerquem si hi ha paraules clau com "llum", "LED", "música", "TV", si és així, activem aquesta càrrega particular. Si es detecta la paraula clau "tot", ho activem tot. També es pot fer el mateix amb V6 per apagar els relés. Entendrem més sobre això quan entrem a la secció IFTTT.
BLYNK_WRITE (V5) {String ON_message = param.asStr (); Serial.println (missatge_ON); if (ON_message.indexOf ("lamp")> = 0) digitalWrite (rel1, HIGH); if (ON_message.indexOf ("LED")> = 0) digitalWrite (rel2, HIGH); if (ON_message.indexOf ("music")> = 0) digitalWrite (rel3, HIGH); if (ON_message.indexOf ("TV")> = 0) digitalWrite (rel4, HIGH); if (ON_message.indexOf ("everything")> = 0) {digitalWrite (rel1, HIGH); digitalWrite (rel2, HIGH); digitalWrite (rel3, HIGH); digitalWrite (rel4, HIGH); }}
Finalment, dins de la funció de bucle, només hem de comprovar si ha canviat la posició del commutador. Si és així, fem servir un cas de commutació com es mostra a continuació per canviar la posició d’aquest relé en particular.
switch (toggle_pin) {case 0: break; cas 1: Serial.println ("Toggling Relay 1"); digitalWrite (rel1, relay_state); trencar; cas 2: Serial.println ("Toggling Relay 2"); digitalWrite (rel2, relay_state); trencar; cas 3: Serial.println ("Toggling Relay 3"); digitalWrite (rel3, relay_state); trencar; cas 4: Serial.println ("Toggling Relay 4"); digitalWrite (rel4, relay_state); trencar; }}
Fabricació de PCB mitjançant PCBGoGo
Ara entenem com funcionen els esquemes i podem procedir a la construcció del PCB per al nostre projecte domòtic. El disseny de PCB del circuit anterior també està disponible per descarregar-lo com a Gerber des de l'enllaç.
- Descarregueu GERBER per a la domòtica controlada per veu mitjançant l'Assistent de Google
Ara el nostre disseny està llest, és hora de fabricar-los mitjançant el fitxer Gerber. Per fer el PCB des de PCBGOGO és molt fàcil, només cal que seguiu els passos següents:
Pas 1: accediu a www.pcbgogo.com, inscriviu-vos si és la primera vegada. A continuació, a la pestanya Prototip de PCB, introduïu les dimensions del PCB, el nombre de capes i el nombre de PCB que necessiteu. Suposant que el PCB fa 80 cm × 80 cm, podeu establir les dimensions tal com es mostra a continuació.

Pas 2: continueu fent clic al botó Cita ara . Se us dirigirà a una pàgina on establireu uns quants paràmetres addicionals si cal, com ara el material utilitzat entre espais, etc. Però, sobretot, els valors predeterminats funcionaran bé. L’únic que hem de tenir en compte aquí és el preu i el temps. Com podeu veure, el temps de construcció és de només 2-3 dies i només costa 5 dòlars per al nostre PCB. A continuació, podeu seleccionar un mètode d’enviament preferit en funció del vostre requisit.

Pas 3: l'últim pas és carregar el fitxer Gerber i procedir al pagament. Per assegurar-se que el procés és fluix, PCBGOGO verifica si el fitxer Gerber és vàlid abans de procedir al pagament. D'aquesta manera, podeu assegurar-vos que el vostre PCB sigui amigable amb la fabricació i us arribi com a compromès.
Muntatge del PCB
Després d’ordenar el tauler, em va arribar després de diversos dies per missatgeria en una caixa ben empaquetada i ben etiquetada, i com sempre, la qualitat del PCB va ser impressionant. El PCB que he rebut es mostra a continuació. Com veieu, tant la capa superior com la inferior han resultat com s’esperava.

Les vies i els coixinets tenien la mida adequada. Vaig trigar uns 15 minuts a muntar-me a la placa PCB per obtenir un circuit de treball. El tauler muntat es mostra a continuació.

Connexió de la placa amb unitats d’alimentació de CA / plaques d’extensió
El tauler està dissenyat per fixar-se a les preses d’alimentació de CA de casa nostra. Però, pel bé d’aquest projecte, farem servir una caixa d’extensió. Si voleu una solució més permanent, connecteu-la a l'interior dels endolls d'alimentació de CA, ja que podeu veure que la longitud del PCB és prou compacta per col·locar-la dins d'una presa d'alimentació de CA.

Assegureu-vos de seguir les precaucions de seguretat mentre treballeu amb la xarxa de corrent altern. Seguiu el diagrama de circuits següent per entendre com connectar els relés i els commutadors a la nostra placa PCB.

El diagrama de connexió està inactiu només per a un relé i un commutador, però només podeu replicar el mateix per als tres restants. Un cop fetes les connexions, el tauler hauria de ser així

Un cop realitzades les connexions, assegureu-vos que les heu fixat bé amb terminals de rosca i també utilitzeu cola calenta per a més seguretat. Torneu a embalar tot a la caixa i hauríem d’estar preparats per a la prova. Podeu trobar el funcionament complet d’aquest projecte al vídeo següent.
Espero que us hagi agradat l'article i hàgiu après alguna cosa útil. Si teniu cap pregunta, deixeu-les a la secció de comentaris o utilitzeu els nostres fòrums.
