Hogyan készítsünk intelligens otthoni automatizálási rendszert az ESP32 modul használatával?

Ebben a modern korban az otthoni automatizálás koncepciója nagy sebességgel növekszik. Szinte mindenhol intelligens rendszereket telepítenek. Az intelligens otthoni rendszerek olyan koncepció, amelyben az összes elektromos készüléket vagy készüléket egyetlen távirányítóval vezérlik. Ezekben a rendszerekben a távirányító legtöbbször mobil alkalmazás. Mivel az androidos mobil a leggyakoribb az emberek körében, ezért egy androidos alkalmazás a legjobb megoldás ezeknek az eszközöknek a vezérlésére.



Otthoni automatizálás

Tehát ebben a projektben az otthon néhány elektromos készülékét összekapcsoljuk a Relay modulral, és azt az ESP32 mikrokontrolleren keresztül irányítjuk. Készítünk egy valós idejű firebase adatbázist, és összekapcsoljuk az android alkalmazásból. Ez az android alkalmazás elküldi az adatokat a felhőbe, majd elküldi a mikrovezérlőnek az elektromos készülék be- vagy kikapcsolásához. A legjobb az egészben, hogy a világ bármely pontjáról teljes mértékben ellenőrizheti készülékeinek kapcsolását. Az androidos alkalmazás működtetéséhez csak internetkapcsolatra van szükség.



Hogyan lehet irányítani a háztartási készülékeket a WiFi segítségével?

A piacon már elérhető otthoni automatizálási rendszerek nagyon költségesek. ESP32 kártya segítségével különböző háztartási készülékeket csatlakoztathatunk és vezérelhetünk egy Android App segítségével. Ez nagyon alacsony költséggel jár, és hatékony módon automatizálja a házat. Most lépjünk előre és kezdjünk el információkat gyűjteni a projekt elindításához.



1. lépés: Az alkatrészek összegyűjtése

A projekt megkezdésének legjobb módja az, hogy összeállítja az összetevőket, és áttanulmányozza ezeket az összetevőket, mert senki sem akar egy projekt közepén maradni, csak hiányzó alkatrész miatt. Az alábbiakban felsoroljuk azokat a komponenseket, amelyeket ebben a projektben használni fogunk:



  • ESP32
  • Kenyérlemez
  • Vezetékek csatlakoztatása

2. lépés: Az alkatrészek tanulmányozása

Most, hogy ismerjük ennek a projektnek az elvonatkoztatását, lépjünk előre és lépjünk át egy rövid tanulmányon a fő összetevők működéséről, amelyeket használni fogunk.

ESP32 egy alacsony fogyasztású és olcsó mikrokontroller kártya, amely beépített WiFi-vel és kétmódos Bluetooth modullal rendelkezik. Ezt a mikrokontroller kártyát a Espressif Systems . Ez a kártya beépített teljesítményerősítőkkel, alacsony, szép vételi erősítőkkel, szűrőkkel és antennakapcsolókkal rendelkezik. Android-adatkábel táplálja, és akár 3,3 V feszültséget is képes biztosítani a kimeneten. Az ESP32 végrehajtja a TCP / IP-t, a teljes 802.11 b / g / n / e / I WLAN MAC-egyezményt és a Wi-Fi Direct-t. Ez azt jelenti, hogy az ESP 32 képes a WiFi routerek nagy részét megszólítani, ha állomás (kliens) módban használják. Hasonlóképpen, hozzáférési pontot készíthet teljes 802.11 b / g / n / e / I-vel. Az ESP32 nem egyszerűen a legújabb BLE Bluetooth 4.2-t támasztja alá, hanem emellett a nagyszerű Bluetooth-t is támogatja. Alapvetően azt jelenti, hogy képes megszólítani a régi és új Bluetooth telefonokat / asztalokat. Ha nincs ESP32 modulja, használhatja az ESP8266-ot vagy a Node MCU-t is. Ezekkel a táblákkal ugyanazt a feladatot lehet végrehajtani, ha csatlakoznak a WiFi-hez.

ESP32



A relé modul kapcsolóeszköz. Két módban működik, Normálisan nyitva (NO) és Normális esetben Zárt (NC) . NO üzemmódban az áramkör mindig megszakad, hacsak nem küld magas jelet a relének az Arduino-n keresztül. Az NC mód fordítva romlik, Az áramkör mindig teljes, hacsak nem kapcsolja be a relé modult. Győződjön meg arról, hogy az elektromos készülék pozitív vezetékét a relé modulhoz csatlakoztatja az alább látható módon.

A relé modul áramkörének összeszerelése

3. lépés: Blokk diagram

Blokk diagramm

A fenti blokkdiagramon a projekt folyamata látható. A relék az otthoni elektromos készülékekhez vagy eszközökhöz vannak csatlakoztatva. Egy mobil alkalmazás küld egy Tovább vagy KI parancsot az adatbázisba. Ez a felhő WiFi-n keresztül csatlakozik az ESP32 mikrokontroller táblához. Az elektronikus eszköz bekapcsolásához egy „1” -t küldünk az adatbázisba, kikapcsolásához pedig „0” -t küldünk az adatbázisba. Ezt a parancsot a mikrovezérlő ekkor lekéri, mert az adatbázishoz is csatlakozik. Ezen 0 vagy 1 alapján a mikrovezérlő be- vagy kikapcsolja a relemodult, ami végső soron az elektromos készülékek kapcsolását eredményezi.

Tehát itt, ebben a cikkben, két relé modult használok az egész eljárás bemutatására. De növelheti a relék számát, és hozzáadhatja ugyanazt a kódrészletet a programjához, ha nagyobb számú elektromos háztartási készüléket szeretne vezérelni.

4. lépés: Az alkatrészek összeszerelése

Most, hogy világos elképzelésünk van arról, mit akarunk csinálni ebben a projektben, ne pazaroljunk tovább időt és kezdjük el az alkatrészek összeállítását.

  1. Vegyünk egy kenyérlapot, és rögzítsük benne az ESP32 mikrovezérlőt. Most vegye be a két relemodult, és párhuzamosan kösse össze a modulok Vcc-jét és földelését az ESP32 mikrokontroller kártya Vin és földelésével. Csatlakoztassa a csapban relé modulokból az ESP32 kártya pin34 és pin35 pontjaiba. Látni fogja, hogy a relék most be vannak kapcsolva.
  2. Csatlakoztassa a háztartási készülékeket a relé modulhoz. Győződjön meg arról, hogy a csatlakozásai megegyeznek a 2. lépésben látható kapcsolatokkal.

Most, amikor csatlakoztattuk a rendszer hardver részét. Kidolgozunk egy androidos alkalmazást, amely összekapcsolódik a firebase adatbázissal. A cikk 2. részében elkészítjük az adatbázist és az android alkalmazást.

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: A kód megértése

A projekt kódja nagyon egyszerű és jól kommentált. De a kódot alább röviden ismertetjük.

1. Először a könyvtárak tartoznak hozzá, hogy az ESP32 kártya csatlakoztatható legyen az otthoni vagy irodai helyi WiFi csatlakozáshoz. Ezt követően meghatározza a Firebase projekt linkjét és a Firebase projekt hitelesítését. Ezután meghatározza a helyi wifi kapcsolat nevét és jelszavát, hogy az ESP32 csatlakoztatható legyen a Wifi-hez. Az ESP32 egyes csapjai meghatározva vannak a relé modulokhoz csatlakoztatásra. és végül egy olyan változót deklarálnak, amely ideiglenes adatokat tárol, amelyek a firebase felhőből származnak.

#include // könyvtár beillesztése a helyi Wifi-kapcsolathoz való csatlakozáshoz #include // Könyvtár beillesztése a Firebase adatbázishoz való csatlakozáshoz #define FIREBASE_HOST 'coma-patient.firebaseio.com' // tartalmazza a #define firebase projektjének linkjét '// Tartalmazza a Firebase projekt hitelesítését #define WIFI_SSID' abcd '// otthona vagy irodája WiFi kapcsolatának neve #define WIFI_PASSWORD' abcd '// otthoni vagy irodai WiFi kapcsolat jelszava int r1 = 34; // csap az 1. relé csatlakoztatásához int r2 = 35; // csap a 2. relé csatlakoztatásához int temp; // variabe az adatok hordozásához

2. void setup () egy olyan függvény, amelyben inicializáljuk az INPUT vagy OUTPUT csapokat. Ez a funkció az átviteli sebességet is beállítja a használatával Serial.begin () parancs. A Baud Rate a mikrovezérlő kommunikációs sebessége. Néhány kódsor hozzáadásra kerül az ESP32 és a helyi wifi kapcsolat összekapcsolásához. A tábla megpróbál csatlakozni a helyi wifi-csatlakozáshoz, és kinyomtatja a „kapcsolatot”. a soros monitoron. A kapcsolat létrejötte után a „Csatlakoztatva” felirat jelenik meg. Tehát ennek nyomon követése érdekében jobb, ha kinyitjuk a soros monitort, és ott ellenőrizzük annak állapotát.

void setup () {Soros.kezdés (115200); // az adatátviteli sebesség beállítása // csatlakozás 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. void loop () egy olyan funkció, amely egy ciklusban ismételten fut. Ebben a ciklusban írunk egy kódot, amely megmondja a mikrokontroller táblának, hogy milyen feladatokat és hogyan kell végrehajtani. Az adatokat lekérdeztük könnyű és AC az adatbázisból, és a két ideiglenes változóban van tárolva. Ezután négy feltétel vonatkozik a két készülék kapcsolására az adatbázisból beolvasott 0 vagy 1 szerint.

void loop () {// get temp temp = Serial.println (Firebase.getFloat ('light')); // megkapjuk a fény temp2 váltási értékét = Serial.println (Firebase.getFloat ('AC')); // megkapja a ventilátor késleltetés (1000) váltásának értékét; if (temp1 == 1 && temp2 == 1) {// A fény és a ventilátor bekapcsolása digitalWrite (r1, HIGH); digitalWrite (r2, HIGH); } if (temp1 == 0 && temp2 == 1) {// A ventilátor bekapcsolásához és a könnyű digitalWrite kikapcsolásához (r1, LOW); digitalWrite (r2, HIGH); } if (temp1 == 1 && temp2 == 0) {// A ventilátor kikapcsolásához és a könnyű digitalWrite bekapcsolásához (r1, HIGH); digitalWrite (r2, LOW); } if (temp1 == 0 && temp2 == 0) {// A ventilátor kikapcsolásához és a könnyű digitalWrite kikapcsolásához (r1, LOW); digitalWrite (r2, LOW); }}

Ez volt az első rész “Hogyan készítsünk intelligens otthoni rendszert az ESP32 használatával?”. Ha további háztartási készülékeket szeretne vezérelni, további relé modulokat vehet fel, az egyetlen dolog, amit meg kell tennie, az az, hogy elolvassa az adatokat a firebase-ből, és további feltételeket ad a kapcsoláshoz. A következő cikkben elmagyarázom, hogyan lehet fejleszteni egy androidos alkalmazást és a Firebase adatbázist. Lépésről lépésre elmagyarázom az androidos alkalmazás csatlakoztatását a firebase-hez és az adatok küldését.

A következő oktatóanyagra való ugráshoz Kattints ide