Obsah:

Meteorologická stanice ESP32 na solární pohon: 9 kroků
Meteorologická stanice ESP32 na solární pohon: 9 kroků

Video: Meteorologická stanice ESP32 na solární pohon: 9 kroků

Video: Meteorologická stanice ESP32 na solární pohon: 9 kroků
Video: Sencor - Wi-Fi profesionální meteorologická stanice /45s/ 2024, Červen
Anonim
Image
Image
Meteorologická stanice ESP32 na solární pohon
Meteorologická stanice ESP32 na solární pohon
Meteorologická stanice ESP32 na solární pohon
Meteorologická stanice ESP32 na solární pohon

V tomto tutoriálu budeme stavět projekt meteorologické stanice s podporou WiFi.

Cílem je navrhnout meteorologickou stanici s téměř všemi možnými funkcemi:

  • Ukažte aktuální podmínky, čas, teplotu, vlhkost, tlak
  • Zobrazit předpověď na další dny
  • Aktualizace ve vzduchu
  • Vestavěný web pro konfiguraci a reprezentaci dat
  • Nahrajte data do cloudu pro statistiky historie
  • Integrováno s Aple Home Kit nebo MQTT
  • Indepeded Accu napájen s možným dobíjením nebo připojením k solárnímu panelu

Nemohu přidat více a ne větší představivost, co jiného musí nebo může být

Krok 1: Díly, které jsou nutné

Díly, které jsou vyžadovány
Díly, které jsou vyžadovány
Díly, které jsou vyžadovány
Díly, které jsou vyžadovány
Díly, které jsou vyžadovány
Díly, které jsou vyžadovány
  • ESP32 (použil jsem dev modul)
  • 2,8 "240x320 TFT LCD SPI ILI9341
  • Plastový obal
  • 3 x 18650 Accu
  • Senzor počasí BME280 pro měření teploty, vlhkosti a tlaku
  • USB lithiový nabíjecí modul
  • Krok DC-DC UP18650
  • držák baterie (3ks)
  • Detektor pohybu HC-SR505
  • Rezistor 220 Om
  • 2x 10 kOm odpory
  • TIP120 NPN tranzistor (Darlington) lze použít jakýkoli jiný kompatibilní
  • ButtonWires, switch, pájecí deska….

Krok 2: Zapojení a montáž

Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž

Prvním krokem je sestavení staničních sil.

Rozdělil jsem plastové pouzdro na dva pars, jeden z nich sloužil pro baterii, přepínač, USB nabíječku a DC-DC. Do této části jsem vložil držák baterie a vytvořil okna pro přepínač a USB nabíječku. Uvědomte si, že USB nabíjecí modul je docela hetický, a proto jsem použil hliníkovou desku a na ni položil USB nabíječku pomocí lepidla Star 922.

Druhým krokem je montáž části ovladačů.

Podívejte se na schéma zapojení, jak by mělo být připojeno

K tomuto účelu jsem použil Bread board s následujícími kroky

  • Pájecí deska ESP32 pro vývojáře
  • Pájecí štít pro zachování TFT displeje
  • Pájejte další elektronické součástky: BME280, odpory, tlačítka
  • Pájecí kabeláž mezi součástmi podle schématu

Třetím krokem je příprava montáže chlebové desky na druhou část plastového pouzdra. Vytiskl jsem na svou 3D tiskárnu dva pruhy, připevnil je k bredboardu pomocí šroubů a provedl obdélníkové řezání obrazovky.

Na tělo plastového pouzdra jsem nalepil plastové tyče. Když je lepidlo suché, kabinu z chlebové desky odpojte šrouby.

Další krok je:

  • Pájecí kabeláž pro napájecí zdroj
  • Pájecí kabeláž pro stav napětí baterie
  • Pájecí a montážní detektor pohybu

Poslední krok:

  • nastavení DC-DC měniče laděním výstupního napětí 5v
  • připojte dvě části ovladače stanice k napájení: napájecí vodiče a čtení napětí

Pro detektor pohybu a tlačítko jsem udělal další otvory na lícní straně.

Krok 3: Nahrání firmwaru do ESP32

Pro tento projekt jsem použil univerzální software, který jsem vyvinul sám

Podívejte se na stránku github ESPHomeController. Obsahuje kompletní instrukce, jak kompilovat a nastavovat.

! Pokud nejste obeznámeni s kompilací a Arduino, podívejte se na krok Nahrání připraveného firmwaru

Jakmile poprvé nahrajete firmware, ESP32 se spustí v režimu konfigurace (režim přístupového bodu)

Měli byste je nakonfigurovat. Za tímto účelem otevřete seznam dostupných WiFi v libovolném zařízení. Najděte HomeController a připojte se k němu. Zajatý portál by se měl spustit automaticky. Pokud nezadáte adresu URL svého prohlížeče: 192.168.4.1, zobrazí se konfigurační obrazovka

Postupujte podle pokynů a nakonfigurujte přihlašovací údaje WiFi do vaší sítě WiFi.

ESP se poté restartuje jako WiFi klient a připojí se k vašemu Wifi.

Jakmile dojde k připojení sson firts, automaticky se připojí souborový systém Spiffs a stáhne požadované soubory pro webový portál:

  • index.html
  • filebrowse.html
  • js/bundle.min.js.gz

Stahování probíhá ze složky

Nyní můžete obsah souboru zobrazit prostřednictvím webového prohlížeče. k tomu byste nyní měli IP adresu vašeho ESP32

Můžete jej najít jedním z následujících způsobů:

  • Použití monitoru sériového portu k zobrazení protokolů ESP32
  • K skenování vašich síťových zařízení použijte jakýkoli skener tcp
  • Stiskněte tlačítko na meteorologické stanici a zobrazí se systémové informace

Vložte do procházení https://192.168.0. XX/browse a uvidíte seznam souborů vašeho ESP

(192.168.0. XX je IP adresa vašeho zařízení

Pro konečné ladění je třeba připravit konfigurační soubory.

Krok 4: Nahrání připraveného firmwaru

Odesílání připraveného firmwaru
Odesílání připraveného firmwaru

Tato část je určena zejména pro sluchově postižené, kteří si nebudou sami vyrábět firmware. Stačí nahrát „připravený“firmware

1. Z této stránky si stáhněte nástroje pro nahrávání flash

2. Stáhněte si připojené (extrahujte z archivů) soubory HomeController.bin a bootloader_qio_80m.bin na pevný disk

3. Spusťte nástroj pro stahování ESP32 a zadejte hodnoty podle snímku obrazovky

4. Stiskněte start

Krok 5: Konfigurace

Před zahájením přípravy konfigurace potřebujete:

  1. Vytvořte si kanál na vrcholu věci a klíči pro svůj kanál. Připravte pole 4 a pojmenujte je správně Teplota, Vlhkost, Tlak, Napětí
  2. Zaregistrujte se na webu Weather.com a získejte svůj klíč API

K nahrání vašich dat a sledování trendů a hodnot je potřeba program Thingspeak

K získání předpovědních dat je nutné počasí.

Dobře, nakonec potřebujete vytvořit soubor services.json s následujícím obsahem

[{"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", "enabled": true, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30,70 & format = json & units = m & language = cs -US & apiKey = počasí 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, "hodnota": [1, 1, 1, 1, 0, 0, 0, 0], „apiKey“: „thingspea kapi "}, {" enabled ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pins ": [27]}]

! Vyměňte prosím

  • thingspeakapi s klíčem API thingspeak
  • weatherapi s vaším klíčem api počasí
  • geokód s vaší polohou, pro kterou chcete získat předpověď

Než připravte druhý soubor 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 soubory musí být aktualizovány na kořenový adresář esp.

Můžete to provést pomocí prohlížeče https://192.168.0. XX/browse, kde https://192.168.0. XX je IP adresa vašeho zařízení

Po nahrání musí být ESP restartován a vše proběhlo správně. Esp zobrazí správnou obrazovku jako na fotografii a videu výše

Krok 6: Tuning a spotřeba energie

Tuning a spotřeba energie
Tuning a spotřeba energie

Používám své zařízení s připojením k solárnímu panelu a mám jistotu, že může fungovat „nekonečně“

spotřeba energie je důležitá a po několika experimentech jsem použil dva hlavní triky

Snižte spotřebu bacground LED na TFT obrazovce

Podle měření to žere 15-20 mA (hodně), proto jsem použil taktiku s detektorem pohybu. Funguje perfektně Pohybové detektory schopné rozpoznat jakoukoli detekci až na 8-10 metrů a zvýšit napětí na signálním kabelu. Toto otevírá tranzistor a zadní LED diody dostávají energii. Detektor obvykle udržuje tento stav až 10 sekund, což je více než dost na to, abyste viděli monitor, ale pokud budete pokračovat v pohybu, signál je stále vysoký a LED svítí.

Takový přístup mi dává velkou ekonomiku, bez dalších efektů, nesetkávám se s žádným problémem vidět svou obrazovku, když chci

2. Snižte spotřebu energie pomocí ESP32

Když je ESP připojeno k WiFi, neustále to žere 7-10 mA, mluvím o konstantním čase, nikoli o spuštění a prvním připojení. To může být přijatelné, pokud jste vždy viděli skutečné datum a čas, přistupujte ke svému systému z domácí sady Apple

I pro moji sluneční energii v zimním období to odpovídalo práci bez návykových zdrojů energie, Proto jsem se rozhodl pravidelně přepínat ESP32 do režimu spánku (jídlo je menší než 1 mA). To je pro mě v pořádku, například ESP spí 20 minut, než se probudí, obnovovací obrazovka (skutečná data a předpověď) odešle data do věci a zpět do režimu spánku

Mínusy jsou:

  • Obrazovka Počasí zobrazuje zastaralé hodnoty času
  • Stanice není během režimu spánku přístupná z prohlížeče a Apple Home Kit

Je na vás, abyste se rozhodli, co je důležitější, můžete to jednoduše překonfigurovat.

Podívejte se na soubor services.json a řádek

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," letsleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}

"enablesleep": true povolí spánek vůbec, pokud je tam uveden false nebo odebere parametr (false je výchozí) ESP nikdy nespí

„spánkový interval“: 900 000 to je milisekunda, neboli 15 minut, znamená to, že každých 15 minut se ESP probudí a provede nezbytný personál

Nyní tedy může každý snadno hrát podle potřeby

Krok 7: Ladění senzorů

Aby se minimalizoval dopad vnitřního ohřevu na teplotní čidlo BME280

Nejprve jsem udělal několik trubek kolem senzoru a otvorů. Když se LED dioda normálně vypne a ESP spí, v mém režimu není tak důležité. V ostatních případech by se snímač BME280 měl někam přesunout, aby se vyloučil vliv vnitřního vytápění. Jakýkoli malý vliv jsem našel, proto existují dva parametry pro kompenzaci

"hum_corr": 10.0

což znamená, že tyto hodnoty budou přidány po měření

Za druhé je kalibrace měření napětí baterie, {"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

jsou pro tyto účely, protože napětí je měřeno po děličích odporů a porovnáno s 3,3 V, hraním s hodnotou cvalmax můžete dosáhnout přesného ladění napětí s vaší multimetrovou hodnotou

Krok 8: Přidání zařízení do Apple Home Kit

Přidání zařízení do Apple Home Kit
Přidání zařízení do Apple Home Kit

Nakonec, když vaše zařízení funguje správně, může být přidáno do Apple Home Kit a uvidíte

hodnoty senzorů na domovské obrazovce Apple.

Nejprve musíte restartovat zařízení, protože ssoon jako zařízení začalo nespí 20 minut je více než dost

Poté otevřete aplikaci Home Kit na svém zařízení iOS a vyberte nebo vytvořte nový Home1. Stiskněte Přidat (+)

2. Vyberte Přidat příslušenství.

3. Stiskněte Nemám kód nebo Nelze skenovat (další informace o skenování budou přidány)

4. pokud je vše v pořádku, měli byste vidět své nové zařízení esp v seznamu (viz obrázek)

5. Vyberte zařízení a potvrďte přidání bez oficiální certifikace

6. Zadejte heslo 11111111

7. To všechno! Měli byste vidět, že se zařízení úspěšně spárovalo, jinak spusťte proces párování znovu..

Na základě tohoto nastavení uvidíte na Apple dvě zařízení

1. Teplotní senzor a snímač Hum, při hloubce zobrazí hodnoty na celé obrazovce

2. Světelný senzor:) Ve skutečnosti je Apple schopen zobrazit světelné prostředí, ale nikoli napětí, proto se napětí baterie zobrazuje v Luxech

Krok 9: OTA: Over the Air Aktualizace

Před zahájením jakékoli aktualizace je lepší restartovat ESP32, jak bylo zmíněno dříve, prvních 20 minut nepřejde do režimu spánku

Existují dvě možnosti aktualizace

  1. Konfigurace pomocí https://192.168.0. XX/browse můžete přistupovat k vašemu systému souborů na ESP a měnit konfigurační soubory
  2. Firmware můžete kompletně aktualizovat. pro tyto účely musíte nejprve vytvořit nový. To lze provést prostřednictvím Arduino nebo Visual Studio IDE. Poté zadejte do prohlížeče https://192.168.0. XX/update, vyberte svůj firmware a stiskněte aktualizovat. Počkejte, až se proces dokončí, a dostanete odpověď v pořádku, jinak krok opakujte znovu

Doporučuje: