Sisällysluettelo:
- Vaihe 1: Hanki kaikki osat
- Vaihe 2: ESP32
- Vaihe 3: Nextion -näyttö
- Vaihe 4: BME280 -anturi
- Vaihe 5: Osien liittäminen
- Vaihe 6: Hankkeen koodi
- Vaihe 7: Viimeiset ajatukset ja parannukset
Video: ESP32 WiFi -sääasema BME280 -anturilla: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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
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
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ö
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 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 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
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
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!
Toinen sija langattomassa kilpailussa
Suositeltava:
ESP32 TTGO WiFi -signaalin voimakkuus: 8 vaihetta (kuvilla)
ESP32 TTGO WiFi -signaalin voimakkuus: Tässä opetusohjelmassa opimme näyttämään WiFi -verkon signaalin voimakkuuden käyttämällä ESP32 TTGO -korttia
Wifi -yhteensopivat OLED ESP32 -automittarit: 3 vaihetta (kuvilla)
Wifi käytössä OLED ESP32 -automittarit: Johdanto ensin… Rakennan auton mittarit eräänlaiseksi uudelleen ja uudelleen harrastukseksi. Katso https: //www.instructables.com/id/Remote-Car-Monit … ja https: //www.instructables.com/id/Remote-Car-Monit … kaksi uutta esimerkkiä. Pidän erityisesti
ESP32: n käytön aloittaminen - ESP32 -levyjen asentaminen Arduino IDE: hen - ESP32 vilkkuva koodi: 3 vaihetta
ESP32: n käytön aloittaminen | ESP32 -levyjen asentaminen Arduino IDE: hen | ESP32 Blink Code: Tässä ohjeessa näemme, kuinka aloittaa työskentely esp32: n kanssa ja miten asennetaan esp32 -levyt Arduino IDE: hen, ja ohjelmoimme esp 32: n suorittamaan vilkkuva koodi käyttämällä arduino ide
Rakenna Apple HomeKit -lämpötila -anturi (BME280) RaspberryPI: n ja BME280: n avulla: 5 vaihetta
Rakenna Apple HomeKit -lämpötila -anturi (BME280) RaspberryPI: n ja BME280: n avulla: Olen leikkinyt IOT -laitteilla viime kuukausina ja ottanut käyttöön noin 10 erilaista anturia, jotka seuraavat taloni ja mökin olosuhteita. Ja alun perin aloin käyttää AOSONG DHT22 lauhkean kosteuden tunnistinta
ESP32: n käyttäminen LEDin ohjaamiseen Blynkin kautta WiFi: 7 vaihetta (kuvilla)
ESP32: n käyttäminen LED -valojen ohjaamiseen Blynkin kautta WiFi: Tässä opetusohjelmassa käytetään ESP32 -kehityskorttia LED -valojen ohjaamiseen Blynkillä WiFi -yhteyden kautta. Blynk on alusta, jossa on iOS- ja Android -sovellukset Arduinon, Raspberry Pi: n ja vastaavien hallitsemiseksi Internetin kautta. Se on digitaalinen kojelauta, johon voit rakentaa