Sadržaj:

ESP8266 NodeMCU s BME280 mjeračima i grafikonom: 5 koraka
ESP8266 NodeMCU s BME280 mjeračima i grafikonom: 5 koraka

Video: ESP8266 NodeMCU s BME280 mjeračima i grafikonom: 5 koraka

Video: ESP8266 NodeMCU s BME280 mjeračima i grafikonom: 5 koraka
Video: Подключаем дисплей LSD1602, датчики BME280 и DS18B20 к ESP8266 без программирования! WiFi IoT (HUNY) 2024, Studeni
Anonim
ESP8266 NodeMCU s BME280 mjeračima i grafikonom
ESP8266 NodeMCU s BME280 mjeračima i grafikonom
ESP8266 NodeMCU s BME280 mjeračima i grafikonom
ESP8266 NodeMCU s BME280 mjeračima i grafikonom

Moderni mjerači i tablica za vašu razvojnu ploču ESP8266 NodeMCU sa BME280 osjetnikom temperature, vlažnosti i tlaka. Thingspeak će pohraniti sve vaše podatke u oblak za preuzimanje u bilo koje vrijeme godinama (nadamo se) sljedećih godina. Mjerači i grafikon popunjavaju se iz podataka pohranjenih 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 s Banggood.com Hong Konga)

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

Oglasna ploča (2,28 USD iz 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

Ovdje preuzmite.ino i. HTML kodne datoteke

Korak 1: Stvorite i postavite svoje kanale Thingspeak

Stvorite i postavite svoje kanale Thingspeak
Stvorite 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 trebao bi imati 3 polja pod nazivom Temperatura Tlak vlažnosti zraka u tom određenom redoslijedu (Napomena Veliko početno 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. Izradite drugi kanal Thingspeak koji će sadržavati podatke "Danas" (od ponoći) visoke niske. 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. Zabilježite "BME280 Daily High Low Data" "ID kanala", "Read" i "Write API keys", kao u prethodnim koracima.

Korak 2: Postavite Arduino IDE, knjižnice i konfigurirajte BME280

Postavite Arduino IDE, knjižnice i konfigurirajte BME280
Postavite Arduino IDE, knjižnice i konfigurirajte BME280

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

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

10. Trebat će vam knjižnica "Adafruit Unified Sensor Driver", instalirajte je u "Library Manager" u Arduino IDE. Skica izbornika Uključi knjižnicu Upravljanje knjižnicama pretražujte prema vrsti = "Preporučena" tema = "Senzori", a zatim u okvir za pretraživanje stavite riječi Adafruit Unified Sensor Driver. Ona koju želite kaže "Adafruit Unified Driver Sensor Driver by Adafruit"

11. Osim toga, trebat ćete i da je "Adafruit BME280 Library" instalira u "Library Manager" u Arduino IDE -u. Skica izbornika Uključi knjižnicu Upravljanje knjižnicama vrši pretraživanje prema vrsti = "Preporučena" tema = "Senzori", a zatim stavite riječi Adafruit BME280 Library u okvir za pretraživanje. Ona koju želite kaže "Adafruit BME280 Library by Adafruit"

12. Druga biblioteka koja vam je potrebna je Wire.h, instalirajte je u "Upravitelj knjižnica" u Arduino IDE -u. Izbornik, skica Uključi knjižnicu Upravljanje knjižnicama 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 knjižnica, ESP8266WiFi, instalirajte je u "Upravitelj knjižnica" u Arduino IDE -u. Izbornik, skica Uključi knjižnicu Upravljanje knjižnicama Pretražite prema Type = "Contributed" Topic = "Communication", a zatim u okvir za pretraživanje stavite riječ ESP8266wifi. 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 redak #define BME280_ADDRESS 0x77) unutar mape Adafruit_BME280_Library. Adafruit-ovi BME senzorski moduli ožičeni su za upotrebu I2C adrese 0x77. Ali BME280 može imati nešto 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 u 0x76.

Priključne točke BME280 i ESP8266. 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 varijable 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 USB kabelom u računalo, a zatim odaberite serijski port kao USB priključak.

Korisnici Linuxa možda će morati promijeniti vlastito povezivanje USB priključka kako bi komunicirali s /dev /ttyUSB0 kao u "sudo chown yourrusername /dev /ttyUSB0" ili bilo što š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. Spojite USB kabel između vašeg ESP8266 i računala.

Učitajte priloženu datoteku New_BME_Sensor.ino u Arduino IDE. Vaš senzor BME280 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 izbornika "Sketch" & "Upload". Nakon što prenesete skicu (Napredak doseže 100%) na svoj ESP8266, možete otvoriti serijski monitor (ikona u gornjem desnom kutu izgleda kao povećalo) i vidjeti ispis podataka 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, no očitanja mjerača trebali biste imati nakon 5 minuta.

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

Prvo mjerenje vjerojatno će biti neispravno.

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

Korak 4: Vratite se na Thingspeak da biste učinili neke 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 prilagodbe kako bismo dobili dodatne podatke od onoga što se prenosi. Vratite se na stranicu Thingspeak i na stranici kanala Thingspeak "BME280 Daily High Low Data" (Drugi kanal koji ste stvorili) kliknite zeleni gumb "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 stvorili) Upišite "Channel ID" & "Write Key" u writeNewChannelID & writeAPIKey respektivno. Znam da zvuči zbunjujuće (pročitaj ponovo). Pritisnite Spremi i pokreni. Ako ste to učinili ispravno i kanal za čitanje je javan, nećete vidjeti pogreške i uspješno ispisuje vrijednosti. Napomena, možda ćete vidjeti pogrešku ako na taj kanal još nisu preneseni podaci. Unatoč pogrešci, nastavite. Po želji možete ponovno posjetiti Kliknite Spremi i pokreni kako biste bili sigurni da radi nakon što su podaci preneseni.

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

Korak 5: Uredite priloženu HTML datoteku

Uredite priloženu HTML datoteku
Uredite priloženu HTML datoteku

Uredite HTML datoteke i potražite komentare s natpisom "******** Promijeni me 1 od 8 *********" Promijenite ih prema vlastitim željama.

Bilješke:

Neka od tekstualnih polja i tjedni grafikon neće se ispravno popuniti sve dok ne dobijete cijeli dan i cijeli tjedan podataka za odjeljak i grafikon 24 sata i tjedna. Nakon što imate hrpu podataka, možete zumirati grafikone kotačićem miša (desni klik za vraćanje na početne vrijednosti). Također možete imati četvrti mjerač (kao što se vidi na snimkama zaslona) 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 oni bi uvijek trebali biti stariji od 5 minuta. To dolazi od trenutka kad 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 grafikon.

Preuzmite datoteke.ino i. HTML ovdje

Preporučeni: