Control de l'estufa des del telèfon intel·ligent mitjançant WiFi

Al món modern, si mirem al voltant, podem veure que tot el que inclou electrònica està automatitzat fins a cert punt. Actualment, els sistemes domòtics o les cases intel·ligents són molt habituals. Mitjançant l’ús d’aquests sistemes es poden automatitzar diferents electrodomèstics mitjançant una aplicació mòbil. Però la majoria d’aquests sistemes no inclouen res que automatitzi la vostra estufa de gas. En aquest article, desenvoluparem un sistema que us permetrà controlar la vostra estufa de gas mitjançant una aplicació mòbil. Aquesta aplicació s’utilitzarà per obrir o tancar la vàlvula de gas des de la vàlvula principal i per encendre la bugia per generar el foc.



Estufa intel·ligent

Com automatitzar les estufes de gas a través del mòbil?

Ara, ja que coneixem el resum del projecte, anem a avançar i recollim informació diferent per començar a treballar. Primer farem una llista dels components i després muntarem tots els components junts per fer un sistema de treball.



Pas 1: Recopilació dels components

Abans d’iniciar qualsevol projecte, si volem evitar la por d’encallar-se al mig del projecte, hauríem de tenir una llista completa de tots els components que necessitarem mentre treballem al projecte. Es tracta d’un enfocament excel·lent que permet estalviar molt de temps i esforç. A continuació es mostra una llista completa de tots els components que s’utilitzen en aquest projecte. Tots aquests components estan fàcilment disponibles al mercat.



  • ESP32
  • Vàlvula de gas per Arduino
  • Jumper Wires
  • Mòdul de relé 5V
  • 2N2222 Transistor NPN
  • Resistència d'1k-ohm
  • Resistència de 10k-ohm
  • Espurna 5V

Pas 2: desenvolupar una aplicació per a Android

Com que controlarem aquesta estufa mitjançant una aplicació per a Android, primer hem de desenvolupar-la. Anteriorment, n’hem desenvolupat diverses aplicacions per a Android. Anteriorment, hem fet un aplicació que consisteix només en un botó. Aquest botó s’utilitza per enviar dades a la base de dades. Si '1' s'insereix a la base de dades, el relé s'encendrà i si '0' s’insereix a la base de dades, el relé s’apagarà.



Farem una petita esmena en aquesta sol·licitud. Seguint el mateix procediment que es va seguir per fer el primer botó i connectar-lo a la base de foc, crearem un altre botó que es connectarà a la base de foc.

S'utilitzarà un botó per obrir i tancar la vàlvula de gas i el segon botó per crear una espurna que serà responsable de la encès .

Pas 3: Creació del circuit

Com sabem ara el nucli principal d’aquest projecte, anem a muntar tots els components junts per fer un circuit final.



Agafeu una pissarra i introduïu la Tauler ESP32 en ell. Agafeu transistors i resistències i inseriu-los a la placa de manera que el transistor es pugui utilitzar com a commutador. Seguiu la configuració següent per no equivocar-vos mentre feu el canvi.

Transistor com a interruptor

A la figura anterior, connecteu el fitxer Vi port als passadors del ESP32 , connecteu el port Vcc al subministrament extern de 5V i connecteu Vo al mòdul de relé. La principal raó per la qual fem servir el transistor com a commutador és que un relé necessita 5V per funcionar, però l’ESP32 només pot proporcionar 3,3V. Per tant, hem de proporcionar 5V externs al relé.

Ara connectarem el mòdul de relé als transistors. Assegureu-vos que el primer transistor està connectat al pin34 del mòdul ESP i que el segon transistor està connectat al pin35 del mòdul ESP. Utilitzarem els dos mòduls de relé en mode obert normalment. Connecteu la vàlvula de gas i la bugia al terminal de sortida del primer i segon mòdul de relé respectivament. Assegureu-vos que connecteu el mòdul de relé que es mostra a la imatge següent.

Mòdul de relés

Pas 4: treballar

El cor d’aquest projecte és l’ESP32, que és la placa de microcontroladors. Una vàlvula de gas i una bugia estan connectades a l'ESP mitjançant mòduls de relé. La vàlvula de gas està inicialment tancada. Quan s’encén des de l’aplicació mòbil, s’activa la vàlvula de gas. El mateix en el cas de la bugia. Es pot desactivar o desactivar mitjançant l'aplicació mòbil. Aquesta bugia es connectarà a l’estufa on s’allibera el gas. Aquesta bugia encendrà el foc.

Pas 5: Introducció a ESP32

Si no heu treballat abans amb Arduino IDE, no us preocupeu, perquè a continuació es mostra un pas a pas per configurar Arduino IDE.

  1. Descarregueu la versió més recent d'Arduino IDE des de Arduino.
  2. Connecteu la vostra placa Arduino al PC i obriu el Tauler de control. Fer clic a Maquinari i so. Ara obert Dispositius i impressora i cerqueu el port al qual està connectada la vostra placa. En el meu cas ho és COM14 però és diferent en diferents ordinadors.

    Buscant Port

  3. Feu clic a Fitxer i després a Preferències. Copieu el següent enllaç a URL del gestor de la junta addicional. ' https://dl.espressif.com/dl/package_esp32_index.json '

    Preferències

  4. Ara, per utilitzar ESP32 amb Arduino IDE, hem d’importar biblioteques especials que ens permetin gravar codi a ESP32 i utilitzar-lo. aquestes dues biblioteques s'adjunten a l'enllaç que es mostra a continuació. Per incloure la biblioteca, aneu Esbós> Inclou biblioteca> Afegeix biblioteca ZIP . Apareixerà un quadre. Cerqueu la carpeta ZIP a l'ordinador i feu clic a D'acord per incloure-les.

    Inclou la biblioteca

  5. Ara vés Esbós> Inclou biblioteca> Gestiona les biblioteques.

    Gestiona les biblioteques

  6. S'obrirà un menú. A la barra de cerca, escriviu Arduino JSON. Apareixerà una llista. Instal·la Arduino JSON de Benoit Blanchon.

    Arduino JSON

  7. Ara feu clic a Eines. Apareixerà un menú desplegable. Estableix el tauler a Mòdul de desenvolupament ESP.

    Taula de configuració

  8. Torneu a fer clic al menú Eina i configureu el port que heu observat abans al tauler de control.

    Configuració del port

  9. Ara pengeu el codi que s’adjunta a l’enllaç següent i feu clic al botó de càrrega per gravar el codi al microcontrolador ESP32.

    Pujar

Així que ara, quan pengeu el codi, es pot produir un error. Aquest és l'error més comú que es pot produir si utilitzeu una nova versió de l'IDE Arduino i l'Arduino JSON. A continuació es detallen els errors que podeu veure a la pantalla.

Al fitxer inclòs des de C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, des de C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C :  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: error: StaticJsonBuffer és una classe d'ArduinoJson 5. Consulteu arduinojson.org/upgrade per aprendre a actualitzar el vostre programa a ArduinoJson. versió 6 StaticJsonBuffer jsonBuffer; ^ Al fitxer inclòs des de C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, des de C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: error: StaticJsonBuffer és una classe d'ArduinoJson 5. Consulteu arduinojson.org/upgrade per obtenir informació sobre com actualitzar el vostre programa a ArduinoJson versió 6 retorna StaticJsonBuffer (). ParseObject (_data); ^ S'han trobat diverses biblioteques per a 'WiFi.h' Usat: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi No s'utilitza: C:  Program Files ( x86)  Arduino  libraries  WiFi Usant biblioteca WiFi a la versió 1.0 de la carpeta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Utilitzant la biblioteca IOXhop_FirebaseESP32-master a la carpeta: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (heretat) Usant la biblioteca HTTPClient a la versió 1.2 a la carpeta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Ús de la biblioteca WiFiClientSecure a la versió 1.0 de la carpeta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Ús de la biblioteca ArduinoJson a versió 6.12.0 a la carpeta: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Error en compilar la placa ESP32 Dev Module.

No hi ha res de què preocupar-se perquè podem eliminar aquests errors seguint alguns senzills passos. Aquests errors es produeixen perquè la nova versió d'Arduino JSON té una altra classe en lloc de StaticJsonBuffer. Aquesta és la classe de JSON 5. Per tant, simplement podem eliminar aquest error degradant la versió d’Arduino JSON del nostre IDE Arduino. Simplement aneu a Esbós> Inclou biblioteca> Gestiona les biblioteques. Buscar Arduino JSON de Benoit Blanchon que heu instal·lat abans. Desinstal·leu-lo primer i definiu-ne la versió 5.13.5. Ara, ja que hem definit una versió antiga d'Arduino JSON, torneu-la a instal·lar i torneu a compilar el codi. Aquesta vegada, el vostre codi es compilarà correctament.

Per descarregar el codi, feu clic aquí.

Pas 6: Codi

El codi adjunt està força ben comentat, però tot i així, algunes de les seves parts s’expliquen a continuació.

1. Al començament, s'inclouen dues biblioteques perquè el WiFi estigui habilitat i la placa ESP es pugui connectar a la base de dades de firebase. A continuació, s'inclou l'amfitrió de Firebase, l'autenticació, el nom de la vostra connexió wifi local i la contrasenya de la mateixa connexió wifi. A més, definiu els pins de la placa ESP que s’utilitzaran per connectar els dispositius externs.

#include // include library to use WiFi #include // include library to connect to Firebase #define FIREBASE_HOST 'xxxxxxxxxx' // replace xxxxxxxxxx by your firebase host here #define FIREBASE_AUTH 'xxxxxxxxxx' // replace xxxxxxxxxx by your firebase authentication here # defineix WIFI_SSID 'xxxxxxxxxx' // substitueix xxxxxxxxxx pel nom de la nostra connexió Wifi # define WIFI_PASSWORD 'xxxxxxxxxx' // substitueix xxxxxxxxxx per la teva contrasenya wifi # define vàlvula 34 // connecta la vàlvula de gas a aquest pin # defineix spark 35 // connect spark endollar-lo a aquest passador

2. configuració nul·la () és una funció que només s'executa quan el microcontrolador està engegat o es prem el botó d'activació. En aquesta funció, s'estableix la velocitat de transmissió, que és bàsicament la velocitat de comunicació en bits per segon. Després, la placa ESP es connecta a la xarxa wifi.

configuració nul·la () {Serial.begin (115200); // estableix la velocitat de transmissió pinMode (vàlvula, OUTPUT); // Estableix el pin 34 perquè s'utilitzi com a OUTPUT pinMode (spark, OUTPUT); // configureu el pin 35 per utilitzar-lo com a SORTIDA // connecteu-vos a wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('connectant'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); retard (500); } Serial.println (); Serial.print ('connectat:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Bucle buit () és la funció que s'executa repetidament en un bucle. En aquest bucle, es llegeixen els valors des de la base de foc i s’examina si són zero o un. Si els valors són un, s’envia un senyal ALTA al pin que donarà lloc a l’encesa del mòdul de relé. Si el valor és zero, s’enviarà un senyal LOw al pin de l’ESP que resultarà en apagar el relé.

void loop () {// obtenir valor temp1 = Serial.println (Firebase.getFloat ('light')); // obtenir el valor de commutació de la vàlvula de gas temp2 = Serial.println (Firebase.getFloat ('AC')); // obtingueu el valor per canviar la bugia si (temp1 == 1) {digitalWrite (vàlvula, ALTA) // activeu el relé} else if (temp1 == 0) {digitalWrite (vàlvula, BAIX) // gireu off relay one} else if (temp2 == 1) {digitalWrite (spark, HIGH) // activa el relé two} else if (temp2 == 0) {digitalWrite (spark, LOW) // apaga el relay two} // gestiona l'error si (Firebase.failed ()) {Serial.print ('fallada en la configuració / número:'); Serial.println (Firebase.error ()); tornar; } retard (1000); }

Això és tot per avui. Ara podeu fer la nostra pròpia estufa intel·ligent a casa. Seguiu consultant el nostre lloc per obtenir articles més interessants com aquests en el futur.