Sadržaj:

ESP8266 NodeMCU sa BME280 mjeračima i tabelom: 5 koraka
ESP8266 NodeMCU sa BME280 mjeračima i tabelom: 5 koraka

Video: ESP8266 NodeMCU sa BME280 mjeračima i tabelom: 5 koraka

Video: ESP8266 NodeMCU sa BME280 mjeračima i tabelom: 5 koraka
Video: Подключение GY-BME-280 3.3v к ESP8266 NodeMcu V3, сравнение с классическим барометром 2024, Novembar
Anonim
ESP8266 NodeMCU sa BME280 mjeračima i grafikonom
ESP8266 NodeMCU sa BME280 mjeračima i grafikonom
ESP8266 NodeMCU sa BME280 mjeračima i grafikonom
ESP8266 NodeMCU sa BME280 mjeračima i grafikonom

Moderni mjerači i tablica za vašu razvojnu ploču ESP8266 NodeMCU sa BME280 senzorom temperature, vlažnosti i pritiska. Thingspeak će pohraniti sve vaše podatke u oblak za preuzimanje u bilo koje vrijeme godinama (nadamo se). Mjerači i grafikoni popunjavaju se podacima pohranjenima na Thingspeak -u i automatski se ažuriraju svakih 5 minuta.

Potrebne stavke:

ESP8266 NodeMCU razvojna ploča (3,79 USD sa Banggood.com Hong Kong)

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

Džemperi za hljeb (3,09 USD na Banggood.com Hong Kong)

Oglasna ploča (2,28 USD sa Banggood.com Hong Kong)

Napajanje, besplatno ako imate mikro USB punjač za telefon

Mikro USB kabel, besplatan ako ga već imate

Arduino IDE, besplatno preuzimanje

Preuzmite datoteke.ino i. HTML ovdje

Korak 1: Kreirajte i postavite svoje kanale Thingspeak

Kreirajte i postavite svoje kanale Thingspeak
Kreirajte i postavite svoje kanale Thingspeak

1. Napravite besplatni Thingspeak račun i novi kanal na https://thingspeak.com, Nazovite kanal "ESP8266-NodeMCU-12E-BME280"

2. Novi kanal bi trebao imati 3 polja pod nazivom Temperatura Vlažnost Pritisak prema tom određenom redoslijedu (Napomena Veliko slovo u prvom slovu).

3. Zabilježite svoj novi "ID kanala" XXXXXX pod "Postavke kanala"

4. Kliknite vezu "API ključevi" i uzmite u obzir svoje "API pisanje" i "Čitanje API ključeva" XXXXXXXXXXXXXXX. Također, učinite ovo javnim kanalom pod dijeljenjem.

5. Kreirajte drugi kanal Thingspeak koji će držati podatke "Danas" (od ponoći) visoke niske vrijednosti. Nazovite to "BME280 dnevni visoki niski podaci"

6. Ovaj novi kanal trebao bi imati 6 polja pod nazivom Tmax Tmin Hmax Hmin Pmax Pmin u tom određenom redoslijedu (Napomena Prvo slovo u početnom slovu).

7. Zapamtite "BME280 Daily High Low Data" "ID kanala", "Read" i "Write API keys", baš kao u prethodnim koracima.

Korak 2: Postavite Arduino IDE, biblioteke i konfigurirajte BME280

Postavite Arduino IDE, biblioteke i konfigurirajte BME280
Postavite Arduino IDE, biblioteke i konfigurirajte BME280

8. Slijedite upute za instaliranje Arduino IDE & ESP8266 jezgre na

9. Pokrenite Arduino IDE kako bismo mogli instalirati četiri potrebne biblioteke.

10. Trebat će vam biblioteka "Adafruit Unified Sensor Driver", instalirajte je u "Library Manager" u Arduino IDE. Skica menija Uključi biblioteku Upravljanje bibliotekama vrši pretragu prema Tip = "Preporučena" tema = "Senzori", a zatim u okvir za pretragu unesite riječi Adafruit Unified Sensor Driver. Ona koju želite kaže "Adafruit Unified Sensor Driver by Adafruit"

11. Osim toga, trebat će vam i "Adafruit BME280 Library" instalacija u "Library Manager" u Arduino IDE -u. Skica menija Uključi biblioteku Upravljanje bibliotekama vrši pretragu prema Type = "Recommended" Topic = "Sensors", a zatim stavite riječi Adafruit BME280 Library u okvir za pretragu. Ona koju želite kaže "Adafruit BME280 Library by Adafruit"

12. Još jedna biblioteka koja vam je potrebna je Wire.h, instalirajte je u "Upravitelj knjižnica" u Arduino IDE -u. Meni, skica Uključi biblioteku Upravljanje bibliotekama Pretražite prema Type = "Contributed" Topic = "Signal Input/Output", a zatim stavite riječ Wire u okvir za pretraživanje. Ona koju želite kaže "Wire Built-in by Arduino" Najvjerojatnije na dnu odabira.

13. Još jedna biblioteka, ESP8266WiFi, instalirajte je u "Upravitelj knjižnica" u Arduino IDE -u. Meni, skica Uključi biblioteku Upravljanje bibliotekama Pretražite prema Type = "Contributed" Topic = "Communication", a zatim stavite riječ ESP8266wifi u okvir za pretraživanje. Ona koju želite kaže "ESP8266wifi ugrađen od Ivana Grokhotkova"

14. I2C adresa za BME280 je kodirana u datoteci Adafruit_BME280.h (potražite red #define BME280_ADDRESS 0x77) unutar fascikle Adafruit_BME280_Library. Adafruit-ovi BME senzorski moduli ožičeni su za upotrebu I2C adrese 0x77. Ali BME280 može imati malo drugačiju I2C adresu (0x76) ako je njegov vanjski SDO pin uzemljen. Ako senzorske module koristite od treće strane, vjerojatno se ta adresa ne podudara sa zadanim vrijednostima u biblioteci Adafruit. Na primjer, za većinu senzorskih modula BME280 dostupnih na eBayu ili Aliexpressu njihova je I2C adresa 0x76. Ako ne dobijete odgovor od senzora koristeći zadanu adresu postavljenu u datoteci Adafruit_BME280.h, možda ćete je morati promijeniti na 0x76.

BME280 i ESP8266 Tačke povezivanja. ESP8266 3.3V na BME280 Vin, ESP8266 GND na BME280 GND, ESP8266 D4 na BME280 SCL, ESP8266 D3 na BME280 SDA. 15. Otvorite priloženu datoteku ESP8266-NodeMCU-12E-BME280.html u uređivaču teksta i unesite svoj "ESP8266-NodeMCU-12E-BME280" (prvi kanal koji ste stvorili) "ID kanala" i "Čitanje API ključa" za promenljive key1 & chan1. Također unesite "Read API Key" i "Channel ID" za "BME280 Daily High Low Data" (Drugi kanal koji ste stvorili) za key2 i chan2. Osim toga, unesite pomak vremenske zone od UTC -a. Kao u -5 za mene. Sve vrijednosti moraju biti unutar navedenih navodnika 'XXXXX'. Spremite i izađite iz uređivača teksta.

Priključite svoj ESP8266 pomoću USB kabla na računar, a zatim odaberite serijski port kao USB port.

Korisnici Linuxa će možda morati promijeniti vlastito povezivanje USB priključka kako bi komunicirali s /dev /ttyUSB0 kao u "sudo chown yourrusername /dev /ttyUSB0" ili bilo čemu što ste odabrali kao svoj port u postavkama.

Korak 3: Programirajte ESP8266 s Arduino IDE -om

Programirajte ESP8266 s Arduino IDE -om
Programirajte ESP8266 s Arduino IDE -om

16. Zatim ćemo programirati ESP8266. Povežite USB kabl između vašeg ESP8266 i računara.

Učitajte priloženu datoteku New_BME_Sensor.ino u Arduino IDE. Vaš BME280 senzor trebao bi biti priključen na D3 (SDA) i D4 (SCL) na ESP8266. Unesite "ESP8266-NodeMCU-12E-BME280" (prvi kanal koji ste stvorili) "Ključ za pisanje", "Bežični SSID" i "Lozinka" u ispravan odjeljak skice. Zatim kliknite stavku menija "Skica" i "Otpremi". Nakon što otpremite skicu (Napredak doseže 100%) na svoj ESP8266, možete otvoriti serijski monitor (ikona gore desno izgleda kao povećalo) i vidjeti vaše podatke kako se ispisuju nakon 5 minuta, svakih 5 minuta. Podaci se šalju stvarima u intervalima od 5 minuta, pa će proći neko vrijeme prije nego što dobijete značajne podatke grafikona, ali biste trebali očitati mjerač nakon 5 minuta.

Pobrinite se da ispravno očitate BME280 na serijskom monitoru.

Prvo mjerenje će vjerovatno biti nevažeća dadilja.

Pričekajte nekoliko minuta do sljedećeg čitanja i provjerite da li očitanja izgledaju dobro.

Korak 4: Vratite se na Thingspeak da biste izvršili izmjene podataka

Vratite se na Thingspeak da biste učinili neke izmjene podataka
Vratite se na Thingspeak da biste učinili neke izmjene podataka

17. Sada, dok se podaci polako učitavaju na thingspeak, dopustimo neke izmjene kako bismo dobili dodatne podatke od onoga što se učitava. Vratite se na Thingspeak web stranicu i na stranici kanala Thingspeak "BME280 Daily High Low Data" (Drugi kanal koji ste stvorili) kliknite zeleno dugme "MATLAB Analysis". Odaberite predložak "Prilagođeno (bez početnog koda)"

18. Imenujte MATLAB analizu "Izračunaj Min Max od ponoći".

19. Kopirajte kôd MATLAB Analysis.txt u predviđeni prostor. Unesite "ID kanala" za "ESP8266-NodeMCU-12E-BME280" (prvi kanal koji ste stvorili) u "readChannelID". Unesite "BME280 Daily High Low Data" (drugi kanal koji ste kreirali) Upišite "Channel ID" & "Write Key" u writeNewChannelID & writeAPIKey respektivno. Znam da zvuči zbunjujuće (pročitajte ponovo). Pritisnite Spremi i pokreni. Ako ste to učinili ispravno i čitani kanal je javan, nećete vidjeti greške i uspješno ispisuje vrijednosti. Napomena, možda ćete vidjeti grešku ako na taj kanal još nisu učitani podaci. Unatoč grešci nastavite. Ako želite, možete ponovo posjetiti. Kliknite Spremi i pokreni kako biste bili sigurni da radi nakon što su podaci učitani.

20. Zatim, moramo stvoriti "Vremensku kontrolu" koja će aktivirati ovaj kôd svakih 5 minuta i naši podaci se zapisuju na kanal "BME280 Dnevno visoki niski podaci" (Drugi kanal koji ste kreirali). Na glavnoj stranici "BME280 Daily High Low Data" (drugi kanal koji ste stvorili) odaberite Aplikacije pri vrhu. Pod radnjama odaberite "TimeControl", a zatim zeleno dugme "New TimeControl". Dajte mu ime "Pošalji visoke niske temperature ESP8266". Odaberite svoju vremensku zonu ako je potrebno i odaberite "Ponavlja se" pod Frekvencija. Odaberite Minuta pod Ponavljanje. Postavljeno za trčanje svakih 5 minuta. Radnja bi trebala biti MATLAB analiza, a "Kod za izvršavanje" je "Izračunaj Min Maks od ponoći". Uštedite TimeControl.

Korak 5: Uredite dostavljenu HTML datoteku

Uredite dostavljenu HTML datoteku
Uredite dostavljenu HTML datoteku

Uredite HTML datoteke i potražite komentare na kojima piše "******** Promijeni me 1 od 8 *********" Promijenite ih prema vlastitim željama.

Napomene:

Neka od tekstualnih polja i sedmični grafikon neće se ispravno popuniti sve dok ne dobijete cijeli dan i cijelu sedmicu podataka za odjeljak i grafikon 24 sata i sedmice. Kad budete imali hrpu podataka, možete zumirati grafikone kotačićem miša (desni klik za vraćanje na početne vrijednosti). Možete imati i četvrti mjerač (kao što se vidi na snimcima ekrana) s drugog senzora s drugog kanala, ali ja sam započeo relevantne dijelove. Ako se osjećate pametno, spojite ga. Također morate biti svjesni nekih vremenskih pitanja. Vjerojatno nećete imati apsolutno najnovije podatke, ali uvijek bi trebali biti stariji od 5 minuta. To dolazi od trenutka kada se aktivira kontrola vremena, kada su podaci poslani s ESP8266 i kada ste učitali / osvježili web stranicu.

Otvorite priloženu datoteku ESP8266-NodeMCU-12E-BME280.html u svom web pregledniku i trebali biste vidjeti popunjene mjerače i grafikone.

Preuzmite datoteke.ino i. HTML ovdje

Preporučuje se: