Kályha vezérlése okostelefonjáról a WiFi használatával

A modern világban, ha körülnézünk, láthatjuk, hogy minden, ami magában foglalja az elektronikát, bizonyos mértékben automatizált. Az otthoni automatizálási rendszerek vagy az intelligens otthonok manapság nagyon elterjedtek. Ezen rendszerek használatával a különféle háztartási készülékek automatizálhatók egy mobil alkalmazás segítségével. De a legtöbb ilyen rendszer nem tartalmaz semmit, amely automatizálja a gáztűzhelyet. Ebben a cikkben olyan rendszert fogunk kifejleszteni, amely lehetővé teszi a gáztűzhely vezérlését egy mobil alkalmazás segítségével. Ezt az alkalmazást a gázszelep kinyitására vagy bezárására használják a főszelepről, valamint a gyújtógyertya meggyújtására a tűz felépítéséhez.



Intelligens tűzhely

Hogyan automatizálhatjuk a gáztűzhelyet a mobilon keresztül?

Most, hogy ismerjük a projekt absztraktját, lépjünk előre, és gyűjtsünk különböző információkat a munka megkezdéséhez. Először összeállítjuk az alkatrészek listáját, majd összeállítjuk az összes alkatrészt, hogy működőképes rendszer legyen.



1. lépés: Az összetevők összegyűjtése

Bármely projekt megkezdése előtt, ha el akarjuk kerülni a félelem elakadását a projekt közepén, rendelkeznünk kell egy teljes listával az összes összetevőről, amelyre szükségünk lesz a projekt során. Ez egy kiváló megközelítés, amely sok időt és energiát takarít meg. A projektben használt összes összetevő teljes listáját az alábbiakban adjuk meg. Mindezek az alkatrészek könnyen elérhetők a piacon.



  • ESP32
  • Gázszelep az Arduino számára
  • Jumper huzalok
  • 5V relé modul
  • 2N2222 NPN tranzisztor
  • 1k ohmos ellenállás
  • 10k ohmos ellenállás
  • 5V gyújtógyertya

2. lépés: Android-alkalmazás fejlesztése

Mivel ezt a kályhát egy androidos alkalmazás segítségével fogjuk irányítani, előbb fejlesztenünk kell. Korábban többet fejlesztettünk android alkalmazások. Korábban készítettünk egy Alkalmazás amely csak egy gombból áll benne. Ezzel a gombbal lehet adatokat elküldeni az adatbázisba. Ha „1” beillesztésre kerül az adatbázisba, a relé bekapcsol és ha „0” bekerül az adatbázisba, a relé kikapcsol.



Egy kis módosítást fogunk tenni ebben az alkalmazásban. Ugyanazt az eljárást követve, amelyet az első gomb elkészítéséhez és a tűzesethez történő csatlakoztatásához követtek, egy másik gombot készítünk, amelyet a tűzalaphoz fogunk kötni.

Az egyik gombbal nyitják és zárják a gázszelepet, a második gombbal pedig szikrát hoznak létre, amely felelős lesz a gyújtás .

3. lépés: Az áramkör elkészítése

Mivel már ismerjük ennek a projektnek a fő lényegét, állítsuk össze az összes alkatrészt egy végső áramkör kialakításához.



Vegyünk egy kenyérlapot, és helyezzük be ESP32 kártya benne. Vegye mind a tranzisztort, mind az ellenállást, és helyezze be őket a kenyérlapba úgy, hogy a tranzisztort kapcsolóként lehessen használni. Kövesse az alábbi konfigurációt, hogy a váltás során ne hibázzon.

Tranzisztor, mint kapcsoló

A fenti ábrán csatlakoztassa a Bor kikötő a csapokhoz ESP32 , csatlakoztassa a Vcc portot a külső 5V-os tápfeszültséghez, és csatlakoztassa a Vo-t a relé modulhoz. A tranzisztort kapcsolóként használó fő ok az, hogy egy relének 5 V-ra van szüksége a működéséhez, de az ESP32 csak 3,3 V-ot tud szolgáltatni. Tehát 5 V-ot kell biztosítanunk a relén kívül.

Most összekapcsoljuk a relé modult a tranzisztorokkal. Győződjön meg arról, hogy az első tranzisztor az ESP modul pin34-hez, a második tranzisztor pedig az ESP modul pin35-hez csatlakozik. Mindkét relé modult normál nyitott módban fogjuk használni. Csatlakoztassa a gázszelepet és a gyújtógyertyát az első és a második relemodul kimeneti csatlakozójához. Győződjön meg róla, hogy csatlakoztatta az alábbi képen látható relé modul szamarat.

Relé modul

4. lépés: Munka

A projekt lényege az ESP32, amely a mikrovezérlő panel. Az ESP-hez relés modulokon keresztül gázszelep és gyújtógyertya csatlakozik. A gázszelep eleinte zárva van. Amikor a mobil alkalmazásból be van kapcsolva, a gázszelep bekapcsol. Ugyanez a gyújtógyertya esetében is. A mobilalkalmazáson keresztül ki- és bekapcsolható. Ez a gyújtógyertya csatlakozik a tűzhelyhez, ahol a gáz felszabadul. Ez a gyújtógyertya meggyújtja a tüzet.

5. lépés: Az ESP32 használatának megkezdése

Ha korábban nem dolgozott az Arduino IDE-n, ne aggódjon, mert az Arduino IDE beállításának lépésről lépésre alább látható.

  1. Töltse le az Arduino IDE legújabb verzióját innen: Arduino.
  2. Csatlakoztassa Arduino kártyáját a számítógéphez, és nyissa meg a Vezérlőpultot. Kattintson Hardver és hang. Most nyitva Eszközök és nyomtató és keresse meg azt a portot, amelyhez a táblája csatlakozik. Az én esetemben az COM14 de a különböző számítógépeken más.

    Port keresése

  3. Kattintson a Fájl, majd a Beállítások elemre. Másolja a következő linket a A Board Manager további URL-je. „ https://dl.espressif.com/dl/package_esp32_index.json '

    preferenciák

  4. Az ESP32 és az Arduino IDE együttes használatához speciális könyvtárakat kell importálnunk, amelyek lehetővé teszik számunkra, hogy kódot írjunk az ESP32-re és használjuk. ez a két könyvtár az alábbi linken található. A könyvtár felvételéhez lépjen tovább Vázlat> Könyvtár hozzáadása> ZIP-könyvtár hozzáadása . Megjelenik egy doboz. Keresse meg a ZIP mappát a számítógépén, és kattintson az OK gombra a mappák felvételéhez.

    Könyvtár beillesztése

  5. Most menj Vázlat> Könyvtár hozzáadása> Könyvtárak kezelése.

    Könyvtárak kezelése

  6. Megnyílik egy menü. Írja be a keresősávba Arduino JSON. Megjelenik egy lista. Telepítés Aroitino JSON Benoit Blanchon.

    Arduino JSON

  7. Most kattintson a gombra Eszközök. Megjelenik egy legördülő menü. Állítsa a táblát ESP Dev modul.

    Tábla beállítása

  8. Kattintson ismét az Eszköz menüre, és állítsa be azt a portot, amelyet korábban a kezelőpanelen észlelt.

    Port beállítása

  9. Most töltse fel az alábbi linken csatolt kódot, és kattintson a feltöltés gombra, hogy megírja a kódot az ESP32 mikrokontrolleren.

    Feltöltés

Tehát most, amikor feltölti a kódot, hiba léphet fel. Ez a leggyakoribb hiba, amely az Arduino IDE és az Arduino JSON új verziójának használata esetén fordulhat elő. Az alábbiakban láthatja azokat a hibákat, amelyeket a képernyőn láthat.

A C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0 fájlból: 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 egy osztály az ArduinoJson 5-ből. Kérjük, olvassa el az arduinojson.org/upgrade webhelyet, hogy megtudja, hogyan frissítheti programját ArduinoJson-ra. 6. verzió StaticJsonBuffer jsonBuffer; ^ A C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0 fájlból: C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: hiba: A StaticJsonBuffer egy osztály az ArduinoJson 5-ből. Kérjük, olvassa el az arduinojson.org/upgrade webhelyet, ahol megtudhatja, hogyan frissítse a programot Az ArduinoJson 6. verziója visszaadja a StaticJsonBuffer (). ParseObject (_data); ^ Több könyvtár található a „WiFi.h” fájlhoz. Használt: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Nem használt: C:  Program Files ( x86)  Arduino  libraries  WiFi A WiFi könyvtár használata az 1.0 verziójú mappában: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  libraries  WiFi Az IOXhop_FirebaseESP32-master könyvtár használata a mappában: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (örökölt) A HTTPClient könyvtár használata az 1.2-es verzióban a mappában: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  libraries  HTTPClient A WiFiClientSecure könyvtár használata az 1.0 verzióban a mappában: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFiClientSecure ArduinoJson könyvtár használata 6.12.0 verzió a mappában: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Hiba fordításkor az ESP32 Dev modul fórumához.

Nincs miért aggódni, mert ezeket a hibákat néhány egyszerű lépésben kiküszöbölhetjük. Ezek a hibák azért merülnek fel, mert az Arduino JSON új verziója helyett egy másik osztály van StaticJsonBuffer. Ez a JSON 5 osztálya. Tehát egyszerűen kiküszöbölhetjük ezt a hibát az Arduino IDE-s Arduino JSON verziójának leminősítésével. Egyszerűen menjen a Vázlat> Könyvtár hozzáadása> Könyvtárak kezelése. Keressen Aroitino JSON Benoit Blanchon amelyet korábban telepített. Először távolítsa el, majd állítsa a verzióját 5.13.5. Miután beállítottuk az Arduino JSON régi verzióját, telepítse újra és fordítsa újra a kódot. Ezúttal a kód fordítása sikeres lesz.

A kód letöltéséhez kattintson itt.

6. lépés: Kód

A mellékelt kód elég jól meg van kommentálva, de egyes részeit az alábbiakban ismertetjük.

1. Kezdetben két könyvtár szerepel benne, hogy a WiFi engedélyezve legyen, és az ESP kártya csatlakoztatható legyen a firebase adatbázishoz. Ezután tartalmazza a firebase hostot, a hitelesítést, a helyi wifi kapcsolat nevét és ugyanazon wifi kapcsolat jelszavát. Ezenkívül határozza meg azokat a csapokat az ESP kártyán, amelyeket a külső eszközök csatlakoztatásához használnak.

#include // a könyvtár használata a WiFi használatához #include // a könyvtár beillesztése a Firebase-hez való csatlakozáshoz #define FIREBASE_HOST 'xxxxxxxxxx' // az xxxxxxxxxx cseréje a firebase hostoddal itt definiálja a WIFI_SSID 'xxxxxxxxxx' // helyettesítse az xxxxxxxxxx nevet a Wifi kapcsolatunkra #define WIFI_PASSWORD 'xxxxxxxxxx' // cserélje le az xxxxxxxxxx-et a wifi jelszavával #define szelep 34 // csatlakoztassa a gázszelepet ehhez a csaphoz #define szikra 35 // csatlakoztassa a szikrát csatlakoztassa ehhez a csaphoz

2. void setup () olyan funkció, amely csak egyszer működik, amikor a mikrovezérlő be van kapcsolva, vagy az engedélyező gombot megnyomják. Ebben a funkcióban az adatátviteli sebességet állítják be, amely alapvetően a kommunikációs sebesség bit / másodperc. Ezt követően az ESP kártya csatlakozik a Wifi-hez.

void setup () {Soros.kezdés (115200); // átviteli sebesség beállítása pinMode (szelep, OUTPUT); // állítsa be a 34. csapot OUTPUT-ként használni pinMode (szikra, OUTPUT); // állítsa be a 35-ös tűt, hogy OUTPUT-ként használhassa // csatlakozás a wifi-hez. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('összekötő'); while (WiFi.status ()! = WL_CONNECTED) {Soros.nyomtatás ('.'); késés (500); } Soros.println (); Soros.nyomtatás ('csatlakoztatva:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Üres hurok () a ciklusban ismételten futó funkció. Ebben a körben az értékeket olvassák le a tűzalapról, és megvizsgálják, hogy ha nulla vagy egy. Ha az értékek egyek, akkor egy HIGH jelet küld a csapnak, amely a relé modul bekapcsolását eredményezi. Ha az érték nulla, LOw jelet küld az ESP csapjára, ami a relé kikapcsolását eredményezi.

void loop () {// get temp temp = Serial.println (Firebase.getFloat ('light')); // megkapjuk az értéket a gázszelep temp2 = Serial.println (Firebase.getFloat ('AC')) megváltoztatásához; // megkapja a gyújtógyertya kapcsolásának értékét, ha (temp1 == 1) {digitalWrite (szelep, HIGH) // bekapcsolja az egyik relét} else if (temp1 == 0) {digitalWrite (szelep, LOW) // turn ki egy relé} else if (temp2 == 1) {digitalWrite (spark, HIGH) // kapcsolja be a két relét} else if (temp2 == 0) {digitalWrite (spark, LOW) // kapcsolja ki a második relét} // kezelési hiba, ha (Firebase.failed ()) {Serial.print ('a beállítás / szám meghiúsult:'); Serial.println (Firebase.error ()); Visszatérés; } késleltetés (1000); }

Ez minden mára. Most otthon elkészítheti saját intelligens kályháját. A jövőben folyamatosan keresse meg webhelyünket, hogy találjon-e még ilyen érdekes cikkeket.