Obsah:
- Krok 1: Získajte všetky diely
- Krok 2: ESP32
- Krok 3: Nextion displej
- Krok 4: Senzor BME280
- Krok 5: Pripojenie dielov
- Krok 6: Kód projektu
- Krok 7: Záverečné myšlienky a vylepšenia
Video: Meteostanica ESP32 WiFi so snímačom BME280: 7 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:01
Milí priatelia, vitajte pri ďalšom návode! V tomto návode postavíme projekt meteorologickej stanice s podporou Wi -Fi! Nový, pôsobivý čip ESP32 použijeme prvýkrát spolu s displejom Nextion.
V tomto videu to urobíme. Je to ďalší projekt meteorologickej stanice, ktorý poznám, ale tentokrát používame nový čip ESP32! Používame tiež nový snímač BME280, ktorý meria teplotu, vlhkosť a barometrický tlak. Keď projekt zapneme, pripojí sa k sieti WiFi a z webovej stránky openweathermap sa chystá získať predpoveď počasia pre moju polohu. Potom zobrazí predpoveď na tomto 3,2”dotykovom displeji Nextion spolu s údajmi zo senzora! Hodnoty sa aktualizujú každé dve sekundy a predpoveď počasia každú hodinu! Ako vidíte, v tomto projekte používame najnovšie technológie, ktoré má dnes výrobca k dispozícii! Ak ste kutilský veterán, môžete tento projekt postaviť za päť minút.
Ak ste začiatočník, pred vyskúšaním tohto projektu si musíte pozrieť niekoľko videí. Odkazy na tieto videá nájdete v tomto návode, nebojte sa.
Začnime!
Krok 1: Získajte všetky diely
Na vybudovanie tohto projektu potrebujeme nasledujúce časti:
- Doska ESP32 ▶
- Senzor BME280 I2C ▶
- Displej 3,2”Nextion ▶
- Malý Breadboard ▶
- Niektoré káble ▶
Náklady na projekt sa pohybujú okolo 30 dolárov.
Namiesto ESP32 by sme mohli použiť lacnejší čip ESP8266, ale rozhodol som sa použiť ESP32, aby som s ním získal nejaké skúsenosti a zistil, čo funguje a čo nie.
Krok 2: ESP32
Toto je prvý projekt, ktorý som kedy postavil s novým čipom ESP32.
Ak ho nepoznáte, čip ESP32 je nástupcom populárneho čipu ESP8266, ktorý sme v minulosti mnohokrát použili. ESP32 je šelma! Ponúka dve 32 procesorových jadier, ktoré pracujú na frekvencii 160 MHz, obrovské množstvo pamäte, WiFi, Bluetooth a mnoho ďalších funkcií za cenu približne 7 $! Úžasné veci!
Pozrite sa na podrobnú recenziu, ktorú som pre túto dosku pripravil. Pripojil som video k tomuto návodu. Pomôže to pochopiť, prečo tento čip navždy zmení spôsob, akým veci vyrábame!
Krok 3: Nextion displej
Toto je tiež prvý projekt, ktorý som postavil s dotykovým displejom Nextion.
Displeje Nextion sú novým druhom displejov. Na zadnej strane majú vlastný procesor ARM, ktorý je zodpovedný za ovládanie displeja a vytváranie grafického používateľského rozhrania. Môžeme ich teda použiť s akýmkoľvek mikrokontrolérom a dosiahnuť veľkolepé výsledky.
O tomto displeji Nextion som pripravil podrobný návod, ktorý podrobne vysvetľuje, ako fungujú, ako ich používať a ich nevýhody. Môžete si ho prečítať kliknutím sem:
Krok 4: Senzor BME280
BME280 v novom skvelom senzore od spoločnosti Bosch.
Doteraz som používal snímač BMP180, ktorý dokáže merať teplotu a barometrický tlak. Senzor BME280 môže merať teplotu, vlhkosť a barometrický tlak! Aké je to cool! Na vybudovanie kompletnej meteorologickej stanice potrebujeme iba jeden senzor!
Okrem toho je snímač veľmi malý a používanie je veľmi jednoduché. Modul, ktorý dnes použijeme, používa rozhranie I2C, takže je komunikácia s Arduino veľmi jednoduchá. Musíme len pripojiť napájanie a ďalšie dva vodiče, aby to fungovalo.
Pre tento senzor je už vyvinutých veľa knižníc, takže ich môžeme veľmi ľahko použiť v našich projektoch! Cena senzora je asi 5 dolárov. Môžete ho získať tu ▶
POZNÁMKA: Potrebujeme snímač BME280. K dispozícii je tiež snímač BMP280, ktorý neponúka meranie vlhkosti. Pri objednávaní snímača, ktorý potrebujete, dávajte pozor.
Krok 5: Pripojenie dielov
Spojenie dielov je jednoduché, ako vidíte na schematickom diagrame.
Pretože snímač BME280 používa rozhranie I2C, na komunikáciu s ESP32 potrebujeme iba prepojiť dva vodiče. Senzor som pripojil k pinom 26 a 27. Každý digitálny pin dosky ESP32 je teoreticky možné použiť s periférnymi zariadeniami I2C. V praxi som však zistil, že niektoré kolíky nefungujú, pretože sú vyhradené na iné použitie. Piny 26 a 27 fungujú skvele!
Na odoslanie údajov na displej potrebujeme iba jeden vodič na pin TX0 na ESP32. Musel som takto ohnúť kolík, aby som pripojil ženský vodič displeja, pretože doska ESP32 je pre túto dosku na pečenie príliš veľká.
Po pripojení dielov musíme načítať kód do ESP32 a musíme načítať GUI na displej Nextion. Ak máte problém s nahraním programu na dosku ESP32, podržte tlačidlo BOOT po stlačení tlačidla nahrávania na Arduino IDE.
Ak chcete načítať GUI na obrazovku Nextion, skopírujte súbor WeatherStation.tft, ktorý s vami budem zdieľať, na prázdnu kartu SD. Vložte kartu SD do otvoru pre kartu SD na zadnej strane displeja. Potom zapnite displej a načíta sa GUI. Potom vyberte kartu SD a znova pripojte napájanie.
Po úspešnom načítaní kódu sa projekt pripojí k WiFi sieti, získa predpoveď počasia z webu openweathermap.org a zobrazí hodnoty zo senzora. Pozrime sa teraz na softvérovú stránku projektu.
Krok 6: Kód projektu
Na analýzu údajov o počasí potrebujeme vynikajúcu knižnicu Arduino JSON. Potrebujeme tiež knižnicu pre snímač.
? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:
Pozrime sa teraz na kód.
Najprv musíme nastaviť SSID a heslo našej WiFi siete. Ďalej musíme zadať bezplatný APIKEY z webu operweathermap.org. Ak si chcete vytvoriť vlastný kľúč API, musíte sa zaregistrovať na webe. Získavanie aktuálnych údajov o počasí a predpovedí je bezplatné, ale webová stránka ponúka viac možností, ak ste ochotní zaplatiť nejaké peniaze. Ďalej musíme nájsť ID našej polohy. Nájdite svoju polohu a skopírujte identifikátor, ktorý sa nachádza na adrese URL vašej polohy.
Potom do premennej CityID zadajte ID svojho mesta. Do tejto premennej zadajte aj nadmorskú výšku vášho mesta. Táto hodnota je potrebná na presné odčítanie barometrického tlaku zo senzora.
const char* ssid = "yourSSID"; const char* password = "yourPassword"; Reťazec CityID = "253394"; // Sparta, Grécko Reťazec APIKEY = "yourAPIkey"; #define ALTITUDE 216,0 // Nadmorská výška v Sparte, Grécko
Teraz sme pripravení ísť ďalej.
Najprv inicializujeme senzor a pripojíme sa k sieti WiFi. Potom požiadame server o údaje o počasí.
Dostávame odpoveď s údajmi o počasí vo formáte JSON. Pred odoslaním údajov do knižnice JSON ručne odstránim niektoré znaky, ktoré mi spôsobovali problémy. Potom prevezme kontrolu knižnica JSON a údaje, ktoré potrebujeme, môžeme ľahko uložiť do premenných. Potom, čo uchováme údaje v premenných, ich už len musíme zobraziť na obrazovke a hodinu čakať, kým požiadame o nové údaje zo servera. Jediné informácie, ktoré uvádzam, sú predpovede počasia, ale ak chcete, môžete zobraziť viac informácií. Všetko sa to tu uložilo do premenných. Potom zo snímača odčítame teplotu, vlhkosť a barometrický tlak a údaje odošleme na displej Nextion.
Na aktualizáciu displeja jednoducho pošleme niekoľko príkazov na sériový port takto:
void showConnectingIcon () {Serial.println (); Reťazcový príkaz = "weatherIcon.pic = 3"; Serial.print (príkaz); endNextionCommand (); }
Nextion GUI pozostáva z pozadia, niektorých textových polí a obrázku, ktorý sa mení v závislosti od predpovede počasia. Ďalšie informácie nájdete v návode na používanie displeja Nextion. Ak si želáte, môžete si rýchlo navrhnúť vlastné GUI a zobraziť na ňom viac vecí.
Ako vždy, kód projektu nájdete v prílohe tohto Pokynu
Krok 7: Záverečné myšlienky a vylepšenia
Ako vidíte, skúsený výrobca dnes môže stavať vzrušujúce projekty za niekoľko hodín pomocou niekoľkých riadkov kódu a iba troch častí! Takýto projekt by bolo nemožné uskutočniť ani pred dvoma rokmi!
Samozrejme, toto je len začiatok projektu. Chcel by som k tomu pridať mnoho funkcií, napríklad grafy, dotykové funkcie, ktoré teraz chýbajú, možno väčší displej a samozrejme krásne vyzerajúci kryt s 3D tlačou. Tiež navrhnem lepšie vyzerajúce GUI a ikony. Mám niekoľko veľmi čerstvých nápadov na implementáciu!
Rád by som počul váš názor na dnešný projekt. Aké funkcie chcete, aby som pridal do projektu? Páči sa vám, ako vyzerá? Ako chcete, aby sa to vyvíjalo? Uverejnite svoje nápady v sekcii komentárov nižšie; Rád čítam tvoje myšlienky!
Druhý v súťaži o bezdrôtové pripojenie
Odporúča:
Meteostanica NaTaLia: Meteostanica Arduino poháňaná solárnou energiou urobila správnu cestu: 8 krokov (s obrázkami)
Meteostanica NaTaLia: Meteostanica poháňaná solárnou energiou Arduino urobila správnu cestu: Po 1 roku úspešnej prevádzky na 2 rôznych miestach zdieľam svoje plány projektov solárnej elektrárne a vysvetľujem, ako sa vyvinul do systému, ktorý môže skutočne prežiť dlhý čas. obdobia zo slnečnej energie. Ak budete postupovať
Meteostanica DIY a senzorová stanica WiFi: 7 krokov (s obrázkami)
DIY meteorologická stanica a WiFi senzorová stanica: V tomto projekte vám ukážem, ako vytvoriť meteorologickú stanicu spolu so senzorovou stanicou WiFi. Senzorická stanica meria údaje o miestnej teplote a vlhkosti a odosiela ich prostredníctvom WiFi do meteorologickej stanice. Meteostanica potom zobrazí t
Meteostanica ESP32 Weathercloud: 16 krokov (s obrázkami)
Meteorologická stanica ESP32 Weathercloud: V minulom roku som vydal svoj doposiaľ najväčší inštrukčný návod s názvom Arduino Weathercloud Weather Station. Povedal by som, že to bolo veľmi populárne. Bolo to uvedené na domovskej stránke Instructables, blogu Arduino, múzeu Wiznet, Instagrame Instagram, Arduino Instagr
Meteostanica používajúca Wemos D1 Mini, BME280 a Sensate .: 6 krokov
Meteorologická stanica používajúca Wemos D1 Mini, BME280 a Sensate .: V predchádzajúcich príspevkoch som sa podelil o rôzne metódy výstavby meteorologickej stanice. Ak ste to nekontrolovali, tu je odkaz. V tomto návode vám ukážem, ako vytvoriť jednoduchú meteorologickú stanicu pomocou systému Wemos a platformy IoT s názvom Sensate.
Meteostanica s Arduino, BME280 a displejom na zobrazenie trendu za posledné 1 až 2 dni: 3 kroky (s obrázkami)
Meteorologická stanica S Arduinom, BME280 a displejom na zobrazenie trendov v priebehu posledných 1 až 2 dní: Dobrý deň! Tu boli meteorologické stanice s pokynmi už predstavené. Zobrazujú aktuálny tlak vzduchu, teplotu a vlhkosť. To, čo im zatiaľ chýbalo, bola prezentácia kurzu za posledné 1-2 dni. Tento proces by mal