Obsah:
- Krok 1: Získejte všechny díly
- Krok 2: ESP32
- Krok 3: Zobrazení Nextion
- Krok 4: Senzor BME280
- Krok 5: Připojení dílů
- Krok 6: Kód projektu
- Krok 7: Závěrečné myšlenky a vylepšení
Video: Meteorologická stanice ESP32 WiFi se snímačem BME280: 7 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Vážení přátelé, vítejte u dalšího tutoriálu! V tomto tutoriálu budeme stavět projekt meteorologické stanice s podporou Wi -Fi! Nový impozantní čip ESP32 použijeme poprvé společně s displejem Nextion.
V tomto videu to uděláme. Je to další projekt meteorologické stanice, který znám, ale tentokrát používáme nový čip ESP32! Používáme také nový snímač BME280, který měří teplotu, vlhkost a barometrický tlak. Když zapneme projekt, připojí se k WiFi síti a z webu openweathermap načte předpověď počasí pro moji polohu. Poté zobrazí předpověď na tomto 3,2”dotykovém displeji Nextion spolu s údaji ze snímače! Odečty se aktualizují každé dvě sekundy a předpověď počasí každou hodinu! Jak vidíte, v tomto projektu používáme nejnovější technologie, které má dnes výrobce k dispozici! Pokud jste kutilský veterán, můžete tento projekt postavit za pět minut.
Pokud jste začátečník, musíte se před pokusem o tento projekt podívat na několik videí. Odkazy na tato videa najdete v tomto Instructable, nebojte se.
Začněme!
Krok 1: Získejte všechny díly
K vybudování tohoto projektu potřebujeme následující části:
- Deska ESP32 ▶
- Senzor BME280 I2C ▶
- Displej 3,2”Nextion ▶
- Malý prkénko ▶
- Některé vodiče ▶
Náklady na projekt se pohybují kolem 30 $.
Místo ESP32 bychom mohli použít levnější čip ESP8266, ale rozhodl jsem se použít ESP32, abych s ním získal nějaké zkušenosti a zjistil, co funguje a co ne.
Krok 2: ESP32
Toto je první projekt, který jsem kdy postavil s novým čipem ESP32.
Pokud jej neznáte, je čip ESP32 nástupcem populárního čipu ESP8266, který jsme v minulosti mnohokrát použili. ESP32 je bestie! Nabízí dvě 32 procesorových jader, která pracují na frekvenci 160 MHz, obrovské množství paměti, WiFi, Bluetooth a mnoho dalších funkcí za cenu kolem 7 $! Úžasné věci!
Podívejte se prosím na podrobnou recenzi, kterou jsem pro tuto desku připravil. Připojil jsem video k tomuto Instructable. Pomůže to pochopit, proč tento čip navždy změní způsob, jakým věci děláme!
Krok 3: Zobrazení Nextion
Toto je také první projekt, který jsem vytvořil s dotykovým displejem Nextion.
Displeje Nextion jsou nový druh displejů. Vzadu mají vlastní procesor ARM, který je zodpovědný za ovládání displeje a vytváření grafického uživatelského rozhraní. Můžeme je tedy použít s jakýmkoli mikrokontrolérem a dosáhnout velkolepých výsledků.
Připravil jsem podrobný návod k tomuto displeji Nextion, který podrobně vysvětluje, jak fungují, jak je používat a jejich nevýhody. Můžete si jej přečíst kliknutím sem:
Krok 4: Senzor BME280
BME280 v novém skvělém senzoru od společnosti Bosch.
Doposud jsem používal snímač BMP180, který dokáže měřit teplotu a barometrický tlak. Senzor BME280 dokáže měřit teplotu, vlhkost a barometrický tlak! Jak je to cool! K vybudování kompletní meteorologické stanice potřebujeme pouze jeden senzor!
Kromě toho je snímač velmi malý a velmi snadno se používá. Modul, který dnes použijeme, používá rozhraní I2C, takže je komunikace s Arduinem velmi snadná. Musíme pouze připojit napájení a dva další vodiče, aby to fungovalo.
Pro tento senzor je již vyvinuto mnoho knihoven, takže jej můžeme velmi snadno použít v našich projektech! Cena senzoru je asi 5 $. Můžete ho získat zde ▶
POZNÁMKA: Potřebujeme snímač BME280. K dispozici je také snímač BMP280, který nenabízí měření vlhkosti. Dávejte pozor, abyste objednali snímač, který potřebujete.
Krok 5: Připojení dílů
Spojení dílů je jednoduché, jak můžete vidět na schematickém diagramu.
Protože snímač BME280 používá rozhraní I2C, stačí ke komunikaci s ESP32 připojit pouze dva vodiče. Senzor jsem připojil k pinům 26 a 27. Teoreticky lze každý digitální pin desky ESP32 použít s periferiemi I2C. V praxi jsem však zjistil, že některé piny nefungují, protože jsou vyhrazeny pro jiné použití. Piny 26 a 27 fungují skvěle!
K odeslání dat na displej nám stačí připojit jeden vodič na pin TX0 na ESP32. Musel jsem takto ohnout kolík, abych připojil ženský vodič displeje, protože deska ESP32 je pro toto prkénko příliš velká.
Po připojení částí musíme načíst kód do ESP32 a musíme načíst GUI na displej Nextion. Pokud máte problém s nahráním programu na desku ESP32, podržte tlačítko BOOT po stisknutí tlačítka pro odeslání na Arduino IDE.
Chcete -li načíst GUI na obrazovku Nextion, zkopírujte soubor WeatherStation.tft, který s vámi budu sdílet, na prázdnou kartu SD. Vložte kartu SD do slotu pro kartu SD v zadní části displeje. Poté zapněte displej a načte se grafické uživatelské rozhraní. Poté vyjměte kartu SD a znovu připojte napájení.
Po úspěšném načtení kódu se projekt připojí k WiFi síti, získá předpověď počasí z webu openweathermap.org a zobrazí hodnoty ze senzoru. Pojďme se nyní podívat na softwarovou stránku projektu.
Krok 6: Kód projektu
K analýze údajů o počasí potřebujeme vynikající knihovnu Arduino JSON. Potřebujeme také knihovnu pro senzor.
? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:
Podívejme se nyní na kód.
Nejprve musíme nastavit SSID a heslo naší WiFi sítě. Dále musíme zadat bezplatný APIKEY z webu operweathermap.org. Chcete -li vytvořit vlastní klíč API, musíte se zaregistrovat na webu. Získávání aktuálních údajů o počasí a předpovědi je zdarma, ale webová stránka nabízí více možností, pokud jste ochotni zaplatit nějaké peníze. Dále musíme najít ID naší polohy. Najděte svou polohu a zkopírujte ID, které najdete na adrese URL vaší polohy.
Poté do proměnné CityID zadejte ID svého města. Do této proměnné také zadejte nadmořskou výšku vašeho města. Tato hodnota je potřebná pro přesné odečty barometrického tlaku ze snímače.
const char* ssid = "yourSSID"; const char* heslo = "vaše heslo"; String CityID = "253394"; // Sparta, Řecko Řetězec APIKEY = "yourAPIkey"; #define ALTITUDE 216.0 // Nadmořská výška ve Spartě, Řecko
Nyní jsme připraveni jít dál.
Nejprve inicializujeme senzor a připojíme se k síti WiFi. Poté si ze serveru vyžádáme údaje o počasí.
Dostaneme odpověď s údaji o počasí ve formátu JSON. Před odesláním dat do knihovny JSON ručně odstraním některé znaky, které mi způsobovaly problémy. Poté knihovna JSON převezme kontrolu a my můžeme data, která potřebujeme, snadno uložit do proměnných. Poté, co jsme uchovali data v proměnných, vše, co musíme udělat, je zobrazit je na obrazovce a hodinu počkat, než požádáme o nová data ze serveru. Jedinou informací, kterou uvádím, je předpověď počasí, ale pokud chcete, můžete zobrazit více informací. Vše se zde uložilo do proměnných. Poté ze senzoru odečteme teplotu, vlhkost a barometrický tlak a data odešleme na displej Nextion.
Chcete -li aktualizovat displej, jednoduše odešleme některé příkazy na sériový port takto:
void showConnectingIcon () {Serial.println (); Řetězcový příkaz = "weatherIcon.pic = 3"; Serial.print (příkaz); endNextionCommand (); }
Nextion GUI se skládá z pozadí, některých textových polí a obrázku, který se mění v závislosti na předpovědi počasí. Další informace najdete ve výukovém programu Nextion. Pokud si přejete, můžete rychle navrhnout vlastní GUI a zobrazit na něm více věcí.
Jako vždy najdete kód projektu připojený k tomuto Instructable
Krok 7: Závěrečné myšlenky a vylepšení
Jak vidíte, zkušený výrobce dnes může stavět vzrušující projekty za několik hodin s několika řádky kódu a pouze třemi částmi! Takový projekt by nebylo možné uskutečnit ani před dvěma lety!
Toto je samozřejmě jen začátek projektu. Chtěl bych k tomu přidat mnoho funkcí, jako jsou grafy, dotykové funkce, které nyní chybí, možná větší displej a samozřejmě krásně vypadající 3D tištěný kryt. Navrhnu také lépe vypadající GUI a ikony. Mám několik velmi čerstvých nápadů k implementaci!
Rád bych slyšel váš názor na dnešní projekt. Jaké funkce chcete, abych do projektu přidal? Líbí se vám, jak vypadá? Jak chcete, aby se to vyvíjelo? Své nápady prosím zveřejněte v sekci komentáře níže; Rád čtu vaše myšlenky!
Druhé místo v bezdrátové soutěži
Doporučuje:
Osobní meteorologická stanice využívající Raspberry Pi s BME280 v Javě: 6 kroků
Osobní meteorologická stanice využívající Raspberry Pi S BME280 v Javě: Špatné počasí vždy vypadá hůře oknem. Vždy jsme měli zájem sledovat naše místní počasí a to, co vidíme z okna. Také jsme chtěli lepší kontrolu nad naším systémem vytápění a klimatizace. Vybudování osobní meteorologické stanice je skvělý
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
Meteorologická stanice využívající Raspberry Pi s BME280 v Pythonu: 6 kroků
Meteorologická stanice využívající Raspberry Pi s BME280 v Pythonu: je hlavní scénou (Počasí je dobrým vypravěčem) S globálním oteplováním a problémy se změnou klimatu se globální model počasí v našem světě stává nevyrovnaným, což vede k řadě povětrnostních vlivů přírodní katastrofy (sucha, extrémní
Meteorologická stanice s Arduino, BME280 a displejem pro sledování trendů za poslední 1–2 dny: 3 kroky (s obrázky)
Meteorologická stanice S Arduinem, BME280 a displejem pro sledování trendů za poslední 1–2 dny: Dobrý den! Zde byly již zavedeny meteorologické stanice s pokyny. Ukazují aktuální tlak vzduchu, teplotu a vlhkost. To, co jim zatím chybělo, byla prezentace kurzu během posledních 1-2 dnů. Tento proces by měl