Controlul aragazului de pe telefonul dvs. smartphone folosind WiFi

În lumea modernă, dacă ne uităm în jur, putem vedea că tot ceea ce include electronica este automatizat într-o oarecare măsură. Sistemele de automatizare a locuințelor sau casele inteligente sunt foarte frecvente în zilele noastre. Prin utilizarea acestor sisteme diferite aparate electrocasnice pot fi automatizate folosind o aplicație mobilă. Dar majoritatea acestor sisteme nu includ nimic care automatizează aragazul dvs. cu gaz. În acest articol, vom dezvolta un sistem care vă va permite să vă controlați aragazul cu gaz utilizând o aplicație mobilă. Această aplicație va fi utilizată pentru a deschide sau închide supapa de gaz de la supapa principală și pentru a aprinde bujia pentru a construi focul.



Aragaz inteligent

Cum să automatizați aragazul pe mobil?

Acum, pe măsură ce cunoaștem rezumatul proiectului, să mergem mai departe și să adunăm diferite informații pentru a începe să lucrăm. Mai întâi vom face o listă a componentelor și apoi vom asambla toate componentele împreună pentru a crea un sistem de lucru.



Pasul 1: Adunarea componentelor

Înainte de a începe orice proiect, dacă vrem să evităm frica de a nu rămâne blocat în mijlocul proiectului, ar trebui să avem o listă completă a tuturor componentelor de care vom avea nevoie în timp ce lucrăm la proiect. Aceasta este o abordare excelentă care economisește mult timp și efort. O listă completă a tuturor componentelor utilizate în acest proiect este prezentată mai jos. Toate aceste componente sunt ușor disponibile pe piață.



  • ESP32
  • Supapa de gaz pentru Arduino
  • Sârme jumper
  • Modul releu 5V
  • 2N2222 NPN tranzistor
  • Rezistor 1k-ohm
  • Rezistor de 10k-ohm
  • Bujie 5V

Pasul 2: Dezvoltarea unei aplicații Android

Deoarece vom controla această sobă folosind o aplicație Android, trebuie să o dezvoltăm mai întâi. Anterior, am dezvoltat mai multe aplicații Android. Anterior, am făcut un cerere care constă dintr-un singur buton în el. Acest buton este utilizat pentru a trimite date în baza de date. Dacă „1” este introdus în baza de date, releul va fi pornit și dacă „0” este introdus în baza de date, releul va fi oprit.



Vom face o mică modificare în această cerere. Urmând aceeași procedură care a fost urmată pentru a face primul buton și a-l conecta la baza de foc, vom crea un alt buton care va fi conectat la baza de foc.

Un buton va fi folosit pentru a deschide și închide supapa de gaz, iar al doilea buton va fi folosit pentru a crea o scânteie care va fi responsabilă pentru aprindere .

Pasul 3: Realizarea circuitului

După cum știm acum esența principală a acestui proiect, să asamblăm toate componentele împreună pentru a realiza un circuit final.



Luați o pană de verificare și introduceți Placa ESP32 în ea. Luați atât tranzistoare, cât și rezistențe și introduceți-le în panou, în așa fel încât tranzistorul să poată fi folosit ca un comutator. Urmați configurația de mai jos, astfel încât să nu faceți greșeli în timp ce efectuați comutarea.

Tranzistorul ca întrerupător

În figura de mai sus, conectați Vin port la pinii ESP32 , conectați portul Vcc la sursa externă de 5V și conectați Vo la modulul de releu. Principalul motiv pentru care folosim tranzistorul ca întrerupător este că un releu are nevoie de 5V pentru a funcționa, dar ESP32 poate furniza doar 3,3V. Deci, trebuie să furnizăm 5V extern releu.

Acum vom conecta modulul de releu la tranzistoare. Asigurați-vă că primul tranzistor este conectat la pinul 34 al modulului ESP și al doilea tranzistor este conectat la pinul 35 al modulului ESP. Vom folosi ambele module de releu în modul normal deschis. Conectați supapa de gaz și bujia la terminalul de ieșire al primului și respectiv al doilea modul de releu. Asigurați-vă că conectați culoarea modulului de releu prezentată în imaginea de mai jos.

Modul releu

Pasul 4: Lucrul

Inima acestui proiect este ESP32, care este placa de microcontroler. O supapă de gaz și o bujie sunt conectate la ESP prin module de releu. Supapa de gaz este inițial închisă. Când este pornit din aplicația mobilă, supapa de gaz este pornită. La fel și în cazul bujiei. Poate fi dezactivat sau dezactivat prin intermediul aplicației mobile. Această bujie va fi conectată la aragazul în care este eliberat gazul. Această bujie va aprinde focul.

Pasul 5: Noțiuni introductive despre ESP32

Dacă nu ați mai lucrat la Arduino IDE, nu vă faceți griji, deoarece un pas cu pas pentru a configura Arduino IDE este prezentat mai jos.

  1. Descărcați cea mai recentă versiune a Arduino IDE de la Arduino.
  2. Conectați placa Arduino la computer și deschideți Panoul de control. Click pe Hardware și sunet. Acum deschis Dispozitive și imprimantă și găsiți portul la care este conectată placa dvs. În cazul meu este COM14 dar este diferit în diferite computere.

    Găsirea portului

  3. Faceți clic pe Fișier și apoi faceți clic pe Preferințe. Copiați următorul link în Adresa URL a administratorului de bord suplimentar. „ https://dl.espressif.com/dl/package_esp32_index.json '

    Preferințe

  4. Acum, pentru a utiliza ESP32 cu Arduino IDE, trebuie să importăm biblioteci speciale care ne vor permite să ardem codul pe ESP32 și să-l folosim. aceste două biblioteci sunt atașate în linkul de mai jos. Pentru a include biblioteca, mergeți Schiță> Includeți bibliotecă> Adăugați o bibliotecă ZIP . Va apărea o casetă. Găsiți folderul ZIP de pe computer și faceți clic pe OK pentru a include folderele.

    Includeți biblioteca

  5. Acum, du-te Schiță> Includeți bibliotecă> Gestionați bibliotecile.

    Gestionați bibliotecile

  6. Se va deschide un meniu. În bara de căutare, tastați Arduino JSON. Va apărea o listă. Instalare Arduino JSON de Benoit Blanchon.

    Arduino JSON

  7. Acum faceți clic pe Instrumente. Va apărea un meniu derulant. Setați placa la Modulul ESP.

    Placă de setare

  8. Faceți din nou clic pe meniul Instrument și setați portul pe care l-ați observat anterior în panoul de control.

    Setarea portului

  9. Acum încărcați codul atașat în linkul de mai jos și faceți clic pe butonul de încărcare pentru a arde codul pe microcontrolerul ESP32.

    Încărcare

Deci, acum, când veți încărca codul, poate apărea o eroare. Aceasta este cea mai frecventă eroare care poate apărea dacă utilizați o nouă versiune a Arduino IDE și Arduino JSON. Următoarele sunt erorile pe care le puteți vedea pe ecran.

În fișier inclus din C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, din 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 este o clasă din ArduinoJson 5. Consultați arduinojson.org/upgrade pentru a afla cum să faceți upgrade programului dvs. la ArduinoJson versiunea 6 StaticJsonBuffer jsonBuffer; ^ În fișier inclus din C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, din 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 este o clasă din ArduinoJson 5. Vă rugăm să consultați arduinojson.org/upgrade pentru a afla cum să actualizați programul dvs. în ArduinoJson versiunea 6 returnează StaticJsonBuffer (). ParseObject (_data); ^ Au fost găsite mai multe biblioteci pentru „WiFi.h” Folosit: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Neutilizat: C:  Program Files ( x86)  Arduino  libraries  WiFi Utilizarea bibliotecii WiFi la versiunea 1.0 din folder: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Folosirea bibliotecii IOXhop_FirebaseESP32-master în folder: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (vechi) Utilizarea bibliotecii HTTPClient la versiunea 1.2 în folderul: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Utilizarea bibliotecii WiFiClientSecure la versiunea 1.0 din folder: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Utilizarea bibliotecii ArduinoJson la versiunea 6.12.0 în folder: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Eroare la compilarea pentru modulul ESP32 Dev Module.

Nu este nimic de îngrijorat, deoarece putem elimina aceste erori urmând câțiva pași simpli. Aceste erori apar deoarece noua versiune a Arduino JSON are o altă clasă în loc de StaticJsonBuffer. Aceasta este clasa JSON 5. Deci, putem elimina pur și simplu această eroare prin retrogradarea versiunii Arduino JSON a ID-ului nostru Arduino. Pur și simplu mergeți la Schiță> Includeți bibliotecă> Gestionați bibliotecile. Caută Arduino JSON de Benoit Blanchon pe care le-ați instalat anterior. Dezinstalați-l mai întâi și apoi setați versiunea sa la 5.13.5. Acum, deoarece am setat o versiune veche a Arduino JSON, instalați-o din nou și recompilați codul. De data aceasta, codul dvs. se va compila cu succes.

Pentru a descărca codul, clic aici.

Pasul 6: Cod

Codul atașat este destul de bine comentat, dar unele dintre părțile sale sunt explicate mai jos.

1. La început, sunt incluse două biblioteci, astfel încât WiFi este activat și placa ESP poate fi conectată la baza de date firebase. Apoi sunt incluse gazda firebase, autentificarea, numele conexiunii WiFi locale și parola aceleiași conexiuni wifi. De asemenea, definiți pinii de pe placa ESP care vor fi folosiți pentru conectarea dispozitivelor externe.

#include // include biblioteca pentru a utiliza WiFi #include // include biblioteca pentru a vă conecta la Firebase #define FIREBASE_HOST 'xxxxxxxxxx' // înlocuiți xxxxxxxxxx cu gazda dvs. firebase aici #define FIREBASE_AUTH 'xxxxxxxxxx' // înlocuiți xxxxxxxxxx prin autentificarea dvs. firebase aici # definiți WIFI_SSID 'xxxxxxxxxx' // înlocuiți xxxxxxxxxx cu numele conexiunii noastre Wifi #define WIFI_PASSWORD 'xxxxxxxxxx' // înlocuiți xxxxxxxxxx cu parola dvs. wifi #definiți supapa 34 // conectați supapa de gaz la acest pin #define spark 35 // conectați spark conectați la acest pin

2. configurare nulă () este o funcție care rulează o singură dată când microcontrolerul este pornit sau butonul de activare este apăsat. În această funcție, viteza de transmisie este setată, care este practic viteza de comunicație în biți pe secundă. După aceea, placa ESP este conectată la Wifi.

void setup () {Serial.begin (115200); // setați baud rate pinMode (supapă, OUTPUT); // setați pinul 34 pentru a fi folosit ca OUTPUT pinMode (scânteie, OUTPUT); // setați pinul 35 să fie folosit ca OUTPUT // conectați-vă la wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println („conectare”); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); întârziere (500); } Serial.println (); Serial.print ('conectat:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Bucla vid () este funcția care rulează în mod repetat într-o buclă. În această buclă, valorile sunt citite din baza de date și sunt examinate dacă sunt zero sau una. Dacă valorile sunt una, atunci un semnal HIGH este trimis pinului care va duce la pornirea modulului releului. Dacă valoarea este zero, un semnal LOw va fi trimis pinului ESP, ceea ce va duce la oprirea releului.

void loop () {// get value temp1 = Serial.println (Firebase.getFloat ('light')); // obțineți valoarea pentru comutarea supapei de gaz temp2 = Serial.println (Firebase.getFloat ('AC')); // obțineți opțiunea pentru comutarea bujiei dacă (temp1 == 1) {digitalWrite (supapă, ÎNALTĂ) // activați releu unul altceva dacă (temp1 == 0) {digitalWrite (supapă, LOW) // întoarceți off relay one} else if (temp2 == 1) {digitalWrite (spark, HIGH) // activa relay two} else if (temp2 == 0) {digitalWrite (spark, LOW) // opri relay two} // eroare de gestionare dacă (Firebase.failed ()) {Serial.print ('setare / număr eșuat:'); Serial.println (Firebase.error ()); întoarcere; } întârziere (1000); }

Asta e tot pentru astăzi. Acum, puteți să ne creați propria sobă inteligentă acasă. Continuați să verificați site-ul nostru pentru mai multe articole interesante ca acestea în viitor.