Taula de continguts:
- Pas 1: parts necessàries
- Pas 2: cablejat i muntatge
- Pas 3: càrrega del firmware a ESP32
- Pas 4: Càrrega de microprogramari llest
- Pas 5: configuració
- Pas 6: Sintonització i consum d'energia
- Pas 7: Sintonització dels sensors
- Pas 8: afegir un dispositiu al kit Apple Home
- Pas 9: OTA: actualitzacions a través de l'aire
Vídeo: Estació meteorològica ESP32 Alimentació solar: 9 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
En aquest tutorial crearem un projecte d'estació meteorològica habilitada per a WiFi.
L'objectiu és dissenyar l'estació meteorològica amb gairebé totes les plomes possibles:
- Mostra les condicions actuals, el temps, la temperatura, la humitat i la pressió
- Mostra la previsió per als propers dies
- Actualització en antena
- Lloc web integrat per a la configuració i representació de dades
- Pengeu dades al núvol per obtenir estadístiques de l'historial
- Integrat amb Aple Home Kit o MQTT
- Accu indepeded alimentat amb possible recàrrega o connexió a panell solar
No puc afegir més ni més imaginació, què més pot o pot ser
Pas 1: parts necessàries
- ESP32 (he utilitzat el mòdul dev)
- LCD TFT de 2,8 "240x320 SPI ILI9341
- Estoig de plàstic
- 3 x 18650 Accu
- Sensor meteorològic BME280 per mesurar la temperatura, la humitat i la pressió
- Mòdul de carregador de liti USB
- Pas DC-DC UP18650
- suport de la bateria (3pc)
- Detector de moviment HC-SR505
- Resistència 220 Om
- 2x resistències de 10 kOm
- El transistor TIP120 NPN (Darlington) es pot utilitzar qualsevol altre compatible
- ButtonWires, interruptor, placa de soldadura …
Pas 2: cablejat i muntatge
El primer pas és el muntatge de les potències de les estacions.
He dividit la caixa de plàstic en dues pares, una d'elles s'utilitza per a la bateria, l'interruptor, el carregador USB i la sortida de CC-CC. Tingueu en compte que el mòdul de carregador USB us ha estat molt fàcil, per tant, he utilitzat placa d'alumini i he posat carregador USB en aquest amb la cola Star 922.
El segon pas és muntar la part dels controladors.
Vegeu el diagrama de cablejat com s’ha de connectar
He utilitzat Bread Board per a aquest propòsit amb els passos següents
- Taula de desenvolupament de soldadura ESP32
- Escut de soldadura per mantenir la pantalla TFT
- Soldar altres components electrònics: BME280, resistències, botons
- Cablatge de soldadura entre components segons el diagrama
El tercer pas és preparar el muntatge de la taula de pa a la segona part de la caixa de plàstic. He imprès dues barres a la meva impressora 3D, les he muntat a la pissarra mitjançant cargols i faig un tall rectangular per a la pantalla.
Vaig enganxar suports de barres de plàstic al cos de la caixa de plàstic. Ara, quan la cola està seca, la cabina de la taula de pa es desmuntarà mitjançant cargols.
El següent pas és:
- Cablatge de soldadura per a font d'alimentació
- Cablatge de soldadura per a l'estat de la tensió de la bateria
- Detector de moviment de soldadura i muntatge
Pas final:
- configuració del convertidor CC-CC ajustant el voltatge de sortida 5v
- connecteu dues parts del controlador d’estació a l’alimentació: cables d’alimentació i lectura de voltatge
Per al detector de moviment i el botó he fet uns forats addicionals a la cara.
Pas 3: càrrega del firmware a ESP32
Per a aquest projecte he utilitzat programari universal, desenvolupat per mi mateix
Feu una ullada a la pàgina de github ESPHomeController. Conté instruccions completes sobre com compilar i configurar.
! Si no esteu familiaritzat amb la compilació i Arduino, feu un cop d'ull: carregueu el microprogramari a punt
Tan bon punt carregueu el firmware per primera vegada, l'ESP32 s'iniciarà en mode de configuració (mode de punt d'accés)
Hauríeu de configurar-los. Amb aquest propòsit obriu a qualsevol llista de dispositius de WiFi disponible. Cerqueu HomeController i connecteu-vos-hi. El portal captiu s'hauria d'iniciar automàticament. Si no, introduïu l'URL del navegador: 192.168.4.1 i veureu la pantalla de configuració
Seguiu les instruccions i configureu les credencials WiFi a la vostra xarxa WiFi.
L’ESP es reiniciarà després com a client WiFi i es connectarà al vostre wifi.
A mesura que es produeixi la connexió sson first, es muntarà automàticament el sistema de fitxers Spiffs i es descarregaran els fitxers necessaris per al portal web:
- index.html
- filebrowse.html
- js / bundle.min.js.gz
La baixada es produeix des de la carpeta
Ara podeu veure el contingut del fitxer mitjançant el navegador web. per a això, ara hauríeu d'adreça IP del vostre ESP32
El podeu trobar per una de les maneres següents:
- Utilitzant el monitor de port sèrie per veure registres ESP32
- Utilitzar qualsevol escàner TCP per escanejar els vostres dispositius de xarxa
- Premeu un botó a l'estació meteorològica i veureu la informació del sistema
Poseu-lo a navegar https://192.168.0. XX/browse i veureu una llista de fitxers del vostre ESP
(192.168.0. XX és l'adreça IP del vostre dispositiu
Per a l'ajust final, heu de preparar fitxers de configuració.
Pas 4: Càrrega de microprogramari llest
Aquesta secció és especialment per a auditius que no produiran firmware per vosaltres mateixos. Només cal que pengeu el firmware "llest"
1. Descarregueu eines de càrrega flash des d'aquesta pàgina
2. Baixeu els fitxers adjunts (extrets dels arxius) HomeController.bin i bootloader_qio_80m.bin al vostre disc dur
3. Inicieu l'eina de descàrrega ESP32 i introduïu els valors segons la captura de pantalla
4. Premeu Inici
Pas 5: configuració
Abans de començar la preparació de la configuració cal:
- Creeu el vostre canal a les coses i la clau del vostre canal. Prepareu 4 camps i anomeneu-los adequadament Temperatura, Humitat, Pressió, Voltatge
- Registreu-vos a Weather.com per obtenir la vostra clau API
Calen Thingspeak per penjar les vostres dades i controlar les tendències i els valors
El temps és necessari per obtenir dades de previsió.
D’acord, finalment cal crear un fitxer services.json amb el contingut següent
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," 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 = ca -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]}]
Si us plau, substituïu
- thingspeakapi amb la vostra tecla api Thingspeak
- weatherapi amb la vostra tecla api meteorològica
- geocodi amb la vostra ubicació per a la qual voleu obtenir la previsió
Preparar el segon fitxer 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}]
Els dos fitxers s'han de desplaçar a l'arrel de l'esp.
Podeu fer-ho mitjançant el navegador https://192.168.0. XX/browse, on https://192.168.0. XX és l'adreça IP del vostre dispositiu
Després de carregar l'ESP, s'ha de reiniciar i s'ha fet tot bé. Esp mostrarà la pantalla adequada tal com apareix a la foto i al vídeo de dalt
Pas 6: Sintonització i consum d'energia
Estic fent servir el meu dispositiu amb la connexió al panell solar i per estar segur que pot funcionar "infinitament"
el consum d'energia és important i després de diversos experiments he utilitzat dos trucs principals
Reduir el consum del LED de fons de la pantalla TFT
Segons la mesura, menja 15-20 mA (molt), per tant, he utilitzat tàctiques amb detector de moviment. Funciona perfectament amb detectors de moviment capaços de reconèixer qualsevol detecció de fins a 8-10 metres i augmentar la tensió al cable de senyal. Es tracta d'obertures d'un transistor i el LED de fons reben una alimentació. Normalment, el detector manté aquest estat fins a 10 segons, cosa que és suficient per veure el monitor, però si continueu els moviments, el senyal continua sent alt i el LED s’encén.
Aquest enfocament em dóna una gran economia, sense efectes addicionals, no trobo cap problema per veure la meva pantalla quan vulgui
2. Reduïu el consum d'energia mitjançant ESP32
Quan l’ESP està connectat a WiFi, menja constantment entre 7 i 10 mA, parlo de temps constant, no d’inici i primera connexió. Això és acceptable si sempre heu vist la data i l'hora reals i accediu al vostre sistema des del kit casolà d'Apple
Per a la meva energia solar a l’hivern també havia de coincidir amb les obres sense fonts d’energia addicionals, Per tant, vaig decidir posar periòdicament ESP32 al mode de repòs (menjar és inferior a 1 mA). Això és correcte per a mi, per exemple, l'ESP dorm 20 minuts, després de despertar, actualitzar la pantalla (dades reals i previsió) envia dades al thingspeak i torna al mode de repòs
Els menys són:
- La pantalla del temps mostra valors de temps obsolets
- No es pot accedir a Station des del navegador ni l’Apple Home Kit durant el temps de repòs
Depèn de vosaltres decidir què és més important; podeu reconfigurar-ho senzillament.
Consulteu el fitxer i la línia services.json
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}
"enableleep": true permet dormir en absolut, si es posa allà false o elimina el paràmetre (false és per defecte) l'ESP mai dormirà
"sleepinterval": 900000 això és mil·lis, o 15 min, vol dir que cada 15 min es despertarà ESP i farà personal necessari
Per tant, ara tothom pot jugar fàcilment segons la necessitat
Pas 7: Sintonització dels sensors
Per minimitzar l’impacte de la calefacció interna al sensor de temperatura BME280
Primer vaig fer un tub al voltant del sensor i dels forats. Hovewer en el meu mode quan el LED normalment està apagat i ESP està dormint no és tan important. En altres casos, el sensor BME280 s'ha de moure a algun lloc per excloure la influència de l'escalfament intern. Qualsevol influència petita que he trobat, per tant, hi ha dos paràmetres a compensar
"hum_corr": 10.0
que significa que aquests valors s'afegiran després del mesurament
El segon és calibrar la mesura del voltatge de la bateria, {"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
són per a aquest propòsit, perquè la tensió es mesura després dels divisors de resistències i es compara amb 3,3 V, jugant amb el valor cvalmax es pot arribar a sintonitzar la tensió exacta amb el seu valor multimetr
Pas 8: afegir un dispositiu al kit Apple Home
Finalment, quan el dispositiu funcioni correctament, es pot afegir a Apple Home Kit i podreu veure-ho
valors dels sensors a la pantalla inicial d’Apple.
En primer lloc, heu de reiniciar el dispositiu, ja que el dispositiu es va iniciar, no es posarà a dormir 20 minuts, és més que suficient
Obriu l'aplicació Home Kit al vostre dispositiu iOS i seleccioneu o creeu Home1 nou. Premeu Afegeix (+)
2. Seleccioneu Afegeix accessori.
3. Premeu No tinc codi o No puc escanejar (més endavant s'afegirà l'escaneig)
4. si tot va bé, hauríeu de veure el vostre nou dispositiu esp en una llista (veure imatge)
5. Seleccioneu el dispositiu i confirmeu l'afegit sense certificació oficial
6. Escriviu la contrasenya 11111111
7. Que tot! Hauríeu de veure que el dispositiu s'ha emparellat correctament; en cas contrari, torneu a iniciar el procés de sincronització..
Segons aquesta configuració, veureu dos dispositius a l'Apple
1. Sensor de temperatura i sensor d’humor, aprofundint, mostrarà valors a pantalla completa
2. Sensor de llum:) En realitat, Apple és capaç de mostrar un ambient lleuger, però no tensió, per tant, el voltatge de la bateria es mostra a Lux
Pas 9: OTA: actualitzacions a través de l'aire
Abans de començar qualsevol actualització, és millor reiniciar ESP32, com ja s'ha dit, no s'endormirà els primers 20 minuts
Hi ha dues possibilitats per actualitzar
- Configuració mitjançant https://192.168.0. XX/browse podeu accedir al vostre sistema de fitxers a ESP i canviar els fitxers de configuració
- Podeu actualitzar completament el firmware. per a això, primer cal crear-ne un de nou. Es pot fer mitjançant Arduino o Visual Studio IDE. A continuació, escriviu el navegador https://192.168.0. XX/update, seleccioneu el firmware i premeu Actualitza. Espereu fins que s'acabi el procés i obtindreu la resposta OK, en cas contrari repetiu el pas de nou
Recomanat:
Estació meteorològica solar modular: 5 passos (amb imatges)
Estació meteorològica solar modular: un dels projectes que volia construir durant un temps va ser una estació meteorològica modular. Modular en el sentit que podem afegir els sensors que volem només canviant el programari. L’estació meteorològica modular es divideix en tres parts. La placa principal té el W
Estació meteorològica NaTaLia: l'estació meteorològica amb energia solar Arduino s'ha fet correctament: 8 passos (amb imatges)
Estació meteorològica NaTaLia: Estació meteorològica amb energia solar Arduino feta de la manera correcta: després d’un any d’exitació en 2 llocs diferents, comparteixo els plans del projecte de la meva estació meteorològica amb energia solar i explico com va evolucionar cap a un sistema que realment pot sobreviure durant molt de temps períodes des de l'energia solar. Si segueixes
Estació meteorològica de bricolatge i estació de sensor WiFi: 7 passos (amb imatges)
Estació meteorològica de bricolatge i estació de sensor WiFi: en aquest projecte us mostraré com crear una estació meteorològica juntament amb una estació de sensor WiFi. L'estació del sensor mesura les dades de temperatura i humitat locals i les envia, mitjançant WiFi, a l'estació meteorològica. L'estació meteorològica mostra llavors
Estació Meteorològica Solar: 5 passos
Solar Weather Station: alguna vegada heu desitjat informació meteorològica en temps real des del jardí del darrere? Ara podeu comprar una estació meteorològica a la botiga, però normalment solen necessitar bateries o estar connectades a una presa de corrent. Aquesta estació meteorològica no necessita estar connectada a
Estació meteorològica solar ESP32: 4 passos (amb imatges)
Estació meteorològica solar ESP32: per al meu primer projecte IoT, volia construir una estació meteorològica i enviar les dades a data.sparkfun.com. Petita correcció, quan vaig decidir obrir el meu compte a Sparkfun, no acceptaven més connexions, tria un altre recopilador de dades IoT que