Sisällysluettelo:

ESP32 WiFi -sääasema BME280 -anturilla: 7 vaihetta (kuvilla)
ESP32 WiFi -sääasema BME280 -anturilla: 7 vaihetta (kuvilla)

Video: ESP32 WiFi -sääasema BME280 -anturilla: 7 vaihetta (kuvilla)

Video: ESP32 WiFi -sääasema BME280 -anturilla: 7 vaihetta (kuvilla)
Video: Подключаем дисплей LSD1602, датчики BME280 и DS18B20 к ESP8266 без программирования! WiFi IoT (HUNY) 2024, Heinäkuu
Anonim
Image
Image
ESP32 WiFi -sääasema, jossa BME280 -anturi
ESP32 WiFi -sääasema, jossa BME280 -anturi
ESP32 WiFi -sääasema, jossa BME280 -anturi
ESP32 WiFi -sääasema, jossa BME280 -anturi

Hyvät ystävät, tervetuloa toiseen opetusohjelmaan! Tässä opetusohjelmassa aiomme rakentaa Wi -Fi -yhteensopivan sääasemaprojektin! Aiomme käyttää uutta, vaikuttavaa ESP32 -sirua ensimmäistä kertaa Nextion -näytön kanssa.

Tässä videossa aiomme tehdä tämän. Se on jälleen yksi sääasemaprojekti, jonka tiedän, mutta tällä kertaa käytämme uutta ESP32 -sirua! Käytämme myös uutta BME280 -anturia, joka mittaa lämpötilan, kosteuden ja ilmanpaineen. Kun käynnistämme projektin, se muodostaa yhteyden WiFi -verkkoon, ja se hakee sijaintini sääennusteen openweathermap -verkkosivustolta. Sitten se näyttää ennusteen tällä 3,2 tuuman Nextion -kosketusnäytöllä yhdessä anturin lukemien kanssa! Lukemat päivitetään kahden sekunnin välein ja sääennuste tunnin välein! Kuten näette, tässä projektissa käytämme viimeisimpiä tekniikoita, joita valmistaja saa tänään! Jos olet DIY -veteraani, voit rakentaa tämän projektin viidessä minuutissa.

Jos olet aloittelija, sinun on katsottava pari videota ennen tämän projektin yrittämistä. Löydät linkit näihin videoihin tästä ohjeesta, älä huoli.

Aloitetaan!

Vaihe 1: Hanki kaikki osat

Hanki kaikki osat
Hanki kaikki osat

Tämän projektin rakentamiseksi tarvitsemme seuraavat osat:

  • ESP32 -kortti ▶
  • BME280 I2C -anturi ▶
  • 3,2 tuuman Nextion -näyttö ▶
  • Pieni leipälauta ▶
  • Jotkut johdot ▶

Hankkeen hinta on noin 30 dollaria.

ESP32: n sijasta voisimme käyttää halvempaa ESP8266 -sirua, mutta päätin käyttää ESP32: ta saadakseni siitä jonkin verran kokemusta ja nähdäkseni, mikä toimii ja mikä ei.

Vaihe 2: ESP32

Image
Image
ESP32
ESP32

Tämä on ensimmäinen projekti, jonka olen koskaan rakentanut uudella ESP32 -sirulla.

Jos et tunne sitä, ESP32 -siru on suositun ESP8266 -sirun seuraaja, jota olemme käyttäneet monta kertaa aiemmin. ESP32 on peto! Se tarjoaa kaksi 32 prosessointiytintä, jotka toimivat 160 MHz: llä, valtava määrä muistia, WiFi, Bluetooth ja monia muita ominaisuuksia, joiden hinta on noin 7 dollaria! Ihmeellistä tavaraa!

Katso yksityiskohtainen katsaus, jonka olen valmistellut tälle levylle. Olen liittänyt videon tähän oppaaseen. Se auttaa ymmärtämään, miksi tämä siru muuttaa tapaamme tehdä asioita ikuisesti!

Vaihe 3: Nextion -näyttö

Image
Image
BME280 -anturi
BME280 -anturi

Lisäksi tämä on ensimmäinen projektini, jonka rakennan Nextion -kosketusnäytöllä.

Nextion -näytöt ovat uudenlaisia näyttöjä. Heillä on takana oma ARM -prosessori, joka vastaa näytön ohjaamisesta ja graafisen käyttöliittymän luomisesta. Joten voimme käyttää niitä minkä tahansa mikro -ohjaimen kanssa ja saavuttaa upeita tuloksia.

Olen laatinut yksityiskohtaisen ohjeen tästä Nextion -näytöstä, joka selittää perusteellisesti niiden toiminnan, käytön ja niiden haitat. Voit lukea sen napsauttamalla tätä:

Vaihe 4: BME280 -anturi

BME280 -anturi
BME280 -anturi

BME280 uudessa Bosch -anturissa.

Toistaiseksi käytin BMP180 -anturia, joka voi mitata lämpötilan ja ilmanpaineen. BME280 -anturi voi mitata lämpötilan, kosteuden ja ilmanpaineen! Kuinka siistiä! Tarvitsemme vain yhden anturin rakentaaksesi täydellisen sääaseman!

Lisäksi anturi on kooltaan hyvin pieni ja erittäin helppokäyttöinen. Moduuli, jota aiomme käyttää tänään, käyttää I2C -käyttöliittymää, joten se tekee viestinnän Arduinon kanssa erittäin helpoksi. Yhdistämme vain virran ja kaksi muuta johtoa, jotta se toimisi.

Tälle anturille on jo kehitetty monia kirjastoja, joten voimme käyttää sitä projekteissamme erittäin helposti! Anturin hinta on noin 5 dollaria. Saat sen täältä ▶

HUOMAUTUS: Tarvitsemme BME280 -anturin. Siellä on myös BMP280 -anturi, joka ei tarjoa kosteusmittausta. Muista tilata tarvitsemasi anturi.

Vaihe 5: Osien liittäminen

Osien liittäminen
Osien liittäminen
Osien liittäminen
Osien liittäminen
Osien liittäminen
Osien liittäminen

Osien liittäminen on suoraviivaista, kuten kaaviosta näkyy.

Koska BME280 -anturi käyttää I2C -liitäntää, meidän on kytkettävä vain kaksi johtoa kommunikoimaan ESP32: n kanssa. Olen kiinnittänyt anturin nastoihin 26 ja 27. Teoriassa kaikkia ESP32 -kortin digitaalisia tappeja voidaan käyttää I2C -oheislaitteiden kanssa. Käytännössä kuitenkin huomasin, että jotkut nastat eivät toimineet, koska ne on varattu muuhun käyttöön. Nastat 26 ja 27 toimivat loistavasti!

Jotta voimme lähettää tietoja näytölle, meidän on kytkettävä vain yksi johto ESP32: n TX0 -nastaan. Minun piti taivuttaa nasta näin, jotta voin liittää näytön naarasjohdon, koska ESP32 -levy on liian suuri tälle leipälevylle.

Osien liittämisen jälkeen meidän on ladattava koodi ESP32: een ja meidän on ladattava graafinen käyttöliittymä Nextion -näyttöön. Jos sinulla on ongelmia ohjelman lataamisessa ESP32 -kortille, pidä BOOT -painiketta painettuna Arduino IDE: n latauspainikkeen painamisen jälkeen.

Jos haluat ladata graafisen käyttöliittymän Nextion -näyttöön, kopioi WeatherStation.tft -tiedosto, jonka aion jakaa kanssasi tyhjälle SD -kortille. Aseta SD -kortti näytön takana olevaan SD -korttipaikkaan. Käynnistä sitten näyttö ja GUI ladataan. Poista sitten SD -kortti ja kytke virta uudelleen.

Kun koodi on ladattu onnistuneesti, projekti muodostaa yhteyden WiFi -verkkoon, se saa sääennusteen openweathermap.org -sivustolta ja näyttää anturin lukemat. Katsotaan nyt projektin ohjelmistopuolta.

Vaihe 6: Hankkeen koodi

Projektin koodi
Projektin koodi
Projektin koodi
Projektin koodi
Projektin koodi
Projektin koodi

Säätietojen jäsentämiseksi tarvitsemme erinomaisen Arduino JSON -kirjaston. Tarvitsemme myös kirjaston anturille.

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

Katsotaan nyt koodi.

Aluksi meidän on asetettava WiFi -verkon SSID ja salasana. Seuraavaksi meidän on syötettävä ilmainen APIKEY osoitteesta operweathermap.org. Jos haluat luoda oman sovellusliittymäavaimesi, sinun on rekisteröidyttävä verkkosivustolle. Nykyisten säätietojen ja sääennusteiden saaminen on ilmaista, mutta verkkosivusto tarjoaa enemmän vaihtoehtoja, jos olet valmis maksamaan rahaa. Seuraavaksi meidän on löydettävä sijaintimme tunnus. Etsi sijaintisi ja kopioi ID, joka löytyy sijaintisi URL -osoitteesta.

Kirjoita sitten kaupunkisi tunnus CityID -muuttujaan. Kirjoita myös kaupunkisi korkeus tähän muuttujaan. Tätä arvoa tarvitaan anturin antamiin tarkkoihin barometrisiin paineisiin.

const char* ssid = "yourSSID"; const char* password = "yourPassword"; Merkkijono CityID = "253394"; // Sparta, Kreikka String APIKEY = "yourAPIkey"; #define ALTITUDE 216.0 // Korkeus Spartassa, Kreikassa

Nyt olemme valmiita siirtymään eteenpäin.

Aluksi alustamme anturin ja muodostamme yhteyden WiFi -verkkoon. Sitten pyydämme säätietoja palvelimelta.

Saamme vastauksen säätiedoilla JSON -muodossa. Ennen kuin lähetän tiedot JSON -kirjastoon, poistan manuaalisesti joitakin merkkejä, jotka aiheuttivat minulle ongelmia. Sitten JSON -kirjasto ottaa haltuunsa, ja voimme helposti tallentaa tarvitsemamme tiedot muuttujiin. Kun olemme säilyttäneet tiedot muuttujina, meidän tarvitsee vain näyttää ne näytöllä ja odottaa tunti ennen kuin pyydät uusia tietoja palvelimelta. Ainoa esittämäni tieto on sääennuste, mutta voit halutessasi näyttää lisätietoja. Kaikki tämä tallennettiin muuttujiin. Sitten luemme lämpötilan, kosteuden ja ilmanpaineen anturista ja lähetämme tiedot Nextion -näyttöön.

Näytön päivittämiseksi lähetämme vain joitain komentoja sarjaporttiin seuraavasti:

void showConnectingIcon () {Serial.println (); Merkkikomento = "weatherIcon.pic = 3"; Serial.print (komento); endNextionCommand (); }

Nextionin käyttöliittymä koostuu taustasta, joistakin tekstiruuduista ja kuvasta, joka muuttuu sääennusteen mukaan. Katso lisätietoja Nextion -näytön opetusohjelmasta. Voit halutessasi suunnitella nopeasti oman käyttöliittymän ja näyttää siinä enemmän asioita.

Kuten aina, löydät tämän ohjeen liitteenä olevan projektin koodin

Vaihe 7: Viimeiset ajatukset ja parannukset

Lopulliset ajatukset ja parannukset
Lopulliset ajatukset ja parannukset

Kuten näette, kokenut valmistaja voi tänään rakentaa jännittäviä projekteja muutamassa tunnissa muutamalla koodirivillä ja vain kolmella osalla! Tällaista projektia olisi ollut mahdotonta toteuttaa jopa kaksi vuotta sitten!

Tämä on tietysti vasta hankkeen alku. Haluaisin lisätä siihen monia ominaisuuksia, kuten kaavioita, puuttuvia kosketustoimintoja, ehkä isomman näytön ja tietysti kauniin näköisen 3D -painetun kotelon. Suunnittelen myös paremman näköisen käyttöliittymän ja kuvakkeita. Minulla on erittäin tuoreita ideoita toteutettavaksi!

Haluaisin kuulla mielipiteenne tämän päivän projektista. Millaisia ominaisuuksia haluat minun lisäävän projektiin? Pidätkö miltä se näyttää? Miten haluat sen kehittyvän? Lähetä ideasi alla olevaan kommenttiosaan; Tykkään lukea ajatuksiasi!

Langaton kilpailu
Langaton kilpailu
Langaton kilpailu
Langaton kilpailu

Toinen sija langattomassa kilpailussa

Suositeltava: