Obsah:
- Krok 1: Potrebné diely
- Krok 2: Zapojenie a montáž
- Krok 3: Nahranie firmvéru do ESP32
- Krok 4: Odovzdanie pripraveného firmvéru
- Krok 5: Konfigurácia
- Krok 6: Ladenie a spotreba energie
- Krok 7: Ladenie senzorov
- Krok 8: Pridanie zariadenia do Apple Home Kit
- Krok 9: OTA: Aktualizácie over the air
Video: Meteorologická stanica ESP32 na solárny pohon: 9 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V tomto návode postavíme projekt meteorologickej stanice s podporou WiFi.
Cieľom je navrhnúť meteorologickú stanicu s takmer všetkými možnými detailmi:
- Ukážte aktuálne podmienky, čas, teplotu, vlhkosť, tlak
- Zobraziť predpoveď na ďalšie dni
- Aktualizácia vo vzduchu
- Vstavaná webová stránka na konfiguráciu a reprezentáciu údajov
- Nahrajte údaje do cloudu a získajte štatistiky histórie
- Integrovaný s Aple Home Kit alebo MQTT
- Indepeded Accu napájaný s možným dobíjaním alebo pripojením k solárnemu panelu
Nemôžem pridať viac a nie väčšiu predstavivosť, čo iné musí alebo môže byť
Krok 1: Potrebné diely
- ESP32 (použil som modul pre vývojárov)
- 2,8 "240x320 TFT LCD SPI ILI9341
- Plastové puzdro
- 3 x 18650 Accu
- Senzor počasia BME280 na meranie teploty, vlhkosti a tlaku
- USB lítiový nabíjací modul
- Krok DC-DC UP18650
- držiak batérie (3 kusy)
- Detektor pohybu HC-SR505
- Odpor 220 Om
- 2x 10 kOm odpory
- TIP120 NPN tranzistor (Darlington) môže byť použitý aj akýkoľvek iný kompatibilný
- ButtonWires, vypínač, spájkovacia doska….
Krok 2: Zapojenie a montáž
Prvým krokom je zostavenie výkonov stanice.
Plastové puzdro som rozdelil na dva pars, jeden z nich slúžil na batériu, vypínač, nabíjačku USB a DC-DC. Do tejto časti som vložil držiak batérie a vyrobil okná pre vypínač a nabíjačku USB. Uvedomte si, že modul USB nabíjačky je dosť háklivý, a preto som použil hliníkový plech a nalepil naň nabíjačku USB pomocou lepidla Star 922.
Druhým krokom je montáž časti ovládačov.
Pozrite si schému zapojenia, ako by mal byť zapojený
Na tento účel som použil chlebovú dosku s nasledujúcimi krokmi
- Spájkovacia doska ESP32 pre vývojárov
- Spájkovací štít na uchovanie TFT displeja
- Spájkujte ďalšie elektronické súčiastky: BME280, odpory, tlačidlá
- Spájkovacie vedenie medzi komponentmi podľa schémy
Tretím krokom je príprava montáže chlebovej dosky na druhú časť plastového puzdra. Na svoju 3D tlačiareň som vytlačil dve lišty, pripevnil ich na bredboard pomocou skrutiek a urobil pravouhlé vyrezanie pre obrazovku displeja.
Na telo plastového puzdra som prilepil podpery z plastových tyčí. Keď je lepidlo suché, kabínu dosky na chleba odpojte pomocou skrutiek.
Ďalší krok je:
- Spájkovacia kabeláž pre zdroj energie
- Spájkovacie vedenie pre stav napätia batérie
- Spájkovací a montážny detektor pohybu
Posledný krok:
- nastavenie DC-DC prevodníka ladením výstupného napätia 5v
- pripojte dve časti ovládača stanice k napájaniu: napájacie vodiče a čítanie napätia
Pre detektor pohybu a tlačidlo som urobil ďalšie otvory na lícnej strane.
Krok 3: Nahranie firmvéru do ESP32
Na tento projekt som použil univerzálny softvér, ktorý som vyvinul sám
Pozrite sa na stránku github ESPHomeController. Obsahuje kompletný návod na kompiláciu a nastavenie.
! Ak nie ste oboznámení s kompiláciou a Arduino, pozrite sa na krok Nahrajte pripravený firmvér
Hneď ako prvýkrát nahráte firmvér, ESP32 sa spustí v režime konfigurácie (režim prístupového bodu)
Mali by ste ich nakonfigurovať. Za týmto účelom otvorte zoznam dostupných WiFi v ľubovoľnom zariadení. Nájdite HomeController a pripojte sa k nemu. Kaptívny portál by sa mal spustiť automaticky. Ak nezadáte adresu URL svojho prehliadača: 192.168.4.1, zobrazí sa obrazovka konfigurácie
Postupujte podľa pokynov a nakonfigurujte poverenia WiFi pre svoju sieť WiFi.
Potom sa ESP reštartuje ako WiFi klient a pripojí sa k vášmu Wifi.
Keď dôjde k spojeniu sson, spustí sa automatické pripojenie systému súborov Spiffs a stiahne požadované súbory pre webový portál:
- index.html
- filebrowse.html
- js/bundle.min.js.gz
Sťahovanie prebieha z priečinka
Teraz môžete obsah súboru zobrazovať prostredníctvom webového prehliadača. Na to by ste teraz mali mať IP adresu vášho ESP32
Môžete ho nájsť jedným z nasledujúcich spôsobov:
- Použitie monitora sériového portu na zobrazenie protokolov ESP32
- Na skenovanie sieťových zariadení použite ľubovoľný skener tcp
- Na meteorologickej stanici stlačte tlačidlo a zobrazia sa systémové informácie
Vložte do prehľadávača https://192.168.0. XX/browse a zobrazí sa zoznam súborov vášho ESP
(192.168.0. XX je adresa IP vášho zariadenia
Na konečné ladenie musíte pripraviť konfiguračné súbory.
Krok 4: Odovzdanie pripraveného firmvéru
Táto časť je určená predovšetkým pre sluchovo postihnutých, ktorí si sami nevyrobia firmvér. Stačí nahrať „pripravený“firmvér
1. Stiahnite si nástroje na nahrávanie Flash z tejto stránky
2. Stiahnite si priložené (výpis z archívov) súbory HomeController.bin a bootloader_qio_80m.bin na pevný disk
3. Spustite nástroj na stiahnutie ESP32 a zadajte hodnoty podľa snímky obrazovky
4. Stlačte štart
Krok 5: Konfigurácia
Pred začatím prípravy konfigurácie potrebujete:
- Vytvorte si kanál na vrchole vecí, ktoré sú pre váš kanál kľúčové. Pripravte pole 4 a správne ich pomenujte Teplota, Vlhkosť, Tlak, Napätie
- Zaregistrujte sa na stránke Weather.com a získajte svoj api kľúč
Na nahrávanie vašich údajov a sledovanie trendov a hodnôt je potrebný program Thingspeak
Na získanie predpovedných údajov je potrebné počasie.
Ok, konečne potrebujete vytvoriť súbor services.json s nasledujúcim obsahom
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," letsleep ": 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", "povolené": true, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30,70 & format = json & units = m & language = sk -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]}]
! Vymeňte prosím
- thingspeakapi pomocou kľúča api thingspeak
- weatherapi pomocou vášho kľúča api počasia
- geokód s vašou polohou, pre ktorú chcete získať predpoveď
Potom pripravte druhý súbor 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}]
Oba súbory musia byť aktualizované do koreňového adresára esp.
Môžete to urobiť prostredníctvom prehliadača https://192.168.0. XX/browse, kde https://192.168.0. XX je adresa IP vášho zariadenia
Po nahraní musí byť ESP reštartovaný a všetko bolo urobené správne. Esp ukáže správnu obrazovku ako na fotografii a videu vyššie
Krok 6: Ladenie a spotreba energie
Používam svoje zariadenie s pripojením k solárnemu panelu a mám istotu, že môže fungovať „nekonečne“
spotreba energie je dôležitá a po niekoľkých experimentoch som použil dva hlavné triky
Znížte spotrebu bacground LED diódy TFT obrazovky
Podľa merania to žerie 15-20 mA (veľa), preto som použil taktiku s detektorom pohybu. Funguje perfektne Detektory pohybu sú schopné rozpoznať akúkoľvek detekciu až na 8-10 metrov a zvýšiť napätie na signálnom kábli. Toto otvára otvory tranzistora a zadné LED diódy dostávajú energiu. Detektor zvyčajne udrží tento stav až 10 sekúnd, čo je viac ako dosť na to, aby ste videli monitor, ale ak budete pokračovať v pohybe, signál je stále vysoký a LED dióda svieti.
Takýto prístup mi dáva veľkú úspornosť a bez ďalších efektov sa nestretávam so žiadnym problémom vidieť svoju obrazovku, keď chcem
2. Znížte spotrebu energie pomocou systému ESP32
Keď je ESP pripojené k WiFi, neustále žerie 7-10 mA, hovorím o neustálom čase, nie o spustení a prvom pripojení. To môže byť prijateľné, ak ste vždy videli skutočný dátum a čas, pristupujte k svojmu systému z domácej súpravy Apple
Aj pre moju slnečnú energiu v zime to zodpovedalo práci bez návykových zdrojov energie, Preto som sa rozhodol pravidelne uvádzať ESP32 do režimu spánku (jesť je menej ako 1 mA). To je pre mňa v poriadku, napríklad ESP spí 20 minút, než sa prebudí, obnovovacia obrazovka (aktuálne údaje a predpoveď) odošle údaje na vrchol a späť do režimu spánku.
Mínusy sú:
- Obrazovka počasia zobrazuje zastarané hodnoty času
- Stanica nie je počas režimu spánku dostupná z prehliadača a Apple Home Kit
Je na vás, aby ste sa rozhodli, čo je dôležitejšie, môžete to jednoducho prekonfigurovať.
Pozrite sa na súbor services.json a riadok
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," letsleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}
"Povolenie spánku": true vôbec povolí spánok, ak ho zadáte false alebo odstránite parameter (false je predvolené) ESP nikdy nespí
„spánkový interval“: 900 000, čo je niekoľko miliónov alebo 15 minút, znamená to, že každých 15 minút sa ESP zobudí a robí potrebných zamestnancov
Teraz teda môže každý ľahko hrať podľa potreby
Krok 7: Ladenie senzorov
Aby sa minimalizoval vplyv vnútorného ohrevu na snímač teploty BME280
Najprv som urobil niekoľko trubiek okolo senzora a dier. Umiestnenie myši v mojom režime, keď je LED dióda normálne vypnutá a ESP spí, nie je také dôležité. V ostatných prípadoch by sa mal snímač BME280 presunúť niekam, aby sa vylúčil vplyv vnútorného vykurovania. Akýkoľvek malý vplyv som našiel, preto existujú dva parametre na kompenzáciu
"hum_corr": 10.0
čo znamená, že tieto hodnoty budú pridané po meraní
Druhým je kalibrácia merania napätia batérie, {"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
slúžia na tieto účely, pretože napätie sa meria po deličoch rezistorov a porovnáva sa s 3,3 V, pri hraní s hodnotou cvalmax môžete dosiahnuť presné ladenie napätia pomocou svojej multimetrovej hodnoty
Krok 8: Pridanie zariadenia do Apple Home Kit
Nakoniec, keď vaše zariadenie funguje správne, môže byť pridané do Apple Home Kit a budete môcť vidieť
hodnoty senzorov na domovskej obrazovke Apple.
Najprv musíte reštartovať zariadenie, pretože keď sa zariadenie spustí, neprebudí sa spánok, 20 minút je viac než dosť
Potom otvorte aplikáciu Home Kit na svojom zariadení iOS a vyberte alebo vytvorte nový Home1. Stlačte tlačidlo Pridať (+)
2. Vyberte položku Pridať príslušenstvo.
3. Stlačte Nemám kód alebo Nemôžem skenovať (ďalšie informácie o skenovaní budú pridané)
4. ak je všetko v poriadku, mali by ste vidieť svoje nové zariadenie esp v zozname (pozri obrázok)
5. Vyberte zariadenie a potvrďte pridanie bez oficiálnej certifikácie
6. Zadajte heslo 11111111
7. To všetko! Mali by ste vidieť, že zariadenie bolo úspešne spárované, inak začnite proces párovania znova..
Na základe tohto nastavenia uvidíte na Apple dve zariadenia
1. Teplotný senzor a snímač humusu, pri hĺbke bude zobrazovať hodnoty na celej obrazovke
2. Svetelný senzor:) V skutočnosti je spoločnosť Apple schopná zobrazovať jemné prostredie, ale nie napätie, preto sa napätie batérie zobrazuje v Luxe
Krok 9: OTA: Aktualizácie over the air
Pred začatím akejkoľvek aktualizácie je lepšie reštartovať ESP32, ako už bolo spomenuté, neprejde do režimu spánku prvých 20 minút
Existujú dve možnosti aktualizácie
- Konfigurácia pomocou https://192.168.0. XX/browse vám umožní prístup k vášmu systému súborov na ESP a zmenu konfiguračných súborov
- Môžete úplne aktualizovať firmvér. Na tieto účely musíte najskôr vytvoriť nový. To je možné vykonať prostredníctvom Arduino alebo Visual Studio IDE. Potom zadajte do prehliadača https://192.168.0. XX/update, vyberte firmvér a stlačte aktualizovať. Počkajte, kým sa proces neskončí a odpoveď bude v poriadku, inak krok zopakujte znova
Odporúča:
Profesionálna meteorologická stanica s použitím ESP8266 a ESP32 DIY: 9 krokov (s obrázkami)
Profesionálna meteorologická stanica využívajúca ESP8266 a ESP32 DIY: LineaMeteoStazione je kompletná meteorologická stanica, ktorú je možné prepojiť s profesionálnymi senzormi od spoločnosti Sensirion, ako aj s niektorými komponentmi Davis Instrument (Rain Gauge, Anemometer) Projekt je zameraný ako meteorologická stanica pre domácich majstrov, ale vyžaduje
Satelitná meteorologická stanica: 5 krokov
Satelitná meteorologická stanica: Tento projekt je určený pre ľudí, ktorí chcú zbierať svoje vlastné údaje o počasí. Dokáže merať rýchlosť a smer vetra, teplotu a vlhkosť vzduchu. Je tiež schopný počúvať meteorologické satelity obiehajúce okolo Zeme raz za 100 minút. Ja budem
Pripojená meteorologická stanica s ESP32: 3 kroky
Pripojená meteorologická stanica s ESP32: V tomto návode sa naučíte, ako nastaviť meteorologickú stanicu na báze ESP32 a ako diaľkovo monitorovať jej namerané hodnoty prostredníctvom aplikácie Blynk a tiež prostredníctvom webovej stránky
Solárna meteorologická stanica ESP32: 4 kroky (s obrázkami)
Solárna meteorologická stanica ESP32: Pre svoj prvý projekt internetu vecí som chcel postaviť meteorologickú stanicu a odoslať údaje na data.sparkfun.com. Malá oprava, keď som sa rozhodol otvoriť svoj účet v Sparkfun, neprijímali ďalšie pripojenia, takže som vyberte iného zberača údajov IoT, ktorý
Hodiny vytáčania motocyklov na solárny pohon: 5 krokov (s obrázkami)
Solárne poháňané hodiny na motocykel: Zo starého motocykla mi zostal tacho číselník, keď som mechanický otáčkomer nahradil elektronickým panelom (to je ďalší projekt!) A nechcel som ho vyhodiť. Tieto veci sú navrhnuté tak, aby boli podsvietené, keď sú svetlá bicykla vypnuté