Tartalomjegyzék:
- 1. lépés: Szükséges alkatrészek
- 2. lépés: Kábelezés és összeszerelés
- 3. lépés: Firmware feltöltése az ESP32 -re
- 4. lépés: Kész firmware feltöltése
- 5. lépés: Konfiguráció
- 6. lépés: Tunning és energiafogyasztás
- 7. lépés: Az érzékelők hangolása
- 8. lépés: Eszköz hozzáadása az Apple Home Kit -hez
- 9. lépés: OTA: Air over Air frissítések
Videó: ESP32 időjárás állomás napelemmel: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ebben az oktatóanyagban WiFi -kompatibilis időjárás -állomás projektet fogunk építeni.
A cél az időjárás -állomás kialakítása szinte minden lehetséges jellemzővel:
- Jelenítse meg az aktuális körülményeket, időt, hőmérsékletet, páratartalmat, nyomást
- Mutassa az előrejelzést a következő napokra
- Frissítés az adásban
- Beépített weboldal a konfigurációhoz és az adatok megjelenítéséhez
- Töltsön fel adatokat a felhőbe az előzménystatisztikákhoz
- Integrált Aple Home Kit vagy MQTT
- A beépített Accu tápellátás lehetséges feltöltéssel vagy napelemhez való csatlakoztatással
Nem tudok hozzátenni többet és nem több képzelőerőt, hogy mi más kell vagy lehet
1. lépés: Szükséges alkatrészek
- ESP32 (dev modult használtam)
- 2,8 "240x320 TFT LCD SPI ILI9341
- Műanyag tok
- 3 x 18650 Accu
- BME280 időjárás -érzékelő hőmérséklet, páratartalom és nyomás mérésére
- USB lítium töltő modul
- DC-DC lépés UP18650
- elemtartó (3 db)
- HC-SR505 Mozgásérzékelő
- 220 Om ellenállás
- 2x 10 kOm ellenállás
- A TIP120 NPN tranzisztor (Darlington) bármilyen más kompatibilis használható
- Gomb vezetékek, kapcsoló, forrasztótábla….
2. lépés: Kábelezés és összeszerelés
Az első lépés az állomás teljesítményének összeállítása.
Két műanyag házat osztottam fel két elemre, az egyiket akkumulátorra, kapcsolóra, USB töltőre és DC-DC lépcsőre. Ebbe a részbe elemtartót tettem, és ablakokat készítettem a kapcsolóhoz és az USB töltőhöz. Ügyeljen arra, hogy az usb töltőmodul eléggé véget ér, ezért alluminium lemezt használtam, és Star 922 ragasztóval tettem rá az USB töltőt.
A második lépés a vezérlőelemek összeszerelése.
Tekintse meg a kapcsolási rajzot, hogyan kell csatlakoztatni
Erre a célra a kenyértáblát használtam a következő lépésekkel
- Forrasztás ESP32 fejlesztőtábla
- Forrasztópajzs a TFT kijelző megtartásához
- Forrasztás más elektronikus alkatrészek: BME280, ellenállások, gombok
- Forrasztási huzalozás az alkatrészek között az ábra szerint
A harmadik lépés a kenyértábla rögzítésének előkészítése a műanyag tok második részére. Két sávot nyomtam a 3D nyomtatómra, csavarokkal rögzítettem őket a tenyésztőtáblára, és négyszögletes vágást végeztem a kijelzőhöz.
A műanyag tok testéhez ragasztottam műanyag rudakat. Most, amikor a ragasztó megszáradt, a kenyeretábla fülkéjét csavarokkal kell leszerelni.
A következő lépés:
- Forrasztó huzalozás az áramforráshoz
- Forrasztó huzalozás az akkumulátor feszültségének állapotához
- Forrasztás és rögzítés mozgásérzékelő
Utolsó lépés:
- DC-DC átalakító beállítása 5 V kimeneti feszültség tuningolásával
- csatlakoztassa az állomásvezérlő két részét az áramellátáshoz: tápkábeleket és feszültségleolvasást
A mozgásérzékelőhöz és a gombhoz további lyukakat készítettem az előlapon.
3. lépés: Firmware feltöltése az ESP32 -re
Ehhez a projekthez univerzális szoftvert használtam, amelyet magam fejlesztettem
Kérjük, nézze meg a github ESPHomeController oldalát. Ez teljes útmutatást tartalmaz a fordításhoz és a beállításhoz.
! Ha nem ismeri a fordítást és az Arduino -t, nézze meg a Kész firmware feltöltése lépést
Amint először tölti fel a firmware -t, az ESP32 konfigurációs módban indul (Access Point mód)
Be kell állítania őket. Ebből a célból nyissa meg a rendelkezésre álló WiFi bármely eszközlistáját. Keresse meg a HomeControllert, és csatlakozzon hozzá. A rögzített portálnak automatikusan el kell indulnia. Ha nem, írja be a böngésző URL -címét: 192.168.4.1, és megjelenik a konfigurációs képernyő
Kövesse az utasításokat, és konfigurálja a WiFi hitelesítő adatokat a WiFi hálózathoz.
Az ESP ezután WiFi kliensként újraindul, és csatlakozik a Wifi -hez.
Ahogy az sson firts kapcsolat létrejön, automatikusan felcsatolja a Spiffs fájlrendszert, és letölti a szükséges fájlokat a webportálhoz:
- index.html
- filebrowse.html
- js/bundle.min.js.gz
A letöltés a https://github.com/Yurik72/ESPHomeController/tree/… mappából történik
Most a webböngészőn keresztül láthatja a fájlok tartalmát. ehhez most meg kell adnia az ESP32 címét
Az alábbi módok egyikével találhatja meg:
- Soros portfigyelő használata az ESP32 naplók megtekintéséhez
- Bármilyen tcp szkenner használata a hálózati eszközök vizsgálatához
- Nyomjon meg egy gombot az időjárás állomáson, és látni fogja a rendszerinformációkat
Tegye a böngészőbe a https://192.168.0. XX/browse böngészőt, és megjelenik az ESP fájllistája
(192.168.0. XX az eszköz IP -címe
A végső hangoláshoz elő kell készítenie a konfigurációs fájlokat.
4. lépés: Kész firmware feltöltése
Ez a rész kifejezetten azoknak a hallóknak szól, akik nem fognak firmware -t készíteni egyedül. Csak fel kell töltenie a "kész" firmware -t
1. Töltse le a flash feltöltési eszközöket erről az oldalról
2. Töltse le a csatolt (kivonat az archívumból) HomeController.bin és bootloader_qio_80m.bin fájlokat a merevlemezére
3. Indítsa el az ESP32 letöltő eszközt, és írja be az értékeket a képernyőkép szerint
4. Nyomja meg a start gombot
5. lépés: Konfiguráció
A konfiguráció előkészítésének megkezdése előtt szüksége van:
- Hozd létre csatornádat a csatornádhoz tartozó dolgokról és kulcsokról. Készítsen elő négy mezőt, és nevezze el őket megfelelően: hőmérséklet, páratartalom, nyomás, feszültség
- Regisztráljon a Weather.com webhelyen, hogy megszerezze az api kulcsát
A Thingspeak szükséges az adatok feltöltéséhez, valamint a trendek és értékek nyomon követéséhez
Az időjárás szükséges az előrejelzési adatok megszerzéséhez.
Ok, végül létre kell hoznia a services.json fájlt a következő tartalommal
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," sleepptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}," "service": "BME280Controller", "name": "BME", "enabled": true, "interval": 900000, "i2caddr": 118, "uselegacy": true, "temp_corr":-3.0, "hum_corr": 10.0}, {"service": "WeatherClientController", "name": "WeatherForecast", "enabled": true, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & units = m & language = hu -US & apiKey = weatherapi "}, {" service ":" WeatherDisplayController "," name ":" WeatherDisplay "," enabled ": true," interval ": 500}, {" enabled ":" true "," interval ": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0,0, "cvalmax": 7,2, "cfmt": "%. 2f V", "acctype": 10}, {"service": "ThingSpeakController", "name": "ThingSpeak", "enabled": true, "interval": 1200000, "value": [1, 1, 1, 1, 0, 0, 0, 0], "apiKey": "thingspea kapi "}, {" enabled ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pins ": [27]}]
Kérjük, cserélje ki
- thingspeakapi a thingspeak api kulccsal
- weatherapi az időjárási api kulccsal
- geokódot a tartózkodási helyével kapcsolatban, amelyre előrejelzést szeretne kapni
Készítse elő a triggers.json második fájlt
[{"type": "BMEToWeatherDisplay", "source": "BME", "destination": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "source": "Time", "destination": "WeatherDisplay "}, {" type ":" WeatherForecastToWeatherDisplay "," source ":" WeatherForecast "," destination ":" WeatherDisplay "}, {" type ":" BMEToThingSpeak "," source ":" BME "," destination ": "ThingSpeak", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"type": "ButtonToWeatherDisplay", "source": "Button", "destination": "WeatherDisplay"}, { "type": "LDRToThingSpeak", "source": "LDR", "destination": "ThingSpeak", "ch": 4}]
Mindkét fájlt fel kell tölteni az esp gyökerébe.
Ezt megteheti a https://192.168.0. XX/browse böngészőn keresztül, ahol a https://192.168.0. XX az eszköz IP -címe
A feltöltés után az ESP -t újra kell indítani, és minden rendben volt. Az Esp a megfelelő képernyőt jeleníti meg, mint a fenti fotón és videón
6. lépés: Tunning és energiafogyasztás
A készüléket a napelemhez csatlakoztatva használom, és biztos vagyok benne, hogy "végtelenül" működik
Az energiafogyasztás fontos, és több kísérlet után két fő trükköt használtam
Csökkentse a TFT képernyő háttérvilágításának fogyasztását
A mérések szerint 15-20 mA-t fogyaszt (sok), ezért taktikát használtam a mozgásérzékelővel. Tökéletesen működik Mozgásérzékelők, amelyek képesek felismerni akár 8-10 méteres észlelést, és növelni a feszültséget a jelkáberen. Ez egy tranzisztor és egy backround Led nyílás. Általában az érzékelő ezt az állapotot 10 másodpercig tartja, ami több, mint elegendő a monitor látásához, de ha folytatja a mozgást, a jel továbbra is magas, és a LED világít.
Ez a megközelítés nagy gazdaságot eredményez számomra, további hatások nélkül, nem találkozom semmilyen problémával, hogy amikor akarom, lássam a képernyőt
2. Csökkentse az energiafogyasztást az ESP32 segítségével
Amikor az ESP csatlakozik a WiFi-hez, folyamatosan 7-10 mA-t fogyaszt, állandó időről beszélek, nem indításról és első csatlakozásról. Ez elfogadható, ha mindig látja a tényleges dátumot és időt, és az Apple otthoni készletéből fér hozzá a rendszerhez
A téli napenergiám számára is a kiegészítő áramforrások nélküli munkákhoz kellett illeszkednie, Ezért úgy döntöttem, hogy rendszeresen bekapcsolom az ESP32 -t alvó üzemmódba (az evés kevesebb, mint 1 mA). Ez nekem rendben van, például az ESP 20 percet alszik, majd felébred, a képernyő frissítése (tényleges adatok és előrejelzés) adatokat küld a beszélőnek, és ismét alvó módba
A mínuszok:
- Az Időjárás képernyő elavult időértékeket jelenít meg
- Az állomás nem érhető el a böngészőből és az Apple Home Kitből alvás közben
Ön dönti el, hogy mi a fontosabb, ezt egyszerűen átkonfigurálhatja.
Kérjük, nézze meg a services.json fájlt és sort
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," sleepptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}
"enableleep": a true egyáltalán engedélyezi az alvást, ha hamis értéket állít be, vagy eltávolítja a paramétert (hamis az alapértelmezett) Az ESP soha nem fog aludni
"alvóintervallum": 900000 ez ezredmillió vagy 15 perc, ami azt jelenti, hogy minden 15 percben az ESP felébred, és szükséges személyzetet végez
Tehát most mindenki könnyedén játszhat a szükségesség szerint
7. lépés: Az érzékelők hangolása
A belső fűtés BME280 hőmérséklet -érzékelőre gyakorolt hatásának minimalizálása érdekében
Firts Csináltam egy csövet az érzékelő és a lyukak körül. Hovewer módomban, amikor a LED normál esetben ki van kapcsolva, és az ESP alszik, nem olyan fontos. Más esetekben a BME280 érzékelőnek el kell mozdulnia valahová, hogy kizárja a belső fűtés hatását. Bármilyen csekély befolyást is találtam, ezért két paramétert kell kompenzálni
"hum_corr": 10.0
ami azt jelenti, hogy ezeket az értékeket hozzáadjuk a mérés után
A második az akkumulátor feszültségmérésének kalibrálása, {"enabled": "true", "interval": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0,0
"cvalmax": 7.2
erre a célra szolgálnak, mivel a feszültséget az ellenállások elválasztói után mérik, és összehasonlítják a 3,3 V -tal, és a cvalmax értékkel játszva elérheti a pontos feszültséghangolást a multiméteres értékével
8. lépés: Eszköz hozzáadása az Apple Home Kit -hez
Végül, amikor eszköze megfelelően működik, hozzáadható az Apple Home Kit csomaghoz, és látni fogja
érzékelők értékeit az Apple kezdőképernyőjén.
Először újra kell indítania az eszközt, mivel a készülék elindulása után nem fog aludni 20 perc több, mint elég
Ezután nyissa meg a Home Kit alkalmazást iOS -eszközén, és válassza ki, vagy hozzon létre új Home1 -et. Nyomja meg a Hozzáadás gombot (+)
2. Válassza a Kiegészítő hozzáadása lehetőséget.
3. Nyomja meg a Nincs kódom vagy nem tudok szkennel gombot (a szkennelés további részleteit hozzáadjuk)
4. ha minden jól megy, látnia kell az új esp -eszközt egy listában (lásd a képet)
5. Válassza ki az eszközt, és erősítse meg a hozzáadást hivatalos tanúsítvány nélkül
6. Írja be a jelszót 11111111
7. Ez minden! Látnia kell az eszköz sikeres párosítását, különben indítsa újra a párosítási folyamatot.
A beállítás alapján két eszközt fog látni az Apple -en
1. Hőmérséklet érzékelő és Hum érzékelő, mélyen haladva megjeleníti az értékeket a teljes képernyőn
2. Fényérzékelő:) Valójában az Apple képes megjeleníteni a könnyű környezetet, de nem a feszültséget, ezért az akkumulátor feszültsége luxban jelenik meg
9. lépés: OTA: Air over Air frissítések
A frissítés megkezdése előtt jobb újraindítani az ESP32 -t, amint azt korábban említettük, nem fog aludni az első 20 percben
Két lehetőség van a frissítésre
- Konfiguráció a https://192.168.0. XX/browse segítségével elérheti fájlrendszerét az ESP -n, és módosíthatja a konfigurációs fájlokat
- Teljesen frissítheti a firmware -t. ehhez először újat kell létrehoznia. Ezt megteheti az Arduino vagy a Visual Studio IDE segítségével. Ezután írja be a böngészőbe a https://192.168.0. XX/update fájlt, válassza ki a firmware -t, és nyomja meg a frissítés gombot. Várjon, amíg a folyamat befejeződik, és a válasz rendben lesz, ellenkező esetben ismételje meg a lépést
Ajánlott:
HC-12 nagy hatótávolságú időjárás állomás és DHT érzékelők: 9 lépés
HC-12 nagy hatótávolságú időjárás állomás és DHT érzékelők: Ebben az oktatóanyagban megtanuljuk, hogyan készítsünk távoli időjárási állomást két dht érzékelő, HC12 modul és az I2C LCD kijelző segítségével. Nézze meg a videót
Műholdas időjárás -állomás: 5 lépés
Műholdas időjárás -állomás: Ez a projekt azoknak készült, akik saját időjárási adataikat szeretnék gyűjteni. Mérheti a szél sebességét és irányát, a hőmérsékletet és a páratartalmat. Ezenkívül képes hallgatni a Föld körül keringő időjárási műholdakat 100 percenként. Én akarok
ESP8266 Időjárás állomás óra: 4 lépés
ESP8266 Időjárás állomás óra: Ez a projekt remek módja az idő és az időjárás megjelenítésének egy kis kényelmes csomagban. Elmagyarázom a projektet, hogyan működik, és itt mutatom a kódot. Különböző gombok megnyomásával megjelenítheti az aktuális időjárást egy meghatározott helyen, valamint a hőmérsékletet
Csatlakoztatott időjárás állomás ESP32 -vel: 3 lépés
Csatlakoztatott időjárás állomás ESP32 -vel: Ebben az oktatóanyagban megtudhatja, hogyan állítson be egy időjárás -állomást az ESP32 alapján, és hogyan figyelheti távolról a Blynk alkalmazást, valamint egy webhelyet
ESP32 WiFi időjárás állomás BME280 érzékelővel: 7 lépés (képekkel)
ESP32 WiFi meteorológiai állomás BME280 érzékelővel: Kedves barátaink, üdvözöljük egy újabb oktatóanyagban! Ebben az oktatóanyagban WiFi -kompatibilis időjárás -állomás projektet fogunk építeni! Először fogjuk használni az új, lenyűgöző ESP32 chipet a Nextion kijelzővel együtt. Ebben a videóban megyünk