Përmbajtje:

ESP32 Stacioni i motit me energji diellore Mundësuar nga: 9 hapa
ESP32 Stacioni i motit me energji diellore Mundësuar nga: 9 hapa

Video: ESP32 Stacioni i motit me energji diellore Mundësuar nga: 9 hapa

Video: ESP32 Stacioni i motit me energji diellore Mundësuar nga: 9 hapa
Video: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Nëntor
Anonim
Image
Image
ESP32 Stacioni i motit me energji diellore
ESP32 Stacioni i motit me energji diellore
ESP32 Stacioni i motit me energji diellore
ESP32 Stacioni i motit me energji diellore

Në këtë tutorial ne do të ndërtojmë një projekt të stacionit të motit me mundësi WiFi.

Synimi është të dizajnohet stacioni i motit me pothuajse të gjitha tiparet e mundshme:

  • Tregoni kushtet aktuale, kohën, temperaturën, lagështinë, presionin
  • Trego parashikimin për ditët në vijim
  • Përditësim në ajër
  • Uebfaqe e ndërtuar për konfigurim dhe paraqitje të të dhënave
  • Ngarko të dhëna në cloud për statistikat e historisë
  • Integruar me Aple Home Kit ose MQTT
  • Accu i pavarur mundësuar nga rimbushja e mundshme ose lidhja me panelin diellor

Unë nuk mund të shtoj më shumë dhe jo më shumë imagjinatë se çfarë tjetër duhet ose mund të jetë

Hapi 1: Pjesët që kërkohen

Pjesët të cilat kërkohen
Pjesët të cilat kërkohen
Pjesët të cilat kërkohen
Pjesët të cilat kërkohen
Pjesët të cilat kërkohen
Pjesët të cilat kërkohen
  • ESP32 (kam përdorur modulin dev)
  • 2,8 "240x320 TFT LCD SPI ILI9341
  • Rast plastik
  • 3 x 18650 Accu
  • Sensori i motit BME280 për të matur Temperaturën, Lagështinë dhe Presionin
  • Moduli i karikuesit litium USB
  • Hapi DC-DC UP18650
  • mbajtës i baterisë (3pc)
  • HC-SR505 Detektor lëvizjeje
  • Rezistencë 220 Om
  • Rezistenca 2x 10 kOm
  • TIP120 NPN transistor (Darlington) mund të përdoret çdo kompatibil tjetër
  • ButtonWires, switch, bordi i saldimit….

Hapi 2: Instalimi dhe montimi

Instalimi dhe montimi
Instalimi dhe montimi
Instalimi dhe montimi
Instalimi dhe montimi
Instalimi dhe montimi
Instalimi dhe montimi
Instalimi dhe montimi
Instalimi dhe montimi

Hapi i parë është grumbullimi i fuqive të stacionit.

Kam ndarë kutinë plastike në dy pjesë, njëra prej të cilave përdoret për bateri, ndërprerës, karikues USB dhe dalje DC-DC. Në këtë pjesë kam vënë mbajtësen e baterisë dhe bëj dritare për kalimin dhe karikuesin USB. Jini të vetëdijshëm se moduli i karikuesit USB është shumë i zgjuar, prandaj unë kam përdorur pllakën e aluminit dhe kam vënë ngarkues USB në të duke përdorur zam Star 922.

Hapi i dytë është montimi i pjesës së kontrolluesve.

Shihni diagramin e instalimeve elektrike se si duhet të lidhet

Unë kam përdorur bordin e Bukës për këtë qëllim me hapat e mëposhtëm

  • Ngjitës bordi ESP32 dev
  • Mburoja e saldimit për të mbajtur ekranin TFT
  • Saldoni përbërës të tjerë elektronikë: BME280, rezistorë, butona
  • Lidhës lidhës midis përbërësve sipas diagramit

Hapi i tretë është përgatitja e montimit të dërrasës së bukës në pjesën e dytë të kutisë plastike. Unë kam shtypur në printerin tim 3d dy shirita, i montoj ato në bredboard me vida dhe bëj prerje drejtkëndëshe për ekranin e ekranit.

Unë ngjita mbështetëset e shufrave plastike në trupin e rastit plastik. Tani kur zamja është tharë, kabina e bordit të bukës hiqet nga vida.

Hapi tjetër është:

  • Instalime lidhëse për burimin e energjisë
  • Instalime lidhëse për statusin e tensionit të baterisë
  • Saldues dhe montues detektor lëvizjeje

Hapi përfundimtar:

  • konfiguroni konvertorin DC-DC duke akorduar tensionin e daljes 5v
  • lidhni dy pjesë të kontrolluesit të stacionit në energji: telat e energjisë dhe leximin e tensionit

Për detektorin e lëvizjes dhe butonin kam bërë një vrimë shtesë në anën e fytyrës.

Hapi 3: Ngarkimi i firmuerit në ESP32

Për këtë projekt kam përdorur softuer universal, të zhvilluar nga vetja ime

Ju lutemi hidhini një sy github faqes ESPHomeController. Kjo përmban udhëzime të plota se si të përpiloni dhe konfiguroni.

! Nëse nuk jeni njohur me përpilimin dhe Arduino hidhini një sy Ngarkimi i firmuerit të gatshëm

Sapo të ngarkoni firmware për herë të parë, ESP32 do të fillojë në modalitetin e konfigurimit (modaliteti i Pikës së hyrjes)

Ju duhet t'i konfiguroni ato. Për këtë qëllim hapeni në çdo listë të pajisjeve të WiFi në dispozicion. Gjeni HomeController dhe lidheni me të. Portali i kapur duhet të fillojë automatikisht. Nëse nuk futeni në url -në e shfletuesit tuaj: 192.168.4.1 dhe do të shihni ekranin e konfigurimit

Ndiqni udhëzimet dhe konfiguroni kredencialet WiFi në rrjetin tuaj WiFi.

ESP do të rifillojë pas kësaj si klient WiFi dhe do të lidhet me Wi -Fi tuaj.

Ndërsa ndodh lidhja sson, ajo do të montojë automatikisht sistemin e skedarëve Spiffs dhe shkarkon skedarët e kërkuar për portalin në internet:

  • indeksi.html
  • shfleto fileb.html
  • js/pako.min.js.gz

Shkarkimi ndodh nga dosja

Tani mund të shihni përmbajtjen e skedarit përmes shfletuesit të uebit. për këtë ju tani duhet të keni IP adresën e ESP32 tuaj

Mund ta gjeni në njërën nga mënyrat e mëposhtme:

  • Përdorimi i monitorit të portit serik për të parë një regjistër të ESP32
  • Përdorimi i çdo skaneri tcp për të skanuar pajisjet tuaja të rrjetit
  • Shtypni një buton në stacionin e motit dhe do të shihni informacionin e sistemit

Vendoseni në shfletim https://192.168.0. XX/browse dhe do të shihni një listë skedarësh të ESP -së tuaj

(192.168.0. XX është adresa IP e pajisjes tuaj

Për akordimin përfundimtar, duhet të përgatitni skedarë konfigurimi.

Hapi 4: Ngarkimi i firmuerit të gatshëm

Ngarkimi i firmuerit të gatshëm
Ngarkimi i firmuerit të gatshëm

Ky seksion është posaçërisht për auditorët që nuk do të prodhojnë firmware vetë. Thjesht duhet të ngarkoni firmware "gati"

1. Mos shkarkoni mjete ngarkimi flash nga kjo faqe

2. Shkarkoni skedarët e bashkangjitur (ekstrakt nga arkivat) HomeController.bin dhe bootloader_qio_80m.bin në hard diskun tuaj

3. Filloni mjetin e shkarkimit ESP32 dhe futni vlerat sipas pamjes së ekranit

4. Shtypni start

Hapi 5: Konfigurimi

Para fillimit të përgatitjes së konfigurimit ju nevojiten:

  1. Krijoni kanalin tuaj në kanalin tregues dhe kyç për ju. Përgatitni 4 fusha dhe emërtojini siç duhet Temperatura, Lagështia, Presioni, Tensioni
  2. Regjistrohuni në Weather.com për të marrë çelësin tuaj api

Thingspeak nevojitet për të ngarkuar të dhënat tuaja dhe për të monitoruar tendencat dhe vlerat

Moti është i nevojshëm për të marrë të dhënat e parashikimit.

Ok, më në fund ju duhet të krijoni skedarin services.json me përmbajtjen e mëposhtme

[{"service": "TimeController", "name": "Time", "enableed": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," mundëson gjumin ": e vërtetë," lloji i gjumit ": 1," gjumi i kohës ": 900000," restartinterval ": 18000000}, {" shërbimi ":" BME280Controller "," name ":" BME "," enableed ": true, "interval": 900000, "i2caddr": 118, "uselegacy": true, "temp_corr":-3.0, "hum_corr": 10.0}, {"service": "WeatherClientController", "name": "WeatherForecast", "aktivizuar": e vërtetë, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & units = m & language = en -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", "akctype": 10}, {"service": "ThingSpeakController", "name": "ThingSpeak", "enabled": true, "interval": 1200000, "value": [1, 1, 1, 1, 0, 0, 0, 0], "apiKey": "gjëra kapi "}, {" aktivizuar ": e vërtetë," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pin ": [27]}]

Ju lutemi zëvendësoni

  • thingspeakapi me çelësin tuaj api
  • weatherapi me çelësin tuaj api të motit
  • gjeokod me vendndodhjen tuaj për të cilën dëshironi të merrni parashikim

Se përgatitni skedarin e dytë triggers.json

[{"type": "BMEToWeatherDisplay", "burimi": "BME", "destinacioni": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "burimi": "Koha", "destinacioni": "WeatherDisplay "}, {" type ":" WeatherForecastToWeatherDisplay "," burimi ":" WeatherForecast "," destinacioni ":" WeatherDisplay "}, {" type ":" BMEToThingSpeak "," burimi ":" BME "," destinacioni ": "ThingSpeak", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"type": "ButtonToWeatherDisplay", "source": "Button", "destinacioni": "WeatherDisplay"}, { "type": "LDRToThingSpeak", "burimi": "LDR", "destinacioni": "ThingSpeak", "ch": 4}]

Të dy skedarët duhet të ngrihen në rrënjën e esp.

Ju mund ta bëni këtë përmes shfletuesit https://192.168.0. XX/browse, ku https://192.168.0. XX është adresa IP e pajisjes tuaj

Pas ngarkimit ESP duhet të riniset dhe gjithçka është bërë si duhet. Esp do të tregojë ekranin e duhur si në foto dhe video më sipër

Hapi 6: Akordimi dhe konsumi i energjisë

Akordimi dhe konsumi i energjisë
Akordimi dhe konsumi i energjisë

Unë jam duke përdorur pajisjen time me lidhjen me panelin diellor dhe të jem i sigurt se mund të funksionojë "pafundësisht"

konsumi i energjisë është i rëndësishëm dhe pas disa eksperimenteve unë kam përdorur dy truke kryesore

Ulni konsumin e LED -it bazë të ekranit TFT

Sipas matjes është duke ngrënë 15-20 mA (shumë) prandaj unë kam përdorur taktika me detektorin e lëvizjes. Punon në mënyrë perfekte detektorët e lëvizjes në gjendje të njohin çdo zbulim deri në 8-10 metra dhe të rrisin tensionin në kabllon e sinjalit. Kjo është hapje të një transistori dhe Led backround marrin një fuqi. Zakonisht detektori e mban këtë gjendje deri në 10 sekonda, e cila është më se e mjaftueshme për të parë monitorin, por nëse vazhdoni lëvizjet, sinjali është ende i lartë dhe LED po ndizet.

Një qasje e tillë më jep një ekonomi të madhe, pa efekte shtesë, nuk has në asnjë problem për të parë ekranin tim kur të dua

2. Ulni konsumin e energjisë nga ESP32

Kur ESP është e lidhur me WiFi, është duke ngrënë vazhdimisht 7-10 mA, po flas për kohën konstante, jo fillimin dhe lidhjen e parë. Kjo mund të jetë e pranueshme nëse keni parë gjithmonë datën dhe kohën aktuale, hyni në sistemin tuaj nga kompleti i shtëpisë Apple

Për fuqinë time diellore në dimër gjithashtu duhej të përputhej me veprat pa burime shtesë të energjisë, Prandaj, vendosa të vendosja periodikisht ESP32 në modalitetin e gjumit (ngrënia është më pak se 1 mA). Kjo është në rregull për mua, për shembull ESP është duke fjetur 20 minuta, sesa të zgjohesh, të rifreskosh ekranin (të dhënat aktuale dhe parashikimi) dërgon të dhëna në gjërat e folura dhe përsëri në modalitetin e gjumit

Minuset janë:

  • Ekrani i motit shfaq vlera të vjetruara të kohës
  • Stacioni nuk është i arritshëm nga shfletuesi dhe Apple Home Kit gjatë kohës së gjumit

Varet nga ju që të vendosni se çfarë është më e rëndësishme, thjesht mund ta rikonfiguroni atë.

Ju lutemi shikoni skedarin dhe linjën e shërbimeve.json

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," mundëson gjumin ": e vërtetë," lloji i gjumit ": 1," gjumi i kohës ": 900000," rinisja e afatit ": 18000000}

"mundëson gjumin": true mundëson gjumë fare, nëse vendoset aty false ose hiqni parametrin (false është default) ESP nuk do të flejë kurrë

"sleepinterval": 900000 kjo është milis, ose 15 min, do të thotë që çdo 15 minuta ESP do të zgjohet dhe do të bëjë stafin e nevojshëm

Pra, tani të gjithë lehtë mund të luajnë sipas nevojës

Hapi 7: Akordimi i sensorëve

Për të minimizuar ndikimin e ngrohjes së brendshme në sensorin e temperaturës BME280

Firts Bëra një tub rreth sensorit dhe vrimave. Lëvizja në modalitetin tim kur LED normalisht është fikur dhe ESP është duke fjetur nuk është aq e rëndësishme. Në raste të tjera, sensori BME280 duhet të lëvizë diku për të përjashtuar ndikimin e ngrohjes së brendshme. Ndonjë ndikim i vogël që gjeta, prandaj ka dy parametra për të kompensuar

"hum_corr": 10.0

që do të thotë se ato vlera do të shtohen pas matjes

E dyta është kalibrimi i matjes së tensionit të baterisë, {"aktivizuar": "e vërtetë", "intervali": 600000, "pin": 36, "shërbimi": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," akctype ": 10}, "kvalmin": 0.0

"cvalmax": 7.2

janë për këtë qëllim, sepse tensioni matet pas ndarësve të rezistorëve dhe krahasohet me 3.3 V, duke luajtur me vlerën cvalmax mund të arrini akordimin e saktë të tensionit me vlerën tuaj multimetrike

Hapi 8: Shtimi i pajisjes në Apple Home Kit

Shtimi i pajisjes në Apple Home Kit
Shtimi i pajisjes në Apple Home Kit

Më në fund kur pajisja juaj po funksionon siç duhet, mund të shtohet në Apple Home Kit dhe do të jeni në gjendje të shihni

vlerat e sensorëve në ekranin bazë të Apple.

Së pari ju duhet të rindizni pajisjen, sapo pajisja të fillojë nuk do të flejë 20 minuta është më shumë se e mjaftueshme

Pastaj hapni Aplikacionin Home Kit në pajisjen tuaj iOS dhe zgjidhni ose krijoni Home1 të ri. Shtyp Shto (+)

2. Përzgjidhni Shto aksesor.

3. Shtypni Unë nuk kam një kod ose nuk mund të skanoj (më tej skanimi do të shtohet)

4. nëse gjithçka shkon mirë duhet të shihni pajisjen tuaj të re esp në një listë (shiko foton)

5. Zgjidhni pajisjen dhe konfirmoni shtimin pa certifikim zyrtar

6. Shkruani fjalëkalimin 11111111

7. Kjo e tëra! Ju duhet ta shihni atë pajisje të çiftuar me sukses, përndryshe filloni përsëri procesin e çiftimit..

Bazuar në këtë cilësim, do të shihni dy pajisje në Apple

1. Sensori Temp & Sensori Hum, duke shkuar thellë do të shfaq vlerat në ekran të plotë

2. Sensori i dritës:) Në fakt Apple është në gjendje të tregojë ligth Ambient, por jo Tension, prandaj tensioni i baterisë po shfaqet në Lux

Hapi 9: OTA: Përditësimet përmes ajrit

Para fillimit të çdo përditësimi është më mirë të rindizni ESP32, siç u përmend më parë nuk do të flejë 20 minutat e para

Ka dy mundësi për tu përditësuar

  1. Konfigurimi duke përdorur https://192.168.0. XX/browse mund të hyni në sistemin tuaj të skedarëve në ESP dhe të ndryshoni skedarët e konfigurimit
  2. Ju mund të azhurnoni plotësisht firmware. për këtë qëllim së pari ju duhet të krijoni një të re. Mund të bëhet përmes Arduino ose Visual Studio IDE. Pastaj shkruani në shfletuesin https://192.168.0. XX/update, zgjidhni firmware -in tuaj dhe shtypni përditësimin. Prisni derisa të përfundojë procesi dhe do të merrni përgjigjen OK, përndryshe përsëritni hapin përsëri

Recommended: