Upravljanje štednjakom sa pametnog telefona pomoću WiFi-a

U modernom svijetu, ako pogledamo oko sebe, možemo vidjeti da je sve što uključuje elektroniku do neke mjere automatizirano. Sustavi kućne automatizacije ili pametne kuće danas su vrlo česti. Korištenjem ovih sustava različiti kućanski uređaji mogu se automatizirati pomoću mobilne aplikacije. Ali većina ovih sustava ne uključuje ništa što automatizira vašu plinsku peć. U ovom ćemo članku razviti sustav koji će vam omogućiti upravljanje plinskim štednjakom pomoću mobilne aplikacije. Ovaj će se program koristiti za otvaranje ili zatvaranje plinskog ventila s glavnog ventila i za paljenje svjećice za potpaljivanje vatre.



Pametna peć

Kako automatizirati štednjak na plin putem mobitela?

Sad kad znamo sažetak projekta, krenimo naprijed i skupljajmo različite informacije kako bismo počeli raditi. Prvo ćemo napraviti popis komponenata, a zatim sve komponente sastaviti kako bismo napravili radni sustav.



Korak 1: Prikupljanje komponenata

Prije početka bilo kojeg projekta, ako želimo izbjeći strah da ne zapnemo usred projekta, trebali bismo imati cjelovit popis svih komponenata koje će nam trebati tijekom rada na projektu. Ovo je izvrstan pristup koji štedi puno vremena i truda. Cjelovit popis svih komponenata koje se koriste u ovom projektu dan je u nastavku. Sve su ove komponente lako dostupne na tržištu.



  • ESP32
  • Ventil za plin za Arduino
  • Jumper žice
  • Modul releja 5V
  • 2N2222 NPN tranzistor
  • Otpornik od 1 k-ohma
  • 10k-ohm otpornik
  • 5V svjećica

Korak 2: Razvoj Android aplikacije

Kako ćemo upravljati ovom peći pomoću android aplikacije, prvo je moramo razviti. Prije smo ih razvili nekoliko android aplikacija. Prethodno smo napravili primjena koji se sastoji od samo jednog gumba u njemu. Ovaj se gumb koristi za slanje podataka u bazu podataka. Ako '1' je umetnuta u bazu podataka, relej će biti uključen i ako '0' ako se umetne u bazu podataka, relej će biti isključen.



U ovu ćemo prijavu unijeti male izmjene i dopune. Slijedom istog postupka koji je slijedio izradu prvog gumba i njegovo povezivanje s vatrenom bazom, napravit ćemo još jedan gumb koji će biti povezan s vatrenom bazom.

Jedan gumb služit će za otvaranje i zatvaranje ventila za plin, a drugi gumb za stvaranje iskre koja će biti odgovorna za paljenje .

Korak 3: Izrada kruga

Kako sada znamo glavnu srž ovog projekta, okupimo sve komponente zajedno da napravimo konačni krug.



Uzmite pločicu i umetnite ESP32 ploča u tome. Uzmite i tranzistore i otpore i umetnite ih u ploču na način da se tranzistor može koristiti kao preklopljeni. Slijedite donju konfiguraciju kako ne biste pogriješili tijekom prebacivanja.

Tranzistor kao prekidač

Na gornjoj slici spojite Vino priključak na igle ESP32 , spojite priključak Vcc na vanjsko napajanje od 5 V i spojite Vo na modul releja. Glavni razlog zbog kojeg koristimo tranzistor kao prekidač je taj što releju treba 5 V za rad, ali ESP32 može pružiti samo 3,3 V. Dakle, moramo osigurati 5V izvan releja.

Sada ćemo modul releja povezati s tranzistorima. Provjerite je li prvi tranzistor spojen na pin34 ESP modula, a drugi tranzistor spojen na pin35 ESP modula. Oba modula releja koristit ćemo u normalno otvorenom načinu rada. Spojite plinski ventil i svjećicu na izlazni priključak prvog i drugog relejnog modula. Obavezno spojite zadnjicu modula releja prikazanu na donjoj slici.

Modul releja

Korak 4: Rad

Srce ovog projekta je ESP32 koji je ploča mikrokontrolera. Ventil za plin i svjećica spojeni su na ESP preko relejnih modula. Ventil za plin u početku je zatvoren. Kada se uključi iz mobilne aplikacije, uključuje se plinski ventil. Isto je i u slučaju svjećice. Može se isključiti ili isključiti putem mobilne aplikacije. Ova svjećica bit će spojena na štednjak gdje se ispušta plin. Ova svjećica zapalit će vatru.

Korak 5: Početak rada s ESP32

Ako prije niste radili na Arduino IDE-u, ne brinite jer je korak po korak za postavljanje Arduino IDE-a prikazan u nastavku.

  1. Preuzmite najnoviju verziju Arduino IDE sa Arduino.
  2. Spojite svoju Arduino ploču s računalom i otvorite upravljačku ploču. Kliknite na Hardver i zvuk. Sada otvoreno Uređaji i pisač i pronađite priključak na koji je spojena vaša ploča. U mom slučaju jest COM14 ali je različito u različitim računalima.

    Pronalaženje luke

  3. Kliknite Datoteka, a zatim Postavke. Kopirajte sljedeću vezu u Dodatni URL upravitelja odbora. “ https://dl.espressif.com/dl/package_esp32_index.json '

    Postavke

  4. Sada, da bismo koristili ESP32 s Arduino IDE-om, moramo uvesti posebne knjižnice koje će nam omogućiti da narežemo kod na ESP32 i koristimo ga. ove su dvije knjižnice u prilogu na donjoj poveznici. Da biste uključili knjižnicu, idite na Skica> Uključi biblioteku> Dodaj ZIP biblioteku . Pojavit će se okvir. Pronađite mapu ZIP na računalu i kliknite U redu da biste uključili mape.

    Uključi biblioteku

  5. Sad idi Skica> Uključi biblioteku> Upravljanje knjižnicama.

    Upravljanje knjižnicama

  6. Otvorit će se izbornik. U traku za pretraživanje upišite Arduino JSON. Pojavit će se popis. Instalirati Arduino JSON Benoita Blanchona.

    Arduino JSON

  7. Sada kliknite na Alati. Pojavit će se padajući izbornik. Postavite ploču na ESP razvojni modul.

    Odbor za postavljanje

  8. Ponovno kliknite izbornik Alat i postavite priključak koji ste prije vidjeli na upravljačkoj ploči.

    Postavka porta

  9. Sada prenesite kôd koji je priložen u donjoj poveznici i kliknite gumb za prijenos da biste spalili kôd na ESP32 mikrokontroleru.

    Učitaj

Dakle, sada kada učitate kôd, može se dogoditi pogreška. Ovo je najčešća pogreška koja se može dogoditi ako koristite novu verziju Arduino IDE-a i Arduino JSON-a. Slijede pogreške koje se mogu vidjeti na ekranu.

U datoteci uključenoj iz C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iz 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 je klasa iz ArduinoJsona 5. Pogledajte arduinojson.org/upgrade da biste saznali kako nadograditi svoj program na ArduinoJson verzija 6 StaticJsonBuffer jsonBuffer; ^ U datoteci uključenoj iz C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iz 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 je klasa iz ArduinoJsona 5. Molimo pogledajte arduinojson.org/upgrade da biste saznali kako nadograditi svoj program na ArduinoJson verzija 6 vraća StaticJsonBuffer (). ParseObject (_data); ^ Pronađeno je više knjižnica za 'WiFi.h' Korišteno: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  WiFi Ne koristi se: C:  Programske datoteke ( x86)  Arduino  libraries  WiFi Korištenje knjižnice WiFi u verziji 1.0 u mapi: C:  Users  Pro  AppData  Local  Arduino15  Packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Korištenje knjižnice IOXhop_FirebaseESP32-master u mapi: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legacy) Korištenje knjižnice HTTPClient verzije 1.2 u mapi: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Korištenje knjižnice WiFiClientSecure u verziji 1.0 u mapi: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Korištenje knjižnice ArduinoJson na verzija 6.12.0 u mapi: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson status izlaza 1 Pogreška pri kompiliranju za modul ESP32 Dev.

Ne treba se brinuti jer te pogreške možemo ukloniti slijedeći nekoliko jednostavnih koraka. Te pogreške nastaju jer nova verzija Arduino JSON-a ima drugu klasu umjesto StaticJsonBuffer. Ovo je klasa JSON 5. Tako da ovu pogrešku možemo jednostavno ukloniti snižavanjem verzije Arduino JSON našeg Arduino IDE-a. Jednostavno idite na Skica> Uključi biblioteku> Upravljanje knjižnicama. Traziti Arduino JSON Benoita Blanchona koje ste već instalirali. Prvo ga deinstalirajte, a zatim postavite njegovu verziju na 5.13.5. Sada kada smo postavili staru verziju Arduino JSON-a, instalirajte je ponovo i ponovno kompajlirajte kôd. Ovaj put, vaš će se kod uspješno sastaviti.

Da biste preuzeli kôd, klik ovdje.

6. korak: kôd

Priloženi kod prilično je dobro komentiran, ali ipak su neki od njegovih dijelova objašnjeni u nastavku.

1. Na početku su uključene dvije knjižnice tako da je omogućen WiFi i da se ESP ploča može povezati s Firebase bazom podataka. Zatim su uključeni firebase domaćin, provjera autentičnosti, naziv vaše lokalne wifi veze i lozinka iste wifi veze. Također definirajte igle na ESP ploči koje će se koristiti za spajanje vanjskih uređaja.

#include // uključuju knjižnica koristiti WiFi #include // uključuju knjižnica za povezivanje Firebase #define FIREBASE_HOST „XXXXXXXXXX” // zamijeniti XXXXXXXXXX vaš firebase domaćina ovdje #define FIREBASE_AUTH „XXXXXXXXXX” // zamijeniti XXXXXXXXXX vaš firebase autentičnosti ovdje # definirajte WIFI_SSID 'xxxxxxxxxx' // zamijenite xxxxxxxxxx imenom naše Wifi veze #define WIFI_PASSWORD 'xxxxxxxxxx' // zamijenite xxxxxxxxxx vašom lozinkom za WiFi #define ventil 34 // spojite plinsku slavinu na ovu pin #define priključite na ovu iglu

2. void postavljanje () je funkcija koja se pokreće samo jednom kada je mikrokontroler uključen ili je pritisnuta tipka za omogućivanje. U ovoj se funkciji postavlja brzina prijenosa, što je u osnovi brzina komunikacije u bitovima u sekundi. Nakon toga, ESP ploča je spojena na Wifi.

void setup () {Serial.begin (115200); // postavljanje brzine prijenosa pinMode (ventil, IZLAZ); // postavljamo pin 34 koji će se koristiti kao IZLAZNI pinMode (iskra, IZLAZ); // postaviti pin 35 koji će se koristiti kao IZLAZ // spojiti na wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('povezivanje'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); kašnjenje (500); } Serial.println (); Serial.print ('povezano:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Petlja praznina () je funkcija koja se ponavlja u petlji. U ovoj se petlji vrijednosti čitaju iz vatrogasne baze i ispituje se da li su nula ili jedna. Ako su vrijednosti jedna, tada se na pin šalje HIGH signal koji će rezultirati uključivanjem modula releja. Ako je vrijednost nula, na pin ESP-a poslat će se signal NIZKOG, što će rezultirati isključivanjem releja.

void loop () {// dobiti vrijednost temp1 = Serial.println (Firebase.getFloat ('light')); // dobivamo vrijednost za prebacivanje plinskog ventila temp2 = Serial.println (Firebase.getFloat ('AC')); // dobiti vrijednost za prebacivanje svjećice if (temp1 == 1) {digitalWrite (ventil, HIGH) // uključiti relej one} else if (temp1 == 0) {digitalWrite (ventil, LOW) // okret isključiti relej jedan} else if (temp2 == 1) {digitalWrite (iskra, VISOKO) // uključiti relej dva} else if (temp2 == 0) {digitalWrite (iskra, LOW) // isključiti relej dva} // rukovanje pogreškom ako (Firebase.failed ()) {Serial.print ('postavka / broj nije uspio:'); Serial.println (Firebase.error ()); povratak; } kašnjenje (1000); }

To je sve za danas. Sada možete napraviti vlastiti pametni štednjak kod kuće. Nastavite provjeravati našu web stranicu za još zanimljivih članaka poput ovih u budućnosti.