Kazalo:

ESP8266 NodeMCU z merilniki in tabelo BME280: 5 korakov
ESP8266 NodeMCU z merilniki in tabelo BME280: 5 korakov

Video: ESP8266 NodeMCU z merilniki in tabelo BME280: 5 korakov

Video: ESP8266 NodeMCU z merilniki in tabelo BME280: 5 korakov
Video: Video 11 - TASMOTA - Vamos exibir informações em um display! 2024, Julij
Anonim
ESP8266 NodeMCU z merilniki in grafikoni BME280
ESP8266 NodeMCU z merilniki in grafikoni BME280
ESP8266 NodeMCU z merilniki in grafikoni BME280
ESP8266 NodeMCU z merilniki in grafikoni BME280

Fantastični merilniki in tabela za vašo razvojno ploščo ESP8266 NodeMCU s senzorjem temperature, vlažnosti in tlaka BME280. Thingspeak bo vse vaše podatke shranil v oblak za kadar koli v prihodnjih letih (upajmo). Merilniki in grafikon se napolnijo iz podatkov, shranjenih na Thingspeak, in se samodejno posodobijo vsakih 5 minut.

Potrebni predmeti:

Razvojna plošča ESP8266 NodeMCU (3,79 USD iz Banggood.com Hong Kong)

Bosch BME280 (5,63 USD iz Banggood.com Hong Kong)

Pletenine skakalci (3,09 USD iz Banggood.com Hong Kong)

Breadboard (2,28 USD iz Banggood.com Hong Kong)

Napajanje, brezplačno, če imate polnilec za mikro USB telefon

Kabel mikro USB, brezplačen, če ga že imate

Arduino IDE, brezplačen prenos

Datoteke kod.ino in. HTML dobite tukaj

1. korak: Ustvarite in nastavite svoje kanale Thingspeak

Ustvarite in nastavite svoje kanale Thingspeak
Ustvarite in nastavite svoje kanale Thingspeak

1. Ustvarite brezplačen račun Thingspeak in nov kanal na naslovu https://thingspeak.com, pokličite kanal "ESP8266-NodeMCU-12E-BME280"

2. Novi kanal mora imeti 3 polja z imenom Temperature Humidity Pressure v tem določenem vrstnem redu (upoštevajte veliko začetnico v prvem pismu).

3. Upoštevajte svoj novi »ID kanala« XXXXXX v razdelku »Nastavitve kanala«

4. Kliknite povezavo "Ključi API" in upoštevajte "API za pisanje" in "Branje ključev API" XXXXXXXXXXXXXX. Prav tako naj bo to javni kanal v skupni rabi.

5. Ustvarite drugi kanal Thingspeak, ki bo hranil podatke »Danes« (od polnoči) Visoko nizko. Pokličite ga "BME280 dnevni visoko nizki podatki"

6. Ta novi kanal bi moral imeti 6 polj z imenom Tmax Tmin Hmax Hmin Pmax Pmin v tem določenem vrstnem redu (upoštevajte veliko začetnico v prvem pismu).

7. Upoštevajte "BME280 Daily High Low Data" "ID kanala", "Read" in "Write API keys", tako kot v zgornjih korakih.

Korak: Nastavite Arduino IDE, knjižnice in konfigurirajte BME280

Nastavite Arduino IDE, knjižnice in konfigurirajte BME280
Nastavite Arduino IDE, knjižnice in konfigurirajte BME280

8. Sledite navodilom za namestitev jedra Arduino IDE & ESP8266 na naslovu

9. Zaženite Arduino IDE, da lahko namestimo štiri knjižnice, ki jih potrebujemo.

10. Potrebovali boste knjižnico "Adafruit Unified Sensor Driver", namestite jo v "Library Manager" v Arduino IDE. Skica menija Vključi knjižnico Upravljanje knjižnic poiščite po vrsti = "Priporočena" tema = "Senzorji", nato v iskalno polje vnesite besede Adafruit Unified Sensor Driver. Tisti, ki ga želite, pravi "Adafruit Unified Sensor Driver by Adafruit"

11. Poleg tega boste potrebovali tudi, da jo "knjižnica Adafruit BME280" namesti v "Upravitelj knjižnice" v Arduino IDE. Skica menija Vključi knjižnico Upravljanje knjižnic poiščite po vrsti = "Priporočena" tema = "Senzorji", nato v iskalno polje vnesite besede Adafruit BME280 Library. Tisti, ki ga želite, pravi: "Adafruit BME280 Library by Adafruit"

12. Druga knjižnica, ki jo potrebujete, je Wire.h, namestite jo v "Upravitelj knjižnic" v Arduino IDE. Meni, skica Vključi knjižnico Upravljanje knjižnic Iščite po vrsti = "Prispevajoča" tema = "Vhod/izhod signala", nato v iskalno polje vnesite besedo Wire. Tisti, ki ga želite, pravi "Wire Built-in by Arduino" Najverjetneje na dnu izbora.

13. Še ena knjižnica, ESP8266WiFi, jo namestite v "Upravitelj knjižnic" v Arduino IDE. Meni, skica Vključi knjižnico Upravljanje knjižnic Iščite po vrsti = "Prispevajoča" tema = "Komunikacija", nato v iskalno polje vnesite besedo ESP8266wifi. Tisti, ki ga želite, pravi: "ESP8266wifi vgradil Ivan Grokhotkov"

14. Naslov I2C za BME280 je trdo kodiran v datoteki Adafruit_BME280.h (poiščite vrstico #define BME280_ADDRESS 0x77) v mapi Adafruit_BME280_Library. Adafrutovi senzorski moduli BME so ožičeni za uporabo naslova I2C 0x77. Toda BME280 ima lahko nekoliko drugačen naslov I2C (0x76), če je njegov zunanji zatič SDO ozemljen. Če senzorske module uporabljate od tretje osebe, se njihov naslov verjetno ne ujema s privzeto vrednostjo v knjižnici Adafruit. Na primer, pri večini senzorskih modulov BME280, ki so na voljo na eBayu ali Aliexpressu, je njihov naslov I2C 0x76. Če od senzorja ne dobite odgovora z uporabo privzetega naslova, nastavljenega v datoteki Adafruit_BME280.h, ga boste morda morali spremeniti v 0x76.

Povezovalne točke BME280 in ESP8266. ESP8266 3.3V do BME280 Vin, ESP8266 GND do BME280 GND, ESP8266 D4 do BME280 SCL, ESP8266 D3 do BME280 SDA. 15. Odprite priloženo datoteko ESP8266-NodeMCU-12E-BME280.html v urejevalniku besedil in vnesite svoj "ESP8266-NodeMCU-12E-BME280" (prvi kanal, ki ste ga ustvarili) "ID kanala" in "Ključ za branje API-ja" za spremenljivki key1 & chan1. Vnesite tudi "Read API Key" in "Channel ID" za "BME280 Daily High Low Data" (drugi kanal, ki ste ga ustvarili) za key2 in chan2. Poleg tega vnesite zamik časovnega pasu od UTC. Kot pri -5 zame. Vse vrednosti morajo biti znotraj podanih enojnih narekovajev 'XXXXX'. Shranite in zapustite urejevalnik besedil.

ESP8266 s kablom USB priključite v računalnik in izberite serijska vrata USB.

Uporabniki Linuxa bodo morda morali spremeniti lastno vodenje vrat USB za komunikacijo z /dev /ttyUSB0, kot je v "sudo chown yourrusername /dev /ttyUSB0" ali karkoli ste izbrali za svoja vrata v nastavitvah.

Korak: Programirajte ESP8266 z Arduino IDE

Programirajte ESP8266 z Arduino IDE
Programirajte ESP8266 z Arduino IDE

16. Nato bomo programirali ESP8266. Priključite kabel USB med ESP8266 in računalnikom.

Naloženo datoteko New_BME_Sensor.ino naložite v Arduino IDE. Vaš senzor BME280 mora biti priključen na D3 (SDA) in D4 (SCL) na ESP8266. Vnesite "ESP8266-NodeMCU-12E-BME280" (prvi kanal, ki ste ga ustvarili) "Zapiši ključ", "Brezžični SSID" in "Geslo" v pravilen del skice. Nato kliknite element menija "Skica" in "Naloži". Ko naložite skico (napredek doseže 100%) na svoj ESP8266, lahko odprete serijski monitor (ikona zgoraj desno izgleda kot povečevalno steklo) in si ogledate, kako se vaši podatki natisnejo po 5 minutah, vsakih 5 minut. Podatki se pošiljajo v razpredelnico v 5 -minutnih intervalih, zato bo minilo nekaj časa, preden boste imeli pomembne podatke iz grafikona, vendar morate po 5 minutah izmeriti merilnike.

Poskrbite za pravilne odčitke BME280 v serijskem monitorju.

Prva meritev bo verjetno neveljavna.

Počakajte nekaj minut do naslednjega branja in preverite, ali so odčitki v redu.

4. korak: Vrnite se na Thingspeak, da naredite nekaj popravljanja podatkov

Vrnite se na Thingspeak, da naredite nekaj popravljanja podatkov
Vrnite se na Thingspeak, da naredite nekaj popravljanja podatkov

17. Zdaj, medtem ko se podatki počasi nalagajo v thingspeak, naredimo nekaj prilagoditev, da dobimo nekaj dodatnih podatkov iz naloženega. Vrnite se na spletno mesto thingspeak in na strani kanala Thingspeak "BME280 Daily High Low Data" (drugi kanal, ki ste ga ustvarili) kliknite zeleni gumb "MATLAB Analysis". Izberite predlogo "Po meri (brez začetne kode)"

18. Poimenujte analizo MATLAB "Izračunaj Min Max od polnoči".

19. Kopirajte kodo MATLAB Analysis.txt v predvideni prostor. Vnesite "ID kanala" za "ESP8266-NodeMCU-12E-BME280" (prvi kanal, ki ste ga ustvarili) v "readChannelID". Vnesite "BME280 Daily High Low Data" (drugi kanal, ki ste ga ustvarili) Vnesite "Channel ID" & "Write Key" v writeNewChannelID & writeAPIKey ustrezno. Vem, da se sliši zmedeno (preberi še enkrat). Kliknite shrani in zaženi. Če ste to naredili pravilno in je prebrani kanal javen, ne boste videli napak in uspešno natisne vrednosti. Opomba: Če na ta kanal še niso bili naloženi podatki, se lahko prikaže napaka. Kljub napaki nadaljujte. Če želite, lahko znova obiščete Kliknite shrani in zaženi, da se prepričaš, da deluje, ko so podatki naloženi.

20. Nato moramo ustvariti "časovni nadzor", ki bo sprožil to kodo vsakih 5 minut, naši podatki pa bodo zapisani na kanal "BME280 Daily High Low Data" (drugi kanal, ki ste ga ustvarili). Na glavni strani "BME280 Daily High Low Data" (drugi kanal, ki ste ga ustvarili) na vrhu izberite Aplikacije. Pri dejanjih izberite "TimeControl" in nato zeleni gumb "New TimeControl". Poimenujte ga "Pošlji visoke nizke temperature ESP8266". Po potrebi izberite časovni pas in v razdelku »Pogostost« izberite »Ponavljajoče se«. Pri ponovitvi izberite Minuta. Nastavljeno za izvajanje vsakih 5 minut. Dejanje bi moralo biti MATLAB Analiza in "Code to Execute" je "Calculate Min Max Since Midnight". Prihranite TimeControl.

5. korak: Uredite priloženo datoteko HTML

Uredite priloženo datoteko HTML
Uredite priloženo datoteko HTML

Uredite datoteke HTML in poiščite komentarje z napisom "******** Spremeni me 1 od 8 *********" Spremenite te po svojih željah.

Opombe:

Nekatera besedilna polja in tedenski grafikon se ne bodo pravilno zapolnili, dokler ne boste imeli za cel dan in celoten teden podatkov za razdelek in grafikon 24 ur in tednov. Ko imate na voljo veliko podatkov, lahko grafikone povečate s kolescem miške (desni klik za ponastavitev). Lahko imate tudi četrti merilnik (kot je prikazano na posnetkih zaslona) iz drugega senzorja iz drugega kanala, vendar sem začel z ustreznimi deli. Če se počutite zdravo, ga povežite. Prav tako se morate zavedati nekaterih vprašanj glede časa. Verjetno ne boste imeli absolutno najnovejših podatkov, vendar morajo biti vedno stari manj kot 5 minut. To izvira, ko se sproži nadzor časa, ko so bili podatki poslani iz ESP8266 in ko ste naložili / osvežili spletno stran.

Odprite priloženo datoteko ESP8266-NodeMCU-12E-BME280.html v spletnem brskalniku in videli boste merilnike in grafikon.

Datoteke kod.ino in. HTML dobite tukaj

Priporočena: