Obsah:

Meteorologická stanica ESP32 na solárny pohon: 9 krokov
Meteorologická stanica ESP32 na solárny pohon: 9 krokov

Video: Meteorologická stanica ESP32 na solárny pohon: 9 krokov

Video: Meteorologická stanica ESP32 na solárny pohon: 9 krokov
Video: Как управлять приводом с помощью Arduino - Robojax 2024, Jún
Anonim
Image
Image
Meteorologická stanica ESP32 na solárne napájanie
Meteorologická stanica ESP32 na solárne napájanie
Meteorologická stanica ESP32 na solárne napájanie
Meteorologická stanica ESP32 na solárne napájanie

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

Potrebné diely
Potrebné diely
Potrebné diely
Potrebné diely
Potrebné diely
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áž

Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia 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

Odovzdáva sa pripravený firmvér
Odovzdáva sa pripravený firmvér

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:

  1. 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
  2. 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

Tuning a spotreba energie
Tuning 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

Pridanie zariadenia do domácej súpravy Apple
Pridanie zariadenia do domácej súpravy Apple

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

  1. 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
  2. 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: