Turinys:

ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama: 5 žingsniai
ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama: 5 žingsniai

Video: ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama: 5 žingsniai

Video: ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama: 5 žingsniai
Video: ESP8266 weather station web server with BMP280 | BMP280 Web Server 2024, Lapkritis
Anonim
ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama
ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama
ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama
ESP8266 „NodeMCU“su BME280 matuokliais ir diagrama

Išgalvoti matuokliai ir diagrama jūsų ESP8266 „NodeMCU Development“plokštei su BME280 temperatūros, drėgmės ir slėgio jutikliu. „Thingspeak“visus jūsų duomenis išsaugos debesyje, kad juos būtų galima bet kada atrasti ateinančiais metais (tikiuosi). Matuokliai ir diagrama sudaryti iš „Speakpeak“saugomų duomenų ir automatiškai atnaujinami kas 5 minutes.

Reikalingi daiktai:

ESP8266 „NodeMCU“plėtros lenta (3,79 USD iš „Banggood.com“Honkongas)

„Bosch BME280“(5,63 USD iš „Banggood.com“Honkongas)

„Breadboard“džemperiai (3,09 USD iš „Banggood.com“Honkongas)

Duonos lenta (2,28 USD iš „Banggood.com“Honkongas)

Maitinimas, nemokamas, jei turite mikro USB telefono įkroviklį

Mikro USB kabelis, nemokamai, jei jau turite

Arduino IDE, atsisiųsti nemokamai

Gaukite.ino ir. HTML kodo failus čia

1 veiksmas: sukurkite ir nustatykite savo „Speakpeak“kanalus

Sukurkite ir nustatykite savo „Speakpeak“kanalus
Sukurkite ir nustatykite savo „Speakpeak“kanalus

1. Sukurkite nemokamą „Thingspeak“paskyrą ir naują kanalą https://thingspeak.com. Skambinkite kanalui „ESP8266-NodeMCU-12E-BME280“

2. Naujajame kanale turėtų būti 3 laukai, pavadinti Temperatūra Drėgmė Slėgis ta konkrečia tvarka (Pastaba Pirmosios raidės didžiosios raidės).

3. Skiltyje „Kanalo nustatymai“atkreipkite dėmesį į naują „kanalo ID“XXXXXX

4. Spustelėkite nuorodą „API raktai“ir atkreipkite dėmesį į „API Write“ir „Read API Keys“XXXXXXXXXXXXXXX. Be to, padarykite tai viešu kanalu, kurį bendrinate.

5. Sukurkite antrą „Thingspeak“kanalą, kuriame bus saugomi „Šiandien“(nuo vidurnakčio) „High Low“duomenys. Pavadinkite jį „BME280 Daily High Low Data“

6. Šiame naujame kanale turėtų būti 6 laukai, pavadinti Tmax Tmin Hmax Hmin Pmax Pmin ta konkrečia tvarka (Pastaba Pirmosios raidės didžiosios raidės).

7. Atkreipkite dėmesį į „BME280 Daily High Low Data“„kanalo ID“, „Read“ir „Write API keys“, kaip ir aukščiau aprašytuose veiksmuose.

2 veiksmas: nustatykite „Arduino IDE“, bibliotekas ir sukonfigūruokite BME280

Nustatykite „Arduino IDE“, bibliotekas ir sukonfigūruokite BME280
Nustatykite „Arduino IDE“, bibliotekas ir sukonfigūruokite BME280

8. Vykdykite „Arduino IDE & ESP8266“branduolio diegimo instrukcijas šiuo adresu:

9. Įjunkite „Arduino IDE“, kad galėtume įdiegti keturias reikalingas bibliotekas.

10. Jums reikės bibliotekos „Adafruit Unified Sensor Driver“, įdiekite ją „Arduino IDE“„Library Manager“. Meniu eskizas Įtraukti biblioteką Tvarkyti bibliotekas atlikite paiešką pagal Type = "Recommended" Topic = "Sensors", tada paieškos laukelyje įrašykite žodžius "Adafruit Unified Sensor Driver". Norimas sako „Adafruit Unified Sensor Driver by Adafruit“

11. Be to, jums taip pat reikės „Adafruit BME280 Library“įdiegti ją „Arduino IDE“„Library Manager“. Meniu eskizas Įtraukti biblioteką Tvarkyti bibliotekas atlikite paiešką pagal Type = "Recommended" Topic = "Sensors", tada paieškos laukelyje įrašykite žodžius "Adafruit BME280 Library". Norimasis sako „Adafruit BME280 Library by Adafruit“

12. Kita jums reikalinga biblioteka yra „Wire.h“, įdiekite ją „Arduino IDE“„Library Manager“. Meniu, eskizas Įtraukti biblioteką Tvarkyti bibliotekas Atlikite paiešką pagal Type = "Contributed" Topic = "Signalo įvestis/išvestis", tada į paieškos laukelį įrašykite žodį Viela. Norimas sako „Vieta, įmontuota„ Arduino ““Greičiausiai pasirinkimo apačioje.

13. Dar vieną biblioteką, ESP8266WiFi, įdiekite ją „Arduino IDE“bibliotekos tvarkyklėje. Meniu, eskizas Įtraukti biblioteką Tvarkyti bibliotekas Atlikite paiešką pagal Type = "Contributed" Topic = "Communication", tada į paieškos laukelį įrašykite žodį ESP8266wifi. Norimas sako „ESP8266wifi Integrated by Ivan Grokhotkov“

14. BME280 I2C adresas yra užkoduotas Adafruit_BME280.h faile (ieškokite eilutės #define BME280_ADDRESS 0x77) aplanke Adafruit_BME280_Library. „Adafruit“BME jutiklių moduliai yra prijungti, kad būtų galima naudoti 0x77 I2C adresą. Tačiau BME280 gali turėti šiek tiek kitokį I2C adresą (0x76), jei jo išorinis SDO kaištis yra įžemintas. Jei naudojate trečiosios šalies jutiklių modulius, tikėtina, kad jo adresas nesutampa su numatytąja „Adafruit“bibliotekos verte. Pavyzdžiui, daugumos „eBay“ar „Aliexpress“turimų BME280 jutiklių modulių I2C adresas yra 0x76. Jei nesulaukiate atsakymo iš jutiklio naudodami numatytąjį adresą, nustatytą Adafruit_BME280.h faile, gali tekti jį pakeisti į 0x76.

BME280 ir ESP8266 prijungimo taškai. ESP8266 3.3V - BME280 Vin, ESP8266 GND - BME280 GND, ESP8266 D4 - BME280 SCL, ESP8266 D3 - BME280 SDA. 15. Teksto redaktoriuje atidarykite pateiktą ESP8266-NodeMCU-12E-BME280.html failą ir įveskite „ESP8266-NodeMCU-12E-BME280“(pirmasis jūsų sukurtas kanalas) „Kanalo ID“ir „Skaitymo API raktas“. kintamieji key1 & chan1. Taip pat įveskite „BME280 Daily High Low Data“(antrasis jūsų sukurtas kanalas) „key2“ir „chan2“„skaityti API raktą“ir „kanalo ID“. Be to, įveskite savo laiko juostos poslinkį iš UTC. Kaip ir -5 man. Visos vertės turi būti pateiktose pavienėse kabutėse „XXXXX“. Išsaugokite ir išeikite iš teksto rengyklės.

Prijunkite ESP8266 USB kabeliu prie kompiuterio, tada pasirinkite nuoseklųjį prievadą kaip USB prievadą.

„Linux“vartotojams gali tekti pakeisti USB prievado nuosavybę, kad galėtų bendrauti su /dev /ttyUSB0, kaip nurodyta „sudo chown yourusername /dev /ttyUSB0“, arba tai, ką kada nors pasirinkote kaip prievadą sąrankoje.

3 veiksmas: užprogramuokite ESP8266 naudodami „Arduino IDE“

Programuokite ESP8266 naudodami „Arduino IDE“
Programuokite ESP8266 naudodami „Arduino IDE“

16. Toliau užprogramuosime ESP8266. Prijunkite USB kabelį tarp ESP8266 ir kompiuterio.

Įkelkite pateiktą failą New_BME_Sensor.ino į „Arduino IDE“. Jūsų BME280 jutiklis turi būti prijungtas prie D3 (SDA) ir D4 (SCL) ESP8266. Įveskite „ESP8266-NodeMCU-12E-BME280“(pirmasis jūsų sukurtas kanalas) „Write Key“„Wireless SSID“ir „Password“į tinkamą eskizo skyrių. Tada spustelėkite meniu elementus „Eskizas“ir „Įkelti“. Įkėlę eskizą (pažanga pasiekia 100%) į savo ESP8266, galite atidaryti nuoseklųjį monitorių (piktograma viršuje dešinėje atrodo kaip didinamasis stiklas) ir pamatyti, kaip jūsų duomenys išspausdinami po 5 minučių, kas 5 minutes. Duomenys siunčiami į „Thingspeak“kas 5 minutes, todėl turėsite šiek tiek laiko, kol turėsite reikšmingų diagramos duomenų, tačiau po 5 minučių turėtumėte gauti matuoklio rodmenis.

Įsitikinkite, kad serijos monitoriaus BME280 rodmenys yra teisingi.

Pirmasis matavimas greičiausiai bus netinkamas nan.

Palaukite keletą minučių iki kito skaitymo ir patikrinkite, ar rodmenys atrodo gerai.

4 žingsnis: Grįžkite į „Speakup“ir pakeiskite duomenis

Grįžkite į „Thingspeak“, kad pakeistumėte duomenis
Grįžkite į „Thingspeak“, kad pakeistumėte duomenis

17. Dabar, kol duomenys lėtai įkeliami į „Thingspeak“, leidžiama šiek tiek patobulinti, kad gautumėte papildomų duomenų iš to, kas įkeliama. Grįžkite į „Thingspeak“svetainę ir „Thingspeak“„BME280 Daily High Low Data“kanalo puslapyje (antrasis jūsų sukurtas kanalas) spustelėkite žalią mygtuką „MATLAB Analysis“. Pasirinkite šabloną „Pasirinktinis (be pradinio kodo)“

18. Pavadinkite MATLAB analizę „Apskaičiuokite Min Max nuo vidurnakčio“.

19. Nukopijuokite MATLAB Analysis.txt kodą į numatytą vietą. Įveskite „ESP8266-NodeMCU-12E-BME280“(pirmasis jūsų sukurtas kanalas) „kanalo ID“į „readChannelID“. Įveskite „BME280 Daily High Low Data“(antrasis jūsų sukurtas kanalas) Į „writeNewChannelID & writeAPIKey“pagarbiai įrašykite „Channel ID“ir „Write Key“. Žinau, kad tai skamba painiai (perskaityk dar kartą). Spustelėkite išsaugoti ir paleisti. Jei padarėte teisingai, o skaitymo kanalas yra viešas, klaidų nematysite ir jis sėkmingai išspausdins reikšmes. Atminkite, kad galite pamatyti klaidą, jei į tą kanalą dar nebuvo įkelti duomenys. Nepaisant klaidos, tęskite. Jei norite, galite dar kartą apsilankyti spustelėdami „Išsaugoti ir paleisti“, kad įsitikintumėte, jog jis veikia, kai duomenys įkeliami.

20. Toliau turime sukurti „laiko kontrolę“, kad šis kodas būtų paleistas kas 5 minutes, o mūsų duomenys bus įrašyti į kanalą „BME280 Daily High Low Data“(antrasis jūsų sukurtas kanalas). Pagrindiniame „BME280 Daily High Low Data“(antrasis jūsų sukurtas kanalas) puslapyje viršuje pasirinkite Programos. Po veiksmais pasirinkite „TimeControl“, tada žalią mygtuką „New TimeControl“. Pavadinkite jį „Siųsti aukštą žemą temperatūrą ESP8266“. Jei reikia, pasirinkite savo laiko juostą ir skiltyje Dažnis pasirinkite „Pasikartojantis“. Dalyje Pasikartojimas pasirinkite Minutė. Nustatykite veikti kas 5 minutes. Veiksmas turėtų būti MATLAB analizė, o „Vykdomas kodas“yra „Apskaičiuoti minimalią maksimalią nuo vidurnakčio“. Sutaupykite „TimeControl“.

5 veiksmas: redaguokite pateiktą HTML failą

Redaguokite pateiktą HTML failą
Redaguokite pateiktą HTML failą

Redaguokite HTML failus ir ieškokite komentarų, kuriuose sakoma: „******** Keisti mane 1 iš 8 *********“Pakeiskite juos pagal savo pageidavimus.

Pastabos:

Kai kurie teksto laukai ir savaitės diagrama nebus užpildyti teisingai, kol neturėsite visos dienos ir savaitės duomenų apie 24 val. Ir savaitės skyrius ir diagramas. Kai turite daugybę duomenų, galite padidinti diagramas naudodami pelės ratuką (dešiniuoju pelės mygtuku spustelėkite, kad atkurtumėte). Taip pat galite turėti ketvirtą matuoklį (kaip matyti ekrano kopijose) iš kito jutiklio iš kito kanalo, bet aš surinkau atitinkamas dalis. Jei jaučiatės išmintingas, prijunkite jį. Taip pat reikia žinoti kai kurias laiko problemas. Tikėtina, kad neturėsite absoliučiai naujausių duomenų, tačiau jie visada turėtų būti jaunesni nei 5 minutės. Taip atsitinka, kai suaktyvinamas laiko valdiklis, kai duomenys siunčiami iš ESP8266 ir kai įkeliate / atnaujinate tinklalapį.

Žiniatinklio naršyklėje atidarykite pateiktą ESP8266-NodeMCU-12E-BME280.html failą ir matysite matavimo prietaisus bei diagramą.

Gaukite.ino ir. HTML kodo failus čia

Rekomenduojamas: