Cuprins:
- Pasul 1: părți care sunt necesare
- Pasul 2: Cablare și asamblare
- Pasul 3: Încărcarea firmware-ului pe ESP32
- Pasul 4: Încărcarea firmware-ului Ready
- Pasul 5: Configurare
- Pasul 6: Tuning și consum de energie
- Pasul 7: Reglarea senzorilor
- Pasul 8: Adăugarea dispozitivului la trusa Apple Home
- Pasul 9: OTA: Actualizări Over the Air
Video: Stație meteo ESP32 Alimentată cu energie solară: 9 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În acest tutorial vom construi un proiect de stație meteo activată WiFi.
Ținta este de a proiecta stația meteo cu aproape toate penele posibile:
- Afișați condițiile actuale, timpul, temperatura, umiditatea, presiunea
- Afișați prognoza pentru următoarele zile
- Actualizare în aer
- Construit în site-ul web pentru configurare și reprezentare a datelor
- Încărcați date în cloud pentru statistici istorice
- Integrat cu Aple Home Kit sau MQTT
- Acumulator independent alimentat cu posibilă reîncărcare sau conectare la panoul solar
Nu pot adăuga mai multă și nu mai multă imaginație ce altceva trebuie sau poate fi
Pasul 1: părți care sunt necesare
- ESP32 (am folosit modulul dev)
- 2,8 "240x320 TFT LCD SPI ILI9341
- Cutie de plastic
- 3 x 18650 Accu
- Senzor meteo BME280 pentru a măsura temperatura, umiditatea și presiunea
- Modul încărcător litiu USB
- Pasul DC-DC UP18650
- suport baterie (3 buc)
- HC-SR505 Detector de mișcare
- Rezistor 220 Om
- 2x rezistențe de 10 kOm
- Tranzistorul TIP120 NPN (Darlington) poate fi folosit oricare alt compatibil
- Butoane, comutator, tablă de lipit….
Pasul 2: Cablare și asamblare
Primul pas este asamblarea puterilor stației.
Am împărțit carcasa din plastic pe două părți, una dintre ele folosită pentru baterie, comutator, încărcător USB și DC-DC. Fiți conștienți că modulul de încărcare USB este destul de apăsat, de aceea am folosit o placă de aluminiu și am pus încărcătorul USB pe acesta folosind lipici Star 922.
Al doilea pas este asamblarea piesei controlerelor.
Vedeți schema de cabluri cum ar trebui conectată
Am folosit placa de pâine în acest scop cu următorii pași
- Placă dev Solder ESP32
- Scut de lipit pentru a păstra afișajul TFT
- Lipiți alte componente electronice: BME280, rezistențe, butoane
- Cablarea lipirii între componente conform schemei
Al treilea pas este pregătirea montării plăcii de pâine pe a doua parte a carcasei din plastic. Am imprimat pe imprimanta mea 3D două bare, le montez pe tablă prin șuruburi și fac tăiere dreptunghiulară pentru ecranul de afișare.
Am lipit bare de plastic pe corpul carcasei de plastic. Acum, când lipiciul este uscat, cabina plăcii pentru pâine trebuie demontată prin șuruburi.
Următorul pas este:
- Cablare de lipit pentru sursa de alimentare
- Cablare de lipit pentru starea tensiunii bateriei
- Detector de mișcare de lipit și montat
Ultimul pas:
- configurați convertorul DC-DC prin reglarea tensiunii de ieșire 5v
- conectați două părți ale controlerului stației la alimentare: firele de alimentare și citirea tensiunii
Pentru detectorul de mișcare și butonul am făcut alte găuri pe față.
Pasul 3: Încărcarea firmware-ului pe ESP32
Pentru acest proiect am folosit software universal, dezvoltat de mine
Vă rugăm să consultați pagina Github ESPHomeController. Acesta conține instrucțiuni complete despre cum să compilați și să configurați.
! Dacă nu sunteți familiarizați cu compilarea și Arduino, aruncați un pas Încărcarea firmware-ului gata
De îndată ce încărcați firmware-ul pentru prima dată, ESP32 va porni în modul de configurare (modul Punct de acces)
Ar trebui să le configurați. În acest scop, deschideți în orice listă de dispozitive WiFi disponibile. Găsiți HomeController și conectați-vă la acesta. Portalul captiv ar trebui să înceapă automat. Dacă nu, introduceți în adresa URL a browserului: 192.168.4.1 și veți vedea ecranul de configurare
Urmați instrucțiunile și configurați datele de conectare WiFi la rețeaua dvs. WiFi.
ESP va reporni după aceea ca client WiFi și se va conecta la Wifi.
Pe măsură ce se întâmplă prima conexiune sson, acesta va monta automat sistemul de fișiere Spiffs și va descărca fișierele necesare pentru portalul web:
- index.html
- filebrowse.html
- js / bundle.min.js.gz
Descărcarea are loc din folderul
Acum puteți vedea conținutul fișierului prin browserul web. pentru aceasta ar trebui să acum adresa IP a ESP32
O puteți găsi printr-unul dintre următoarele moduri:
- Utilizarea monitorului portului serial pentru a vedea jurnalele ESP32
- Utilizarea oricărui scaner tcp pentru scanarea dispozitivelor de rețea
- Apăsați un buton pe stația meteo și veți vedea informații despre sistem
Puneți în răsfoire https://192.168.0. XX/browse și veți vedea o listă de fișiere a ESP-ului dvs.
(192.168.0. XX este adresa IP a dispozitivului dvs.
Pentru reglarea finală trebuie să pregătiți fișiere de configurare.
Pasul 4: Încărcarea firmware-ului Ready
Această secțiune este specială pentru persoanele auditive care nu vor produce singuri firmware. Trebuie doar să încărcați firmware-ul „gata”
1. Descărcați instrumentele de încărcare flash din această pagină
2. Descărcați fișierele atașate (extrase din arhive) HomeController.bin și bootloader_qio_80m.bin pe hard disk
3. Porniți instrumentul de descărcare ESP32 și introduceți valorile în conformitate cu captura de ecran
4. Apăsați Start
Pasul 5: Configurare
Înainte de a începe pregătirea configurației aveți nevoie de:
- Creați-vă canalul pe lucrurile de vorbire și cheia pentru canalul dvs. Pregătiți 4 câmpuri și denumiți-le corect Temperatura, Umiditatea, Presiunea, Tensiunea
- Înregistrați-vă pe Weather.com pentru a obține cheia API
Thingspeak este necesar pentru a vă încărca datele și a monitoriza tendințele și valorile
Vremea este necesară pentru a obține date prognozate.
Ok, în cele din urmă trebuie să creați fișierul services.json cu următorul conținut
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": adevărat," sleeptype ": 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 = ro -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]}]
! Vă rugăm să înlocuiți
- thingspeakapi cu tasta api Thingspeak
- weatherapi cu tasta api meteo
- geocodificați cu locația dvs. pentru care doriți să obțineți prognoză
Decât pregătiți al doilea fișier triggers.json
[{"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}]
Ambele fișiere trebuie să fie uploded la rădăcina esp.
Puteți face acest lucru prin browserul https://192.168.0. XX/browse, unde https://192.168.0. XX este adresa IP a dispozitivului dvs.
După încărcare, ESP trebuie repornit și totul a fost făcut corect. Esp va afișa ecranul corespunzător ca în fotografia și videoclipul de mai sus
Pasul 6: Tuning și consum de energie
Îmi folosesc dispozitivul cu conexiunea la panoul solar și să fiu sigur că poate funcționa „infinit”
consumul de energie este important și după mai multe experimente am folosit două trucuri majore
Reduceți consumul de LED-uri de bază ale ecranului TFT
În funcție de măsurare, mănâncă 15-20 mA (mult), prin urmare am folosit tactici cu detector de mișcare. Funcționează perfect Detectoare de mișcare capabile să recunoască orice detecție de până la 8-10 metri și să crească tensiunea pe cablul de semnal. Aceasta este deschiderea unui tranzistor și ledul backround primesc o putere. De obicei, detectorul menține această stare până la 10 secunde, ceea ce este mai mult decât suficient pentru a vedea monitorul, dar dacă continuați mișcările, semnalul este încă ridicat și LED-ul se aprinde.
O astfel de abordare îmi oferă o economie mare, fără efecte suplimentare, nu întâmpin nicio problemă pentru a-mi vedea ecranul când vreau
2. Reduceți consumul de energie cu ESP32
Când ESP este conectat la WiFi, consumă în mod constant 7-10 mA, vorbesc despre timp constant, nu pornire și prima conexiune. Acest lucru poate fi acceptat dacă ați văzut întotdeauna data și ora efective, accesați sistemul din kitul Apple home
Și pentru energia mea solară în timpul iernii, a trebuit să se potrivească cu lucrările fără surse de energie suplimentare, Prin urmare, am decis să pun periodic ESP32 în modul de repaus (mâncarea este mai mică de 1 mA). Acest lucru este ok pentru mine, de exemplu, ESP doarme 20 de minute, decât trezirea, reîmprospătarea ecranului (date reale și prognoză) trimite date către lucrurile de vârf și înapoi la modul de repaus din nou
Minusurile sunt:
- Ecranul meteo afișează valori de timp învechite
- Stația nu este accesibilă din browser și Apple Home Kit în timpul somnului
Depinde de dvs. să decideți ce este mai important, puteți reconfigura acest lucru simplu.
Vă rugăm să aruncați un fișier și o linie services.json
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": adevărat," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}
„enableleep”: adevărat activează somnul, dacă este pus fals sau elimină parametrul (false este implicit) ESP nu va dormi niciodată
"sleepinterval": 900000, acesta este milis, sau 15 min, înseamnă că la fiecare 15 min ESP se va trezi și va face personal necesar
Deci, acum toată lumea poate juca ușor în funcție de necesitate
Pasul 7: Reglarea senzorilor
Pentru a minimiza impactul încălzirii interne asupra senzorului de temperatură BME280
În primul rând am făcut niște tuburi în jurul senzorului și găurilor. Hovewer în modul meu, atunci când LED-ul este normal oprit și ESP dormit nu este atât de important. În alte cazuri, senzorul BME280 ar trebui să se deplaseze undeva pentru a exclude influența încălzirii interne. Orice influență cât de mică am găsit, prin urmare, există doi parametri de compensat
"hum_corr": 10.0
ceea ce înseamnă că aceste valori vor fi adăugate după măsurare
Al doilea este calibrarea măsurării tensiunii bateriei, {"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
sunt în acest scop, deoarece tensiunea se măsoară după separatoare de rezistențe și comparată cu 3,3 V, jucând cu valoarea cvalmax puteți ajunge la reglarea exactă a tensiunii cu valoarea dvs. multimetr
Pasul 8: Adăugarea dispozitivului la trusa Apple Home
În cele din urmă, când dispozitivul dvs. funcționează corect, acesta poate fi adăugat la Apple Home Kit și veți putea vedea
valorile senzorilor de pe ecranul de pornire Apple.
Mai întâi trebuie să reporniți dispozitivul, de îndată ce dispozitivul a pornit, acesta nu va merge la culcare 20 de minute este mai mult decât suficient
Decât deschideți aplicația Home Kit pe dispozitivul dvs. iOS și selectați sau creați un nou Home1. Apăsați Adăugați (+)
2. Selectați Adăugare accesoriu.
3. Apăsați Nu am cod sau Nu pot scana (mai departe scanarea va fi adăugată)
4. dacă totul merge bine, ar trebui să vedeți noul dispozitiv esp într-o listă (a se vedea imaginea)
5. Selectați dispozitivul și confirmați adăugarea fără certificare oficială
6. Tastați parola 11111111
7. Atât! Ar trebui să vedeți dispozitivul asociat cu succes, altfel începeți din nou procesul de asociere..
Pe baza setării, veți vedea două dispozitive pe Apple
1. Senzor de temperatură și senzor de umor, mergând adânc, acesta va afișa valorile pe ecran complet
2. Senzor de lumină:) De fapt, Apple este capabil să arate ușor Ambianță, dar nu și Tensiune, de aceea tensiunea bateriei se afișează în Lux
Pasul 9: OTA: Actualizări Over the Air
Înainte de a începe orice actualizare, este mai bine să reporniți ESP32, așa cum s-a menționat înainte, nu va intra în repaus în primele 20 de minute
Există două posibilități de actualizare
- Configurare utilizând https://192.168.0. XX/browse puteți accesa sistemul de fișiere pe ESP și puteți modifica fișierele de configurare
- Puteți actualiza complet firmware-ul. în acest scop mai întâi trebuie să creați unul nou. Se poate face prin Arduino sau Visual Studio IDE. Apoi tastați în browserul https://192.168.0. XX/update, selectați firmware-ul și apăsați actualizare. Așteptați până când procesul este terminat și veți primi răspunsul OK, altfel repetați pasul din nou
Recomandat:
Stația meteo NaTaLia: Stația meteo cu energie solară Arduino a fost realizată în mod corect: 8 pași (cu imagini)
Stația meteo NaTaLia: Stația meteorologică cu energie solară Arduino a fost realizată corect: După 1 an de funcționare cu succes în 2 locații diferite, vă împărtășesc planurile proiectului stației meteo cu energie solară și vă explic cum a evoluat într-un sistem care poate supraviețui cu adevărat peste mult timp perioade de la energia solară. Dacă urmezi
Lumină cu cască alimentată cu energie solară: 3 pași
Lumină cu cască alimentată cu energie solară: am creat o lumină pentru cască cu încărcare solară, utilizând doar componentele disponibile la ACASĂ! Aceasta poate fi utilizată pe orice tip de căști, pentru vânătoare sau pescuit sau în scenarii de supraviețuire, etc. VERDE DIN NOU! Din Maroc < 3
Stație meteo WiFi alimentată cu energie solară V1.0: 19 pași (cu imagini)
Stație meteo WiFi alimentată cu energie solară V1.0: În acest instructabil, vă voi arăta cum să construiți o stație meteo WiFi alimentată cu energie solară cu o placă Wemos. Wemos D1 Mini Pro are un factor de formă mic și o gamă largă de scuturi plug-and-play îl fac o soluție ideală pentru a obține rapid
Bancă de energie alimentată cu energie solară din resturi: 3 pași
Banca alimentată cu energie solară de la deșeuri: Banca alimentată cu energie solară este fabricată din baterie veche pentru laptop. Acest lucru este foarte ieftin și poate fi încărcat de la energie solară. Acesta are, de asemenea, un afișaj care indică procentajul de putere în banca de putere. Să începem
Cutie poștală conectată alimentată cu energie solară: 12 pași (cu imagini)
Cutie poștală conectată alimentată cu energie solară: Pentru al doilea Ible, vă voi descrie lucrările mele despre cutia poștală conectată. După ce am citit acest Instructable (+ multe altele) și, deoarece cutia mea poștală nu este lângă casa mea, am vrut să mă inspire Deschideți lucrările Green Energy pentru a conecta cutia mea poștală la m