Pliidi juhtimine nutitelefonist WiFi abil

Kaasaegses maailmas võime ringi vaadates näha, et kõik, mis sisaldab elektroonikat, on mingil määral automatiseeritud. Koduautomaatika süsteemid või nutikad kodud on tänapäeval väga levinud. Neid süsteeme kasutades saab erinevaid kodumasinaid mobiilirakenduse abil automatiseerida. Kuid enamik neist süsteemidest ei sisalda midagi, mis teie gaasipliiti automatiseerib. Selles artiklis töötame välja süsteemi, mis võimaldab teil gaasipliiti juhtida mobiilirakenduse abil. Seda rakendust kasutatakse peaklapi gaasiventiili avamiseks või sulgemiseks ning süüteküünla süütamiseks tule tekitamiseks.



Nutikas pliit

Kuidas gaasipliiti mobiiltelefoni kaudu automatiseerida?

Nüüd, kui teame projekti kokkuvõtet, liigume edasi ja kogume töö alustamiseks erinevat teavet. Kõigepealt koostame komponentide loendi ja seejärel paneme kõik komponendid kokku, et luua toimiv süsteem.



1. samm: komponentide kogumine

Enne kui hakkame enne mis tahes projekti alustamist vältima hirmu projekti keskele kinni jääda, peaks meil olema täielik loetelu kõigist komponentidest, mida vajame projekti kallal töötades. See on suurepärane lähenemine, mis säästab palju aega ja vaeva. Allpool on toodud kõigi selles projektis kasutatud komponentide täielik loetelu. Kõik need komponendid on turul hõlpsasti kättesaadavad.



  • ESP32
  • Arduino gaasiklapp
  • Hüppaja juhtmed
  • 5V relee moodul
  • 2N2222 NPN transistor
  • 1k-oomi takisti
  • 10k-oomi takisti
  • 5V süüteküünal

2. samm: Androidi rakenduse väljatöötamine

Kuna me hakkame seda pliiti androidrakenduse abil juhtima, peame selle kõigepealt välja töötama. Varem oleme välja töötanud mitu androidrakendused. Varem oleme teinud rakendus mis koosneb ainult ühest nupust selles. Seda nuppu kasutatakse andmete andmebaasi saatmiseks. Kui '1' on andmebaasi sisestatud, lülitatakse relee sisse ja kui '0' on andmebaasi sisestatud, lülitatakse relee välja.



Teeme selles taotluses väikese muudatuse. Järgides sama protseduuri, mida järgiti esimese nupu tegemisel ja selle ühendamisel tuletõrjebaasiga, teeme veel ühe nupu, mis ühendatakse tulebaasiga.

Ühte nuppu kasutatakse gaasiklapi avamiseks ja sulgemiseks ning teist nuppu kasutatakse sädeme tekitamiseks, mis vastutab süüde .

3. samm: vooluringi tegemine

Kuna me teame nüüd selle projekti peamist tuuma, siis paneme kõik komponendid kokku, et teha lõplik vooluring.



Võtke leivaplaat ja sisestage ESP32 plaat selles. Võtke nii transistorid kui ka takistid ja sisestage need leivaplaadile nii, et transistorit saaks kasutada lülitina. Järgige allolevat konfiguratsiooni, et lülitit tehes ei tekiks vigu.

Transistor lülitina

Ülaloleval joonisel ühendage Vein sadama tihvtidele ESP32 , ühendage port Vcc välise 5V toiteallikaga ja ühendage Vo releemooduliga. Peamine põhjus, miks kasutame transistorit lülitina, on see, et relee vajab töötamiseks 5 V, kuid ESP32 suudab toita ainult 3,3 V. Seega peame andma releele välise 5 V pinge.

Nüüd ühendame relee mooduli transistoridega. Veenduge, et esimene transistor oleks ühendatud ESP mooduli pin34-ga ja teine ​​transistor oleks ühendatud ESP-mooduli pin35-ga. Mõlemat relee moodulit kasutame tavapärases avatud režiimis. Ühendage gaasiklapp ja süüteküünal vastavalt esimese ja teise relee mooduli väljundklemmiga. Ühendage alloleval pildil näidatud relee mooduli tagumik.

Relee moodul

4. samm: töötamine

Selle projekti südameks on ESP32, mis on mikrokontrolleri plaat. ESP-ga on relee moodulite kaudu ühendatud gaasiventiil ja süüteküünal. Gaasiventiil on esialgu suletud. Kui see mobiilirakendusest sisse lülitatakse, lülitatakse gaasiklapp sisse. Sama süüteküünla puhul. Seda saab mobiilirakenduse kaudu sisse või välja lülitada. See süüteküünal ühendatakse pliidiga, kus gaas vabaneb. See süüteküünal süütab tule.

5. samm: ESP32-ga alustamine

Kui te pole Arduino IDE-ga varem töötanud, ärge muretsege, sest allpool on toodud samm-sammult Arduino IDE seadistamine.

  1. Laadige alla Arduino IDE uusim versioon saidilt Arduino.
  2. Ühendage oma Arduino tahvel arvutiga ja avage juhtpaneel. Kliki Riistvara ja heli. Nüüd avatud Seadmed ja printer ja leidke port, millega teie laud on ühendatud. Minu puhul on see nii KOM14 kuid see on erinevates arvutites erinev.

    Sadama leidmine

  3. Klõpsake File ja seejärel Preferences. Kopeerige järgmine link saidile Täiendav juhihalduri URL. ' https://dl.espressif.com/dl/package_esp32_index.json '

    Eelistused

  4. Nüüd, et kasutada ESP32 koos Arduino IDE-ga, peame importima spetsiaalsed teegid, mis võimaldavad meil koodi ESP32-l kirjutada ja seda kasutada. need kaks teeki on lisatud allpool toodud lingile. Raamatukogu kaasamiseks minge Visand> Kaasa teek> Lisa ZIP-kogu . Ilmub kast. Leidke oma arvutis ZIP-kaust ja klõpsake kaustade kaasamiseks nuppu OK.

    Kaasa teek

  5. Nüüd mine Visand> Kaasa teek> Halda raamatukogusid.

    Raamatukogude haldamine

  6. Avaneb menüü. Tippige otsinguribale Arduino JSON. Ilmub loend. Installige Aroitino JSON, autor Benoit Blanchon.

    Arduino JSON

  7. Nüüd klõpsake nuppu Tööriistad. Ilmub rippmenüü. Pange tahvel asendisse ESP Dev moodul.

    Laua määramine

  8. Klõpsake uuesti menüül Tööriist ja määrake port, mida jälgisite juhtpaneelil varem.

    Pordi seadistamine

  9. Nüüd laadige üles kood, mis on lisatud allolevale lingile, ja klõpsake ESP32 mikrokontrolleris koodi põletamiseks nuppu üleslaadimine.

    Laadi üles

Nii et nüüd koodi üleslaadimisel võib ilmneda tõrge. See on kõige levinum viga, mis võib ilmneda, kui kasutate Arduino IDE ja Arduino JSON uut versiooni. Järgnevad vead, mida võite ekraanil näha.

Failis, mis sisaldub kataloogis C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, failist 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 on ArduinoJson'i klass. Palun lugege arduinojson.org/upgrade, et õppida, kuidas oma programmi ArduinoJsonile uuendada. versioon 6 StaticJsonBuffer jsonBuffer; ^ Failis, mis sisaldub kataloogis C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, failist C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: tõrge: StaticJsonBuffer on klass ArduinoJsonist 5. Programmi täiendamiseks õppige saidilt arduinojson.org/upgrade. ArduinoJsoni versioon 6 tagastab StaticJsonBuffer (). ParseObject (_data); ^ 'WiFi.h' jaoks leiti mitu kogu x86)  Arduino  libraries  WiFi Kasutades teegi WiFi versiooni 1.0 kaustas: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  librarys  WiFi  Kasutades teeki IOXhop_FirebaseESP32-master kaustas: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (pärand) Teegi HTTPClienti kasutamine versioonis 1.2 kaustas: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  teekid  HTTPClient teegi WiFiClientSecure kasutamine versiooni 1.0 kaustas: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  librarys  WiFiClientSecure Teegi ArduinoJson kasutamine aadressil Versioon 6.12.0 kaustas: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Viga pardal ESP32 Dev mooduli koostamisel.

Muretsemiseks pole midagi, sest me saame need vead kõrvaldada, järgides mõningaid lihtsaid samme. Need vead ilmnevad seetõttu, et Arduino JSONi uues versioonis on teise klassi asemel StaticJsonBuffer. See on JSON 5 klass. Nii et saame selle vea lihtsalt kõrvaldada, alandades meie Arduino IDE Arduino JSON-i versiooni. Lihtsalt minge Visand> Kaasa teek> Halda raamatukogusid. Otsima Aroitino JSON, autor Benoit Blanchon mille olete varem installinud. Kõigepealt desinstallige see ja määrake seejärel selle versiooniks 5.13.5. Nüüd, kui oleme Arduino JSONi vana versiooni seadistanud, installige see uuesti ja kompileerige kood uuesti. Seekord kompileeritakse teie kood edukalt.

Koodi allalaadimiseks klõpsake siin.

6. samm: kood

Lisatud kood on üsna hästi kommenteeritud, kuid siiski on selle mõnda osa selgitatud allpool.

1. Alguses on kaasas kaks teeki, nii et WiFi on lubatud ja ESP-plaadi saab ühendada firebase'i andmebaasiga. Seejärel lisatakse firebase'i host, autentimine, teie kohaliku wifi-ühenduse nimi ja sama wifi-ühenduse parool. Samuti määrake ESP-plaadil olevad tihvtid, mida kasutatakse väliste seadmete ühendamiseks.

#include // kaasake WiFi WiFi kasutamiseks define WIFI_SSID 'xxxxxxxxxx' // asendage xxxxxxxxxx meie WiFi-ühenduse nimega #define WIFI_PASSWORD 'xxxxxxxxxx' // asendage xxxxxxxxxx oma wifi parooliga #define valve 34 // ühendage gaasiklapp selle tihvtiga #define säde 35 // ühendage säde ühendage see tihvt

2. kehtetu seadistamine () on funktsioon, mis töötab ainult üks kord, kui mikrokontroller on sisse lülitatud või lubamisnuppu vajutatakse. Selles funktsioonis on seatud baudikiirus, mis on põhimõtteliselt sidekiirus bitti sekundis. Pärast seda ühendatakse ESP-plaat Wifi-ga.

void setup () {Serial.begin (115200); // määra edastuskiirus pinMode (valve, OUTPUT); // seadistage tihvt 34 kasutamiseks OUTPUT pinMode (säde, OUTPUT); // seadistage tihvt 35 kasutamiseks väljundina // ühendage wifi-ga. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('ühendamine'); while (WiFi.staatus ()! = WL_CONNECTED) {Seeriaprint ('.'); viivitus (500); } Serial.println (); Serial.print ('ühendatud:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Tühine silmus () on funktsioon, mis töötab korduvalt silmusena. Selles tsüklis loetakse väärtusi tulebaasist ja uuritakse, kas need on null või üks. Kui väärtused on ühed, siis saadetakse tihvtile HIGH signaal, mille tulemusel lülitatakse relee moodul sisse. Kui väärtus on null, saadetakse ESP kontaktile LOw signaal, mille tulemusel lülitatakse relee välja.

void loop () {// get value temp1 = Serial.println (Firebase.getFloat ('light')); // saada gaasiklapi temp2 muutmise väärtus = Serial.println (Firebase.getFloat ('AC')); // hankige süüteküünla vahetamise väärtus, kui (temp1 == 1) {digitalWrite (valve, HIGH) // lülitage relee sisse} else if if (temp1 == 0) {digitalWrite (valve, LOW) // turn välja relee üks} muu if (temp2 == 1) {digitalWrite (säde, KÕRGUS) // lülitage relee sisse kaks} muu if (temp2 == 0) {digitalWrite (säde, LOW) // lülitage relee kaks välja käsitsemisviga, kui (Firebase.failed ()) {Serial.print ('seadistamine / number ebaõnnestus:'); Serial.println (Firebase.error ()); tagasi; } viivitus (1000); }

See on tänaseks kõik. Nüüd saate kodus ise oma nutipliidi valmistada. Vaadake edaspidi meie saidilt selliseid huvitavaid artikleid.