Ovládanie kachlí zo smartphonu pomocou WiFi

Ak sa v modernom svete pozrieme okolo seba, uvidíme, že všetko, čo obsahuje elektroniku, je do istej miery automatizované. Domáce automatizačné systémy alebo inteligentné domácnosti sú v dnešnej dobe veľmi bežné. Použitím týchto systémov je možné automatizovať rôzne domáce spotrebiče pomocou mobilnej aplikácie. Ale väčšina z týchto systémov neobsahuje nič, čo by automatizovalo váš plynový sporák. V tomto článku sa chystáme vyvinúť systém, ktorý vám umožní ovládať váš plynový sporák pomocou mobilnej aplikácie. Táto aplikácia sa použije na otvorenie alebo zatvorenie plynového ventilu z hlavného ventilu a na zapálenie zapaľovacej sviečky na vytvorenie ohňa.



Inteligentný sporák

Ako automatizovať plynové sporáky cez váš mobil?

Teraz, keď už vieme abstrakt projektu, posuňme sa dopredu a získajme rôzne informácie, aby sme mohli začať pracovať. Najskôr vytvoríme zoznam komponentov a potom všetky komponenty spojíme, aby sme vytvorili funkčný systém.



Krok 1: Zhromaždenie komponentov

Ak sa chcete pred začiatkom akéhokoľvek projektu vyhnúť strachu z uviaznutia uprostred projektu, mali by sme mať kompletný zoznam všetkých komponentov, ktoré budeme pri práci na projekte potrebovať. Jedná sa o vynikajúci prístup, ktorý šetrí veľa času a úsilia. Kompletný zoznam všetkých komponentov použitých v tomto projekte je uvedený nižšie. Všetky tieto komponenty sú na trhu ľahko dostupné.



  • ESP32
  • Plynový ventil pre Arduino
  • Prepojovacie drôty
  • 5V reléový modul
  • Tranzistor 2N2222 NPN
  • 1k-ohmový rezistor
  • 10k-ohmový rezistor
  • 5V zapaľovacia sviečka

Krok 2: Vývoj aplikácie pre Android

Pretože budeme tieto kachle ovládať pomocou aplikácie pre Android, musíme ju najskôr vyvinúť. Predtým sme vyvinuli niekoľko aplikácie pre Android. Predtým sme vyrobili žiadosť ktorý sa skladá iba z jedného tlačidla. Toto tlačidlo sa používa na zasielanie údajov do databázy. Ak „1“ je vložený do databázy, relé sa zapne a ak „0“ je vložený do databázy, relé sa vypne.



V tejto žiadosti urobíme malý pozmeňujúci a doplňujúci návrh. Podľa rovnakého postupu, ktorý bol dodržaný pri výrobe prvého tlačidla a jeho pripojenia k firebase, vyrobíme ďalšie tlačidlo, ktoré bude pripojené k firebase.

Jedno tlačidlo slúži na otvorenie a zatvorenie plynového ventilu a druhé tlačidlo slúži na vytvorenie iskry, ktorá bude zodpovedná za zapaľovanie .

Krok 3: Výroba obvodu

Ako teraz poznáme podstatu tohto projektu, poskladajme všetky komponenty dohromady, aby sme vytvorili posledný okruh.



Vezmite dosku a vložte do nej Doska ESP32 v tom. Vezmite tranzistory aj rezistory a vložte ich do kontaktného poľa tak, aby bolo možné tranzistor použiť ako spínaný. Postupujte podľa nižšie uvedenej konfigurácie, aby ste pri prechode neurobili chybu.

Tranzistor ako prepínač

Na vyššie uvedenom obrázku pripojte Víno prístav k kolíkom ESP32 , pripojte port Vcc k externému zdroju 5V a pripojte Vo k reléovému modulu. Hlavným dôvodom, ktorý používame tranzistor ako prepínač, je to, že relé potrebuje na svoju činnosť 5 V, ale ESP32 môže poskytnúť iba 3,3 V. Musíme teda poskytnúť 5V externe k relé.

Teraz pripojíme reléový modul k tranzistorom. Uistite sa, že prvý tranzistor je pripojený k vývodu 34 modulu ESP a druhý tranzistor je pripojený k vývodu 35 modulu ESP. Oba reléové moduly použijeme v normálne otvorenom režime. Pripojte plynový ventil a sviečku k výstupnej svorke prvého a druhého reléového modulu. Uistite sa, že ste pripojili reléový modul podľa obrázka nižšie.

Reléový modul

Krok 4: Práca

Srdcom tohto projektu je ESP32, čo je doska mikrokontroléra. Plynový ventil a sviečka sú pripojené k ESP prostredníctvom reléových modulov. Plynový ventil je spočiatku zatvorený. Po zapnutí z mobilnej aplikácie sa zapne plynový ventil. To isté platí pre sviečku. Dá sa vypnúť alebo vypnúť prostredníctvom mobilnej aplikácie. Táto sviečka bude pripojená k kachliam, kde sa uvoľňuje plyn. Táto sviečka zapáli oheň.

Krok 5: Začíname s ESP32

Ak ste na Arduino IDE predtým nepracovali, nemusíte sa obávať, pretože nižšie je uvedený postup nastavenia Arduino IDE.

  1. Stiahnite si najnovšiu verziu Arduino IDE z Arduino.
  2. Pripojte dosku Arduino k počítaču a otvorte ovládací panel. Kliknite na Hardvér a zvuk. Teraz otvorené Zariadenia a tlačiareň a nájdite port, ku ktorému je pripojená vaša doska. V mojom prípade to tak je COM14 ale v rôznych počítačoch je to iné.

    Hľadá sa prístav

  3. Kliknite na Súbor a potom na Predvoľby. Skopírujte nasledujúci odkaz do priečinka URL dodatočného správcu rady. „ https://dl.espressif.com/dl/package_esp32_index.json '

    Predvoľby

  4. Teraz, aby sme mohli používať ESP32 s Arduino IDE, musíme importovať špeciálne knižnice, ktoré nám umožnia napáliť kód na ESP32 a použiť ho. tieto dve knižnice sú pripojené k odkazu uvedenému nižšie. Zahrnúť knižnicu, choďte Skica> Zahrnúť knižnicu> Pridať knižnicu ZIP . Zobrazí sa rámček. Vyhľadajte priečinok ZIP v počítači a kliknutím na tlačidlo OK tieto priečinky zahrňte.

    Zahrnúť knižnicu

  5. Teraz choď Skica> Zahrnúť knižnicu> Správa knižníc.

    Spravovať knižnice

  6. Otvorí sa ponuka. Do vyhľadávacieho panela zadajte text Arduino JSON. Zobrazí sa zoznam. Inštalácia Arduino JSON od Benoita Blanchona.

    Arduino JSON

  7. Teraz kliknite na ikonu Náradie. Zobrazí sa rozbaľovacia ponuka. Nastaviť dosku na Modul ESP Dev.

    Nastavovacia doska

  8. Znova kliknite na ponuku Nástroj a nastavte port, ktorý ste predtým sledovali na ovládacom paneli.

    Nastavenie portu

  9. Teraz nahrajte kód, ktorý je uvedený v nasledujúcom odkaze, a kliknutím na tlačidlo nahrávania vypálte kód na mikrokontrolér ESP32.

    Nahrať

Takže teraz, keď budete nahrávať kód, môže dôjsť k chybe. Toto je najbežnejšia chyba, ktorá sa môže vyskytnúť, ak používate novú verziu Arduino IDE a Arduino JSON. Nasledujú chyby, ktoré sa môžu zobraziť na obrazovke.

V súbore zahrnutom z C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, z C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C :  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14:11: chyba: StaticJsonBuffer je trieda z ArduinoJson 5. Informácie o tom, ako upgradovať program na ArduinoJson, nájdete na arduinojson.org/upgrade. verzia 6 StaticJsonBuffer jsonBuffer; ^ V súbore zahrnutom z C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, z C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: chyba: StaticJsonBuffer je trieda od ArduinoJson 5. Informácie o tom, ako upgradovať program na, nájdete na arduinojson.org/upgrade ArduinoJson verzia 6 vráti StaticJsonBuffer (). ParseObject (_data); ^ Pre 'WiFi.h' bolo nájdených viac knižníc Použité: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Nepoužíva sa: C:  Program Files ( x86)  Arduino  libraries  WiFi Používanie knižnice WiFi vo verzii 1.0 v priečinku: C: Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Používanie knižnice IOXhop_FirebaseESP32-master v priečinku: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legacy) Používanie knižnice HTTPClient vo verzii 1.2 v priečinku: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Používanie knižnice WiFiClientSecure vo verzii 1.0 v priečinku: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Používanie knižnice ArduinoJson na adrese verzia 6.12.0 v priečinku: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson stav ukončenia 1 Chyba kompilácie pre modul ESP32 Dev Module.

Niet sa čoho obávať, pretože tieto chyby môžeme eliminovať vykonaním niekoľkých jednoduchých krokov. Tieto chyby vznikajú, pretože nová verzia Arduino JSON má namiesto nej inú triedu StaticJsonBuffer. Toto je trieda JSON 5. Takže túto chybu môžeme jednoducho eliminovať znížením verzie Arduino JSON nášho Arduino IDE. Jednoducho choďte na Skica> Zahrnúť knižnicu> Správa knižníc. Hľadať Arduino JSON od Benoita Blanchona ktoré ste predtým nainštalovali. Najskôr ho odinštalujte a potom nastavte jeho verziu na 5.13.5. Teraz, keď sme nastavili starú verziu Arduino JSON, znova ju nainštalujte a kód znova skompilujte. Váš kód sa tentokrát úspešne skompiluje.

Ak chcete stiahnuť kód, kliknite tu.

Krok 6: Kód

Priložený kód je veľmi dobre komentovaný, ale napriek tomu sú niektoré jeho časti vysvetlené nižšie.

1. Na začiatku sú zahrnuté dve knižnice, takže je povolené WiFi a doska ESP sa dá pripojiť k databáze firebase. Potom je zahrnutý hostiteľ firebase, autentifikácia, názov vášho lokálneho wifi pripojenia a heslo rovnakého wifi pripojenia. Taktiež definujte kolíky na doske ESP, ktoré sa použijú na pripojenie externých zariadení.

#include // include library to use WiFi #include // include library to connect to Firebase #define FIREBASE_HOST 'xxxxxxxxxx' // nahraďte xxxxxxxxxx hostiteľom firebase tu #define FIREBASE_AUTH 'xxxxxxxxxx' // nahraďte xxxxxxxxxx vašou autentifikáciou firebase tu # definujte WIFI_SSID 'xxxxxxxxxx' // nahraďte xxxxxxxxxx názvom nášho Wifi pripojenia # define WIFI_PASSWORD 'xxxxxxxxxx' // nahraďte xxxxxxxxxx vašim wifi heslom # define ventil 34 // pripojte plynový ventil na tento pin #define spark 35 // pripojte iskru pripojte k tomuto kolíku

2. nastavenie neplatnosti () je funkcia, ktorá sa spustí iba raz, keď je mikrokontrolér zapnutý alebo je stlačené tlačidlo aktivácie. V tejto funkcii sa nastavuje prenosová rýchlosť, čo je v podstate komunikačná rýchlosť v bitoch za sekundu. Potom je doska ESP pripojená k sieti Wifi.

void setup () {Serial.begin (115200); // nastavenie baudovej rýchlosti pinMode (ventil, VÝSTUP); // nastaví pin 34 na použitie ako VÝSTUP pinMode (spark, OUTPUT); // nastaví pin 35 na použitie ako VÝSTUP // pripojenie na wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println („pripája sa“); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); oneskorenie (500); } Serial.println (); Serial.print ('pripojený:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Neplatná slučka () je funkcia, ktorá beží opakovane v slučke. V tejto slučke sa hodnoty čítajú z firebase a skúma sa, či sú nulové alebo jedna. Ak sú hodnoty jedna, potom sa na pin pošle signál HIGH, čo povedie k zapnutiu reléového modulu. Ak je hodnota nula, na kolík ESP sa odošle signál LOw, ktorý spôsobí vypnutie relé.

void loop () {// získať hodnotu temp1 = Serial.println (Firebase.getFloat ('light'))); // získať hodnotu pre switcching plynového ventilu temp2 = Serial.println (Firebase.getFloat ('AC')); // získajte rezervu na zapaľovanie sviečky if (temp1 == 1) {digitalWrite (ventil, VYSOKÝ) // zapnúť relé jedno} else if (temp1 == 0) {digitalWrite (ventil, LOW) // otočiť vypnuté relé jedno} else if (temp2 == 1) {digitalWrite (iskra, VYSOKÉ) // zapnúť relé dve} else if (temp2 == 0) {digitalWrite (iskra, LOW) // vypnúť dve relé} // chyba pri spracovaní if (Firebase.failed ()) {Serial.print ('setting / number failed:'); Serial.println (Firebase.error ()); návrat; } oneskorenie (1 000); }

To je na dnes všetko. Teraz si môžete vytvoriť svoj vlastný inteligentný sporák doma. V budúcnosti pokračujte v sledovaní ďalších zaujímavých článkov, ako sú tieto, na našej stránke.