Krosnies valdymas išmaniajame telefone naudojant „WiFi“

Šiuolaikiniame pasaulyje apsižvalgę galime pastebėti, kad viskas, kas apima elektroniką, yra tam tikru mastu automatizuota. Namų automatikos sistemos arba išmanieji namai šiais laikais yra labai paplitę. Naudojant šias sistemas, skirtingus buitinius prietaisus galima automatizuoti naudojantis mobiliąja programa. Tačiau daugumoje šių sistemų nėra nieko, kas automatizuotų jūsų dujinę viryklę. Šiame straipsnyje mes sukursime sistemą, kuri leis jums valdyti savo dujinę viryklę naudodamiesi mobiliąja programa. Ši programa bus naudojama atidaryti arba uždaryti dujų vožtuvą nuo pagrindinio vožtuvo ir uždegti žvakę, kad sukeltų ugnį.



Išmanioji viryklė

Kaip automatizuoti dujinę viryklę per savo mobilųjį telefoną?

Dabar, kai žinome projekto santrauką, judėkime pirmyn ir rinkime kitą informaciją, kad galėtume pradėti dirbti. Pirmiausia sudarysime komponentų sąrašą, o tada surinksime visus komponentus, kad būtų sukurta veikianti sistema.



1 žingsnis: surinkti komponentus

Prieš pradėdami bet kokį projektą, jei norime išvengti baimės užstrigti projekto viduryje, turėtume turėti išsamų visų komponentų, kurių mums reikės dirbant projektą, sąrašą. Tai puikus būdas sutaupyti daug laiko ir pastangų. Išsamus visų šiame projekte naudojamų komponentų sąrašas pateiktas žemiau. Visi šie komponentai yra lengvai prieinami rinkoje.



  • ESP32
  • „Arduino“ dujų vožtuvas
  • Šuolių laidai
  • 5V relės modulis
  • 2N2222 NPN tranzistorius
  • 1k omų rezistorius
  • 10k omų rezistorius
  • 5V uždegimo žvakė

2 žingsnis: „Android“ programos kūrimas

Kadangi ketiname valdyti šią viryklę naudodami „Android“ programą, pirmiausia turime ją sukurti. Anksčiau mes sukūrėme keletą „Android“ programos. Anksčiau mes sukūrėme taikymas kurį sudaro tik vienas jame esantis mygtukas. Šis mygtukas naudojamas duomenims siųsti į duomenų bazę. Jei „1“ yra įterptas į duomenų bazę, relė bus įjungta ir jei „0“ į duomenų bazę, relė bus išjungta.



Šioje paraiškoje atliksime nedidelį pakeitimą. Laikydamiesi tos pačios procedūros, kurios buvo laikomasi atlikdami pirmąjį mygtuką ir prijungdami jį prie ugnies pagrindo, padarysime kitą mygtuką, kuris bus prijungtas prie ugnies pagrindo.

Vienas mygtukas bus naudojamas atidaryti ir uždaryti dujų vožtuvą, o antrasis mygtukas bus naudojamas kibirkšties sukūrimui, kuri bus atsakinga už uždegimas .

3 žingsnis: grandinės sudarymas

Kadangi dabar žinome pagrindinį šio projekto esmę, surenkime visus komponentus kartu, kad padarytume galutinę grandinę.



Paimkite duoną ir įdėkite ESP32 plokštė jame. Paimkite tiek tranzistorius, tiek rezistorius ir įdėkite juos į duoną taip, kad tranzistorius būtų galima naudoti kaip įjungtą. Vykdykite toliau pateiktą konfigūraciją, kad perjungdami nepadarytumėte klaidų.

Tranzistorius kaip jungiklis

Aukščiau pateiktame paveikslėlyje prijunkite Vynas uostas prie smeigtukų ESP32 , prijunkite prievadą Vcc prie išorinio 5 V maitinimo šaltinio ir prijunkite Vo prie relės modulio. Pagrindinė priežastis, kodėl tranzistorių naudojame kaip jungiklį, yra ta, kad relei veikti reikia 5 V, tačiau ESP32 gali tiekti tik 3,3 V įtampą. Taigi turime suteikti 5 V išorinę relės dalį.

Dabar mes prijungsime relės modulį prie tranzistorių. Įsitikinkite, kad pirmasis tranzistorius yra prijungtas prie ESP modulio pin34, o antrasis - prie ESP modulio pin35. Abu relės modulius naudosime įprastu režimu. Prijunkite dujų vožtuvą ir žvakę atitinkamai prie pirmojo ir antrojo relės modulio išėjimo gnybto. Įsitikinkite, kad prijungėte relės modulio užpakalį, parodytą žemiau esančiame paveikslėlyje.

Relės modulis

4 žingsnis: darbas

Šio projekto esmė yra ESP32, kuri yra mikrovaldiklio plokštė. Dujų vožtuvas ir žvakė yra prijungti prie ESP per relės modulius. Iš pradžių dujų vožtuvas uždarytas. Kai jis įjungiamas iš mobiliosios programos, įjungiamas dujų vožtuvas. Tas pats ir žvakės atveju. Jį galima išjungti arba išjungti per mobiliąją programą. Ši žvakė bus prijungta prie viryklės, kurioje išsiskiria dujos. Ši žvakė uždegs ugnį.

5 žingsnis: darbo su ESP32 pradžia

Jei anksčiau nedirbote su „Arduino IDE“, nesijaudinkite, nes žingsnis po žingsnio parodomas „Arduino IDE“ nustatymas.

  1. Atsisiųskite naujausią „Arduino IDE“ versiją iš Arduino.
  2. Prijunkite „Arduino“ plokštę prie kompiuterio ir atidarykite Valdymo skydą. Spustelėkite Aparatūra ir garsas. Dabar atidaryta Prietaisai ir spausdintuvas ir suraskite prievadą, prie kurio prijungta jūsų plokštė. Mano atveju taip yra COM14 bet skirtinguose kompiuteriuose yra skirtinga.

    Rasti uostą

  3. Spustelėkite Failas, tada spustelėkite Nuostatos. Nukopijuokite šią nuorodą į Papildomas valdybos valdytojo URL. „ https://dl.espressif.com/dl/package_esp32_index.json '

    Nuostatos

  4. Dabar, norėdami naudoti ESP32 su „Arduino IDE“, turime importuoti specialias bibliotekas, kurios leis mums įrašyti kodą ESP32 ir jį naudoti. šios dvi bibliotekos yra pridėtos žemiau pateiktoje nuorodoje. Norėdami įtraukti biblioteką, eikite Eskizas> Įtraukti biblioteką> Pridėti ZIP biblioteką . Pasirodys langelis. Kompiuteryje raskite aplanką ZIP ir spustelėkite Gerai, jei norite įtraukti aplankus.

    Įtraukti biblioteką

  5. Dabar eik Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas.

    Tvarkyti bibliotekas

  6. Bus atidarytas meniu. Paieškos juostoje įveskite Arduino JSON. Bus parodytas sąrašas. Diegti Benoit Blanchon „Arduino JSON“.

    Arduino JSON

  7. Dabar spustelėkite Įrankiai. Bus parodytas išskleidžiamasis meniu. Nustatykite lentą į ESP „Dev“ modulis.

    Nustatymo lenta

  8. Dar kartą spustelėkite meniu Įrankis ir nustatykite prievadą, kurį anksčiau pastebėjote valdymo skydelyje.

    Uosto nustatymas

  9. Dabar įkelkite kodą, pridėtą žemiau esančioje nuorodoje, ir spustelėkite mygtuką „Įkelti“, kad įrašytumėte kodą ESP32 mikrovaldiklyje.

    Įkelti

Taigi dabar, kai įkelsite kodą, gali įvykti klaida. Tai yra dažniausiai pasitaikanti klaida, kuri gali kilti, jei naudojate naują „Arduino IDE“ ir „Arduino JSON“ versiją. Toliau pateikiamos klaidos, kurias galite pamatyti ekrane.

Į failą, įtrauktą iš C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iš 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 yra „ArduinoJson“ klasė. Norėdami sužinoti, kaip atnaujinti programą į „ArduinoJson“, žr. Arduinojson.org/upgrade. 6 versija „StaticJsonBuffer“ „jsonBuffer“; ^ Į failą, įtrauktą iš C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iš 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 yra „ArduinoJson“ klasė 5. Norėdami sužinoti, kaip atnaujinti programą į, žr. Arduinojson.org/upgrade. „ArduinoJson“ 6 versija pateikia „StaticJsonBuffer“ (). ParseObject (_data); ^ Rasta kelios „WiFi.h“ bibliotekos. Naudota: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Nenaudojama: C:  Program Files ( x86)  Arduino  libraries  WiFi Naudojant bibliotekos „WiFi“ versiją 1.0 versijoje aplanke: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  bibliotekas  WiFi  Naudojant biblioteką IOXhop_FirebaseESP32-master aplanke: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (palikimas) Naudojant bibliotekos HTTPClient 1.2 versiją aplanke: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  bibliotekas  HTTPClient bibliotekos „WiFiClientSecure“ naudojimas naudojant 1.0 versiją aplanke: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFiClientSecure Biblioteka „ArduinoJson“ naudojimas 6.12.0 versija aplanke: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Klaida rengiant plokštės ESP32 „Dev“ modulį.

Nėra ko jaudintis, nes šias klaidas galime pašalinti atlikdami kelis paprastus veiksmus. Šios klaidos kyla dėl to, kad naujojoje „Arduino JSON“ versijoje vietoj klasės yra kita klasė „StaticJsonBuffer“. Tai yra „JSON 5“ klasė. Taigi mes galime paprasčiausiai pašalinti šią klaidą, sumažinę mūsų „Arduino IDE“ versiją „Arduino JSON“. Paprasčiausiai eikite į Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas. Ieškoti Benoit Blanchon „Arduino JSON“ kurį jau įdiegėte. Pirmiausia pašalinkite jį, tada nustatykite jo versiją 5.13.5. Dabar, kai nustatėme seną „Arduino JSON“ versiją, įdiekite ją dar kartą ir sukompiliuokite kodą. Šį kartą jūsų kodas bus sėkmingai sukompiliuotas.

Norėdami atsisiųsti kodą, spustelėkite čia.

6 žingsnis: kodas

Pridedamas kodas yra gana gerai komentuojamas, tačiau kai kurios jo dalys yra paaiškintos žemiau.

1. Pradžioje yra dvi bibliotekos, kad būtų įjungtas „WiFi“ ryšys ir ESP plokštė galėtų būti prijungta prie „Firebase“ duomenų bazės. Tada įtraukiama „Firebase“ kompiuteris, autentifikavimas, vietinio „Wi-Fi“ ryšio pavadinimas ir to paties „WiFi“ ryšio slaptažodis. Taip pat apibrėžkite ESP plokštės kaiščius, kurie bus naudojami išoriniams įrenginiams prijungti.

#include // įtraukti biblioteką, kad būtų galima naudoti „WiFi“ #include // įtraukti biblioteką, kad prisijungtumėte prie „Firebase“ #define FIREBASE_HOST 'xxxxxxxxxx' // pakeiskite xxxxxxxxxx savo „Firebase“ kompiuteriu čia #define FIREBASE_AUTH 'xxxxxxxxxx' // pakeiskite xxxxxxxxxx savo „Firebase“ patvirtinimu čia # apibrėžti WIFI_SSID 'xxxxxxxxxx' // pakeisti xxxxxxxxxx mūsų Wifi jungties pavadinimu #define WIFI_PASSWORD 'xxxxxxxxxx' // pakeisti xxxxxxxxxx savo wifi slaptažodžiu #define valve 34 // prijungti dujų vožtuvą prie šio kaiščio #define spark 35 // prijungti kibirkštį prijunkite prie šio kaiščio

2. negaliojanti sąranka () yra funkcija, veikianti tik vieną kartą, kai įjungiamas mikrovaldiklis arba paspaudžiamas įjungimo mygtukas. Šioje funkcijoje nustatomas duomenų perdavimo greitis, kuris iš esmės yra ryšio greitis bitais per sekundę. Po to ESP plokštė prijungiama prie „Wifi“.

negaliojanti sąranka () {Serial.begin (115200); // nustatyti duomenų perdavimo spartą pinMode (vožtuvas, OUTPUT); // nustatykite kaištį 34, kuris bus naudojamas kaip OUTPUT pinMode (kibirkštis, OUTPUT); // nustatykite kaištį 35, kuris bus naudojamas kaip OUTPUT // prisijungti prie „wifi“. „WiFi.begin“ (WIFI_SSID, WIFI_PASSWORD); Serial.println ('jungiantis'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); vėlavimas (500); } Serial.println (); Serial.print ('prijungtas:'); Serial.println („WiFi.localIP“ ()); „Firebase.begin“ (FIREBASE_HOST, FIREBASE_AUTH); }

3. Tuščia kilpa () yra funkcija, kuri kartojasi cikle. Šioje kilpoje vertės skaitomos iš ugnies bazės ir tiriamos, ar jos yra lygios nuliui arba vienai. Jei reikšmės yra vienos, tada į kaištį siunčiamas HIGH signalas, kuris įjungs relės modulį. Jei vertė lygi nuliui, į ESP kaištį bus išsiųstas LOw signalas, dėl kurio relė bus išjungta.

void loop () {// get value temp1 = Serial.println (Firebase.getFloat ('light')); // gauti dujų vožtuvo temp2 pakeitimo vertę = Serial.println (Firebase.getFloat ('AC')); // gaukite žvakės perjungimo vertę, jei (temp1 == 1) {digitalWrite (vožtuvas, HIGH) // įjunkite vieną relę} kita if (temp1 == 0) {digitalWrite (vožtuvas, LOW) // pasukite išjungti vieną relę} else if (temp2 == 1) {digitalWrite (spark, HIGH) // įjungti dvi reles} else if (temp2 == 0) {digitalWrite (spark, LOW) // išjungti dvi reles} // tvarkyti klaidą, jei (Firebase.failed ()) {Serial.print ('nepavyko nustatyti / numerio:'); „Serial.println“ („Firebase.error“); grįžti; } vėlavimas (1000); }

Tai viskas siandienai. Dabar galite patys pasigaminti savo išmanią viryklę. Ateityje nuolat ieškokite mūsų svetainėje įdomesnių straipsnių.