Obsah:

Meteostanica ESP32 WiFi so snímačom BME280: 7 krokov (s obrázkami)
Meteostanica ESP32 WiFi so snímačom BME280: 7 krokov (s obrázkami)

Video: Meteostanica ESP32 WiFi so snímačom BME280: 7 krokov (s obrázkami)

Video: Meteostanica ESP32 WiFi so snímačom BME280: 7 krokov (s obrázkami)
Video: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Júl
Anonim
Image
Image
WiFi meteorologická stanica ESP32 so snímačom BME280
WiFi meteorologická stanica ESP32 so snímačom BME280
WiFi meteorologická stanica ESP32 so snímačom BME280
WiFi meteorologická stanica ESP32 so snímačom BME280

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

Získajte všetky diely
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

Image
Image
ESP32
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

Image
Image
Senzor BME280
Senzor BME280

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

Senzor BME280
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

Pripojenie dielov
Pripojenie dielov
Pripojenie dielov
Pripojenie dielov
Pripojenie dielov
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

Kódex projektu
Kódex projektu
Kódex projektu
Kódex projektu
Kódex projektu
Kódex 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

Záverečné myšlienky a vylepšenia
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!

Bezdrôtová súťaž
Bezdrôtová súťaž
Bezdrôtová súťaž
Bezdrôtová súťaž

Druhý v súťaži o bezdrôtové pripojenie

Odporúča: