Obsah:
- Krok 1: Díly, které jsou nutné
- Krok 2: Zapojení a montáž
- Krok 3: Nahrání firmwaru do ESP32
- Krok 4: Nahrání připraveného firmwaru
- Krok 5: Konfigurace
- Krok 6: Tuning a spotřeba energie
- Krok 7: Ladění senzorů
- Krok 8: Přidání zařízení do Apple Home Kit
- Krok 9: OTA: Over the Air Aktualizace
Video: Meteorologická stanice ESP32 na solární pohon: 9 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
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é
- 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áž
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
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:
- 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í
- 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
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
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
- 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
- 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:
Profesionální meteorologická stanice využívající ESP8266 a ESP32 DIY: 9 kroků (s obrázky)
Profesionální meteorologická stanice využívající ESP8266 a ESP32 DIY: LineaMeteoStazione je kompletní meteorologická stanice, kterou lze propojit s profesionálními senzory od společnosti Sensirion a také s některou komponentou Davis Instrument (Rain Gauge, Anemometer) Projekt je zaměřen jako meteorologická stanice pro vlastní potřebu, ale vyžaduje pouze
Modulární solární meteorologická stanice: 5 kroků (s obrázky)
Modular Solar Weather Station: Jedním z projektů, které jsem chtěl nějakou dobu stavět, byla Modular Weather Station. Modulární v tom smyslu, že můžeme přidat požadovaná čidla pouhou změnou softwaru. Modulární meteorologická stanice je rozdělena do tří částí. Hlavní deska má W
Meteorologická stanice NaTaLia: Meteorologická stanice poháněná solární energií Arduino provedla správnou cestu: 8 kroků (s obrázky)
Meteorologická stanice NaTaLia: Meteostanice poháněná solární energií Arduino Správně: Po 1 roce úspěšného provozu na 2 různých místech sdílím své plány projektů solární elektrárny a vysvětluji, jak se vyvinuly do systému, který může skutečně přežít po dlouhou dobu období ze sluneční energie. Pokud budete dodržovat
DIY meteorologická stanice a WiFi senzorová stanice: 7 kroků (s obrázky)
DIY meteorologická stanice a WiFi senzorová stanice: V tomto projektu vám ukážu, jak vytvořit meteorologickou stanici spolu se senzorovou stanicí WiFi. Senzorová stanice měří údaje o místní teplotě a vlhkosti a odesílá je prostřednictvím WiFi do meteorologické stanice. Meteorologická stanice poté zobrazí t
Solární meteorologická stanice ESP32: 4 kroky (s obrázky)
ESP32 Solar Weather Station: Pro svůj první projekt IoT jsem chtěl postavit meteorologickou stanici a odeslat data na data.sparkfun.com. Malá oprava, když jsem se rozhodl otevřít svůj účet ve Sparkfunu, nepřijímali další připojení, takže jsem vybrat jiného sběratele dat IoT, který