Sisällysluettelo:

ESP8266 NodeMCU, jossa BME280 -mittarit ja kaavio: 5 vaihetta
ESP8266 NodeMCU, jossa BME280 -mittarit ja kaavio: 5 vaihetta

Video: ESP8266 NodeMCU, jossa BME280 -mittarit ja kaavio: 5 vaihetta

Video: ESP8266 NodeMCU, jossa BME280 -mittarit ja kaavio: 5 vaihetta
Video: WiFi метеостанция своими руками. ESP8266 + Arduino IDE 2024, Heinäkuu
Anonim
ESP8266 NodeMCU BME280 -mittarilla ja kartalla
ESP8266 NodeMCU BME280 -mittarilla ja kartalla
ESP8266 NodeMCU BME280 -mittarilla ja kartalla
ESP8266 NodeMCU BME280 -mittarilla ja kartalla

Upeat mittarit ja kaavio ESP8266 NodeMCU -kehityskortille, jossa on BME280 -lämpötila-, kosteus- ja paineanturi. Thingspeak tallentaa kaikki tietosi pilveen haettavaksi milloin tahansa tulevina vuosina (toivottavasti). Mittarit ja kaavio täytetään asioiden puheluun tallennetuista tiedoista, ja ne päivitetään automaattisesti 5 minuutin välein.

Tarvittavat tuotteet:

ESP8266 NodeMCU -kehitystaulu (3,79 dollaria Banggood.com Hongkongista)

Bosch BME280 (5,63 dollaria Banggood.com Hongkongista)

Breadboard -puserot (3,09 dollaria Banggood.com Hongkongista)

Leipälauta (2,28 dollaria Banggood.com Hongkongista)

Virtalähde, ilmainen, jos sinulla on mikro -USB -puhelinlaturi

Mikro -USB -kaapeli, ilmainen, jos sinulla on jo sellainen

Arduino IDE, ilmainen lataus

Hanki.ino- ja. HTML-kooditiedostot täältä

Vaihe 1: Luo ja määritä Thingspeak -kanavasi

Luo ja määritä Thingspeak -kanavasi
Luo ja määritä Thingspeak -kanavasi

1. Luo ilmainen Thingspeak-tili ja uusi kanava osoitteessa https://thingspeak.com. Soita kanavalle "ESP8266-NodeMCU-12E-BME280"

2. Uudessa kanavassa on oltava kolme kenttää nimeltä Lämpötila Kosteuspaine tässä järjestyksessä (Huomaa ensimmäisen kirjaimen isot kirjaimet).

3. Muista uusi "kanavatunnuksesi" XXXXXX "Kanava -asetukset" -kohdassa

4. Napsauta "API -avaimet" -linkkiä ja pane merkille "API -kirjoitus" ja "Lue API -avaimet" XXXXXXXXXXXXXXX. Tee tästä myös julkinen kanava jakamisen alla.

5. Luo toinen Thingspeak -kanava, joka säilyttää tänään (keskiyöstä lähtien) High Low -tiedot. Kutsu sitä "BME280 Daily High Low Data"

6. Tällä uudella kanavalla tulee olla kuusi kenttää nimeltä Tmax Tmin Hmax Hmin Pmax Pmin tässä järjestyksessä (Huomaa ensimmäisen kirjaimen isot kirjaimet).

7. Ota huomioon "BME280 Daily High Low Data" "-kanavatunnus", "Lue" ja "Kirjoita API -avaimet" aivan kuten yllä olevissa vaiheissa.

Vaihe 2: Asenna Arduino IDE, kirjastot ja määritä BME280

Asenna Arduino IDE, kirjastot ja määritä BME280
Asenna Arduino IDE, kirjastot ja määritä BME280

8. Asenna Arduino IDE & ESP8266 -ydinohjeet osoitteessa

9. Käynnistä Arduino IDE, jotta voimme asentaa tarvitsemamme neljä kirjastoa.

10. Tarvitset "Adafruit Unified Sensor Driver" -kirjasto, asenna se Arduino IDE: n "Library Manager" -ohjelmaan. Valikkoluonnos Sisällytä kirjasto Hallitse kirjastoja tee haku tyypin "Suositeltu" aihe = "Anturit" ja kirjoita sitten sanat Adafruit Unified Sensor Driver hakukenttään. Haluamasi sanoo "Adafruit Unified Sensor Driver by Adafruit"

11. Lisäksi sinun on myös asennettava "Adafruit BME280 Library" Arduino IDE: n "Library Manager" -ohjelmaan. Valikkoluonnos Sisällytä kirjasto Hallitse kirjastoja tee haku tyypin "Suositeltu" aihe = "Anturit" ja kirjoita sitten hakukenttään sanat Adafruit BME280 Library. Haluamasi sanoo "Adafruit BME280 Library by Adafruit"

12. Toinen tarvitsemasi kirjasto on Wire.h, asenna se Arduino IDE: n "Library Manager" -ohjelmaan. Valikko, luonnos Sisällytä kirjasto Hallitse kirjastoja Tee haku tyypin "Contributed" Topic = "Signal Input/Output" perusteella ja kirjoita sana Wire hakukenttään. Haluamasi sanoo "Wire Built-in by Arduino" Todennäköisesti valinnan alareunassa.

13. Vielä yksi kirjasto, ESP8266WiFi, asenna se Arduino IDE: n "Kirjastohallintaan". Valikko, luonnos Sisällytä kirjasto Hallitse kirjastoja Tee haku tyypin "Contributed" Topic = "Communication" perusteella ja kirjoita sitten sana ESP8266wifi hakukenttään. Haluamasi sanoo "ESP8266wifi Sisäänrakennettu Ivan Grokhotkov"

14. BME280: n I2C -osoite on kovakoodattu Adafruit_BME280.h -tiedostossa (etsi rivi #define BME280_ADDRESS 0x77) Adafruit_BME280_Library -kansiossa. Adafruitin BME-anturimoduulit on kytketty kiinteästi käyttämään I2C-osoitetta 0x77. Mutta BME280: lla voi olla hieman erilainen I2C -osoite (0x76), jos sen ulkoinen SDO -nasta on maadoitettu. Jos käytät kolmannen osapuolen anturimoduuleja, sen osoite ei todennäköisesti vastaa Adafruit -kirjaston oletusarvoa. Esimerkiksi useimpien eBayssa tai Aliexpressissä saatavien BME280 -anturimoduulien I2C -osoitteen on oltava 0x76. Jos et saa vastausta anturilta käyttämällä Adafruit_BME280.h -tiedostossa määritettyä oletusosoitetta, sinun on ehkä muutettava se arvoon 0x76.

BME280 & ESP8266 -liitäntäpisteet. ESP8266 3.3V - BME280 Vin, ESP8266 GND - BME280 GND, ESP8266 D4 - BME280 SCL, ESP8266 D3 - BME280 SDA. 15. Avaa toimitettu ESP8266-NodeMCU-12E-BME280.html-tiedosto tekstieditorissa ja kirjoita "ESP8266-NodeMCU-12E-BME280" (ensimmäinen luomasi kanava) "Channel ID" ja "Read API Key" muuttujat key1 & chan1. Kirjoita myös "Read API Key" ja "Channel ID" "BME280 Daily High Low Data" (toinen luomasi kanava) avaimille 2 ja chan2. Kirjoita lisäksi aikavyöhykkeen poikkeama UTC -ajalta. Kuten -5 minulle. Kaikkien arvojen on oltava annettujen lainausmerkkien 'XXXXX' sisällä. Tallenna ja sulje tekstieditori.

Liitä ESP8266 tietokoneeseen USB -kaapelilla ja valitse sitten sarjaporttisi USB -portiksi.

Linux -käyttäjien on ehkä vaihdettava USB -portin omistajuutta kommunikoidakseen /dev /ttyUSB0: n kanssa kuten kohdassa "sudo chown your userername /dev /ttyUSB0" tai mitä olet koskaan valinnut portiksi asennuksessa.

Vaihe 3: Ohjelmoi ESP8266 Arduino IDE: llä

Ohjelmoi ESP8266 Arduino IDE: n avulla
Ohjelmoi ESP8266 Arduino IDE: n avulla

16. Seuraavaksi ohjelmoimme ESP8266: n. Liitä USB -kaapeli ESP8266 -laitteen ja tietokoneen välille.

Lataa toimitettu New_BME_Sensor.ino -tiedosto Arduino IDE: hen. BME280 -anturi on kytkettävä ESP8266: n D3 (SDA) - ja D4 (SCL) -liitäntöihin. Kirjoita "ESP8266-NodeMCU-12E-BME280" (ensimmäinen luomasi kanava) "Kirjoita avain" "Langaton SSID" ja "Salasana" luonnoksen oikeaan kohtaan. Napsauta sitten valikkokohtaa "Luonnos" ja "Lataa". Kun olet ladannut luonnoksen (edistyminen saavuttaa 100%) ESP8266 -laitteeseesi, voit avata sarjamonitorin (oikeassa yläkulmassa oleva kuvake näyttää suurennuslasilta) ja nähdä, että tiedot tulostetaan 5 minuutin välein 5 minuutin välein. Tiedot lähetetään thingspeakiin 5 minuutin välein, joten kestää jonkin aikaa, ennen kuin sinulla on merkityksellisiä karttatietoja, mutta sinun pitäisi saada mittarilukemat 5 minuutin kuluttua.

Varmista, että saat oikeat lukemat sarjamonitorin BME280: sta.

Ensimmäinen mittaus on todennäköisesti virheellinen nan.

Odota muutama minuutti seuraavaan lukemiseen ja varmista, että lukemat näyttävät hyviltä.

Vaihe 4: Palaa asioiden puheeseen ja tee joitakin tietojen säätöjä

Palaa Thingspeakiin ja tee joitakin tietojen säätöjä
Palaa Thingspeakiin ja tee joitakin tietojen säätöjä

17. Nyt, kun tiedot latautuvat hitaasti Thingspeakiin, voit tehdä joitakin säätöjä saadaksesi lisätietoa ladattavista kohteista. Palaa Thingspeakin verkkosivustolle ja napsauta Thingspeakin "BME280 Daily High Low Data" -kanavasivua (toinen luomasi kanava) vihreää "MATLAB Analysis" -painiketta. Valitse malli "Mukautettu (ei aloituskoodia)"

18. Nimeä MATLAB -analyysi "Laske minimi keskiyöstä lähtien".

19. Kopioi MATLAB Analysis.txt -koodi sille varattuun tilaan. Kirjoita "kanavan tunnus" "ESP8266-NodeMCU-12E-BME280" (ensimmäinen luomasi kanava) kohtaan "readChannelID". Kirjoita "BME280 Daily High Low Data" (toinen luomasi kanava) Kirjoita "Channel ID" ja "Write Key" arvoon writeNewChannelID & writeAPIKey. Tiedän, että se kuulostaa sekavalta (lue se uudelleen). Napsauta Tallenna ja suorita. Jos teit sen oikein ja lukukanava on julkinen, et näe virheitä ja se tulostaa arvot. Huomaa, että saatat nähdä virheen, jos kyseiselle kanavalle ei ole vielä ladattu tietoja. Virheestä huolimatta jatka. Voit halutessasi käydä uudelleen napsauttamalla Tallenna ja suorita ja varmista, että se toimii, kun tiedot on ladattu.

20. Seuraavaksi meidän on luotava "Time Control", joka laukaisee tämän koodin 5 minuutin välein, ja tietomme kirjoitetaan kanavalle "BME280 Daily High Low Data" (toinen luomasi kanava). Valitse "BME280 Daily High Low Data" (toinen luomasi kanava) pääsivulta Sovellukset yläreunasta. Valitse toiminnoista "TimeControl" ja sitten vihreä painike "New TimeControl". Nimeä se "Lähetä korkea matala lämpötila ESP8266". Valitse aikavyöhyke tarvittaessa ja valitse "Toistuva" kohdassa Taajuus. Valitse Toistuvuus -minuutti. Aseta ajamaan 5 minuutin välein. Toimenpiteen tulisi olla MATLAB -analyysi ja "Suoritettava koodi" on "Laske minimi keskiyöstä lähtien". Säästä TimeControl.

Vaihe 5: Muokkaa toimitettua HTML -tiedostoa

Muokkaa toimitettua HTML -tiedostoa
Muokkaa toimitettua HTML -tiedostoa

Muokkaa HTML -tiedostoja ja etsi kommentteja, joissa sanotaan "******** Change Me 1 of 8 *********" Muuta nämä haluamallasi tavalla.

Huomautuksia:

Jotkin tekstikentät ja viikoittainen kaavio täyttyvät oikein, ennen kuin sinulla on koko päivän ja viikon tieto 24 tunnin ja viikon osiosta ja kaaviosta. Kun sinulla on joukko tietoja, voit lähentää karttoja hiiren pyörällä (nollaa hiiren kakkospainikkeella). Voit myös saada neljännen mittarin (kuten kuvakaappauksissa näkyy) toisesta kanavasta peräisin olevasta toisesta anturista, mutta olen määrittänyt asiaankuuluvat osat. Jos tunnet olevasi fiksu, liitä se. On myös otettava huomioon joitakin ajoitusongelmia. Sinulla ei todennäköisesti ole ehdottomasti uusinta dataa, mutta sen pitäisi aina olla alle 5 minuuttia vanha. Tämä tulee siitä, kun ajoitusohjaus käynnistyy, kun tiedot lähetettiin ESP8266: sta ja kun latasit / päivitit verkkosivun.

Avaa mukana toimitettu ESP8266-NodeMCU-12E-BME280.html-tiedosto selaimessasi, niin mittarit ja kaavio on täytetty.

Hanki.ino- ja. HTML-kooditiedostot täältä

Suositeltava: