Përmbajtje:
- Hapi 1: Krijoni dhe konfiguroni kanalet tuaja Thingspeak
- Hapi 2: Konfiguroni Arduino IDE, Bibliotekat dhe Konfiguroni BME280
- Hapi 3: Programoni ESP8266 Me Arduino IDE
- Hapi 4: Kthehuni te Thingspeak për të bërë disa rregullime të të dhënave
- Hapi 5: Ndryshoni skedarin HTML të siguruar
Video: ESP8266 NodeMCU Me matës BME280 & Grafik: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Matës dhe grafik i zbukuruar për bordin tuaj të zhvillimit ESP8266 NodeMCU me sensorin e temperaturës, lagështisë dhe presionit BME280. Thingspeak do të ruajë të gjitha të dhënat tuaja në cloud për rikthim në çdo kohë për vitet e ardhshme (me shpresë). Matësit dhe grafiku mbushen nga të dhënat e ruajtura në gjërat dhe azhurnohen automatikisht çdo 5 minuta.
Artikujt e nevojshëm:
ESP8266 Bordi i Zhvillimit NodeMCU ($ 3.79 nga Banggood.com Hong Kong)
Bosch BME280 (5.63 dollarë nga Banggood.com Hong Kong)
Jumpers Breadboard ($ 3.09 nga Banggood.com Hong Kong)
Breadboard (2.28 dollarë nga Banggood.com Hong Kong)
Furnizimi me energji, Falas nëse keni një karikues të telefonit mikro USB
Kabllo Micro USB, Falas nëse e keni tashmë
Arduino IDE, Shkarkim Falas
Merrni skedarët e kodit.ino &. HTML këtu
Hapi 1: Krijoni dhe konfiguroni kanalet tuaja Thingspeak
1. Krijoni një llogari falas Thingspeak dhe një kanal të ri në https://thingspeak.com, Thirrni kanalin "ESP8266-NodeMCU-12E-BME280"
2. Kanali i ri duhet të ketë 3 fusha të quajtura Temperatura Lagështia Presioni në atë renditje specifike (Shënim me shkronjë të parë me shkronjë të madhe).
3. Merrni parasysh "ID e kanalit" tuaj të ri XXXXXX nën "Cilësimet e kanalit"
4. Klikoni lidhjen "Çelësat API" dhe mbani shënim "API Shkruaj" dhe "Lexo Çelësat API" tuaj XXXXXXXXXXXXXXXX. Gjithashtu, bëjeni këtë një kanal publik nën ndarje.
5. Krijoni një kanal të dytë Thingspeak që do të mbajë të dhënat "Sot" (që nga mesnata) High Low. Thirrni atë "BME280 Të dhëna të larta ditore të ulëta"
6. Ky kanal i ri duhet të ketë 6 fusha të quajtura Tmax Tmin Hmax Hmin Pmax Pmin në atë renditje specifike (Shënim me shkronjë të parë me shkronja të mëdha).
7. Merrni parasysh "IDE e kanalit" BME280 Daily High Low Data "," Lexo "dhe" Shkruaj çelësat API "ashtu si në hapat e mësipërm.
Hapi 2: Konfiguroni Arduino IDE, Bibliotekat dhe Konfiguroni BME280
8. Ndiqni udhëzimet për instalimin e bërthamës Arduino IDE & ESP8266 në
9. Ndezni Arduino IDE kështu që ne mund të instalojmë katër bibliotekat që do të na duhen.
10. Ju do të keni nevojë për bibliotekën "Adafruit Unified Sensor Driver", instalojeni atë në "Manager Library" në Arduino IDE. Skica e Menysë Përfshini Bibliotekën Menaxhoni Bibliotekat bëni një kërkim sipas Tipit = "Rekomanduar" Tema = "Sensorë" pastaj vendosni fjalët Adafruit Unified Sensor Driver në kutinë e kërkimit. Ai që dëshironi thotë "Adafruit Unified Sensor Driver by Adafruit"
11. Përveç kësaj, ju gjithashtu do të kërkoni që "Adafruit BME280 Library" ta instaloni atë në "Library Library" në Arduino IDE. Skica e Menysë Përfshini Bibliotekën Menaxhoni Bibliotekat bëni një kërkim sipas Tipit = "Rekomanduar" Tema = "Sensorë" pastaj vendosni fjalët Adafruit Library BME280 Library në kutinë e kërkimit. Ajo që dëshironi thotë "Biblioteka Adafruit BME280 nga Adafruit"
12. Një bibliotekë tjetër që ju nevojitet është Wire.h, instalojeni atë në "Manager Library" në Arduino IDE. Menyja, Skicimi i Përfshirjes së Bibliotekës Menaxhimi i Bibliotekave Bëni një kërkim sipas Tipit = "Kontribuar" Tema = "Hyrja/Dalja e Sinjalit" pastaj vendosni fjalën Wire në kutinë e kërkimit. Ajo që dëshironi thotë "Wire Built-in by Arduino" Me shumë mundësi në fund të përzgjedhjes.
13. Një bibliotekë tjetër, ESP8266WiFi, instalojeni në "Menaxherin e Bibliotekës" në Arduino IDE. Menyja, Skica Përfshini Bibliotekën Menaxhoni Bibliotekat Bëni një kërkim sipas Tipit = "Kontribuar" Tema = "Komunikimi" pastaj vendosni fjalën ESP8266wifi në kutinë e kërkimit. Ajo që dëshironi thotë "ESP8266wifi Built-in nga Ivan Grokhotkov"
14. Adresa I2C për BME280 është e koduar në skedarin Adafruit_BME280.h (shikoni për vijën #përcaktoni BME280_ADDRESS 0x77) brenda dosjes Adafruit_BME280_Library. Modulet e sensorit BME të Adafruit janë të lidhur ngushtë për të përdorur adresën I2C të 0x77. Por BME280 mund të ketë një adresë I2C paksa të ndryshme (0x76) nëse kunja e saj e jashtme SDO është e bazuar. Nëse përdorni modulet e sensorit nga një palë e tretë, ka të ngjarë që adresa e saj të mos përputhet me vlerën e paracaktuar në bibliotekën Adafruit. Për shembull, për shumicën e moduleve të sensorit BME280 të disponueshëm në eBay ose Aliexpress adresa e tyre I2C është 0x76. Nëse nuk merrni një përgjigje nga sensori duke përdorur adresën e paracaktuar të vendosur në skedarin Adafruit_BME280.h, mund t'ju duhet ta ndryshoni atë në 0x76.
Pikat e Lidhjes BME280 & ESP8266. ESP8266 3.3V në BME280 Vin, ESP8266 GND në BME280 GND, ESP8266 D4 në BME280 SCL, ESP8266 D3 në BME280 SDA. 15. Hapni skedarin e dhënë ESP8266-NodeMCU-12E-BME280.html në një redaktues teksti dhe futni "ESP8266-NodeMCU-12E-BME280" (Kanali i parë që keni krijuar) "ID e kanalit" & "Lexo çelësin API" për variablat key1 & chan1. Gjithashtu futni "Lexo çelësin API" dhe "ID e kanalit" për "BME280 Daily High Low Data" (Kanali i dytë që keni krijuar) për key2 dhe chan2. Përveç kësaj, futni zonën tuaj të kompensuar nga UTC. Si në -5 për mua. Të gjitha vlerat duhet të jenë brenda thonjëzave të ofruara të vetme 'XXXXX'. Ruani dhe dilni nga redaktuesi i tekstit.
Lidhni ESP8266 me kabllon USB në kompjuterin tuaj dhe më pas zgjidhni portën tuaj serike që të jetë porta USB.
Përdoruesit e Linux mund të kenë nevojë të ndryshojnë pronësinë e portit USB për të komunikuar me /dev /ttyUSB0 si në 'sudo chown yourusername /dev /ttyUSB0' ose atë që keni zgjedhur ndonjëherë si portin tuaj në konfigurim.
Hapi 3: Programoni ESP8266 Me Arduino IDE
16. Tjetra ne do të programojmë ESP8266. Lidhni një kabllo USB midis ESP8266 dhe kompjuterit tuaj.
Ngarkoni skedarin e dhënë New_BME_Sensor.ino në Arduino IDE. Sensori juaj BME280 duhet të jetë i lidhur me D3 (SDA) & D4 (SCL) në ESP8266. Vendosni "ESP8266-NodeMCU-12E-BME280" (Kanali i parë që keni krijuar) "Shkruani çelësin" "SSID pa tel" & "Fjalëkalimi" në pjesën e duhur të skicës. Pastaj klikoni artikullin e menysë "Skicë" dhe "Ngarko". Pasi të keni ngarkuar skicën (Progresi arrin 100%) në ESP8266 tuaj ju mund të hapni monitorin serik (Ikona sipër djathtas duket si një gotë zmadhuese) dhe të shihni të dhënat tuaja të printohen pas 5 minutash, çdo 5 minuta. Të dhënat dërgohen në gjërat në intervale prej 5 minutash kështu që do të kalojë ca kohë para se të keni të dhëna kuptimplote të grafikut, por duhet të keni lexime matëse pas 5 minutash.
Sigurohuni që të merrni një lexim të saktë nga BME280 në monitorin serik.
Matja e parë ka të ngjarë të jetë një nan i pavlefshëm.
Prisni disa minuta deri në leximin tjetër dhe verifikoni që leximet duken mirë.
Hapi 4: Kthehuni te Thingspeak për të bërë disa rregullime të të dhënave
17. Tani, Ndërsa të dhënat po ngarkohen ngadalë në thingspeak, le të bëjmë disa ndryshime për të marrë disa të dhëna shtesë nga ato që ngarkohen. Kthehuni në faqen e internetit të thingspeak dhe në faqen e kanalit Thingspeak "BME280 Daily High Low Data" (Kanali i dytë që keni krijuar) klikoni në butonin e gjelbër "Analiza MATLAB". Zgjidhni Template "Custom (No Code Starter)"
18. Emërtoni Analizën MATLAB "Llogarit Min Max Max që nga Mesnata".
19. Kopjoni kodin MATLAB Analysis.txt në hapësirën e dhënë. Shkruani "ID e kanalit" për "ESP8266-NodeMCU-12E-BME280" (Kanali i parë që keni krijuar) në "readChannelID". Shkruani "BME280 Daily High Low Data" (Kanali i dytë që keni krijuar) Shkruani "Channel ID" & "Write Key" në writeNewChannelID & writeAPIKey me respekt. E di që tingëllon konfuze (lexojeni përsëri). Klikoni ruani dhe ekzekutoni. Nëse e keni bërë korrekt dhe kanali i lexuar është publik nuk do të shihni gabime dhe printon me sukses vlerat. Shënim, Mund të shihni një gabim nëse ende nuk janë ngarkuar të dhëna në atë kanal. Pavarësisht gabimit vazhdoni. Nëse dëshironi, mund të rishikoni Klikoni ruani dhe ekzekutoni për t'u siguruar që punon pasi të jenë ngarkuar të dhënat.
20. Tjetra, ne duhet të krijojmë një "Kontroll Kohe" për ta shkarkuar këtë kod çdo 5 minuta dhe të dhënat tona shkruhen në kanalin "BME280 Daily High Low Data" (Kanali i dytë që keni krijuar). Nga faqja kryesore e "BME280 Daily High Low Data" (Kanali i dytë që keni krijuar) zgjidhni Aplikacionet në krye. Nën veprimet zgjidhni "TimeControl" pastaj butonin e Gjelbër "New TimeControl". Emërtojeni atë "Dërgoni temperatura të larta të ulëta ESP8266". Zgjidhni zonën tuaj kohore nëse është e nevojshme dhe zgjidhni "Recurring" nën Frekuenca. Zgjidhni Minuta nën Përsëritjen. Vendoseni të funksionojë çdo 5 minuta. Veprimi duhet të jetë Analiza MATLAB dhe "Kodi për të Ekzekutuar" është "Llogarit Min Max Max që nga Mesnata". Kurseni KohenControl.
Hapi 5: Ndryshoni skedarin HTML të siguruar
Ndryshoni skedarët HTML dhe kërkoni komente që thonë "******** Change Me 1 of 8 *********" Ndryshojini ato sipas preferencës tuaj.
Shënime:
Disa nga fushat e tekstit dhe grafiku javor nuk do të popullohen në mënyrë korrekte derisa të keni një ditë të plotë dhe javë të plotë të të dhënave për seksionin dhe grafikun e 24 orëve dhe javëve. Pasi të keni një mori të dhënash, mund të zmadhoni grafikët me rrotën e miut (Klikoni me të djathtën për të rivendosur). Ju gjithashtu mund të keni një matës të katërt (siç shihet në pamjet e ekranit) nga një sensor tjetër nga një kanal tjetër, por unë kam nxjerrë pjesët përkatëse. Nëse ndiheni të këqij, lidheni atë. Ekzistojnë gjithashtu disa çështje të kohës që duhet të jeni të vetëdijshëm. Me shumë mundësi nuk do të keni të dhënat absolute më aktuale, por ato duhet të jenë gjithmonë më pak se 5 minuta të vjetra. Kjo vjen kur kontrolli i kohës fiket, Kur të dhënat janë dërguar nga ESP8266 dhe kur keni ngarkuar / rifreskuar faqen e internetit.
Hapni skedarin e dhënë ESP8266-NodeMCU-12E-BME280.html në shfletuesin tuaj të internetit dhe duhet të shihni matësit dhe grafikun e populluar.
Merrni skedarët e kodit.ino &. HTML këtu
Recommended:
Matës i cilësisë së ajrit të brendshëm: 5 hapa (me fotografi)
Matës i Cilësisë së Ajrit të Brendshëm: Projekt i thjeshtë për të kontrolluar cilësinë e ajrit në shtëpinë tuaj. Meqenëse ne qëndrojmë/punojmë nga shtëpia shumë kohët e fundit, mund të jetë një ide e mirë të monitoroni cilësinë e ajrit dhe t'i kujtoni vetes kur është koha për të hapur dritaren dhe merrni ajër të pastër
Matës i lagështisë së tokës diellore me ESP8266: 10 hapa (me fotografi)
Matës i Lagështisë së Tokës Diellore Me ESP8266: Në këtë Udhëzues, ne po bëjmë një monitor të lagështisë së tokës me energji diellore. Përdor një mikrokontrollues wifi ESP8266 që funksionon me kod të ulët të energjisë, dhe gjithçka është e papërshkueshme nga uji, kështu që mund të lihet jashtë. Ju mund ta ndiqni saktësisht këtë recetë, ose të merrni prej saj
Regjistroni të dhënat dhe hartoni një grafik në internet duke përdorur NodeMCU, MySQL, PHP dhe Chartjs.org: 4 hapa
Regjistroni të dhënat dhe hartoni një grafik në internet duke përdorur NodeMCU, MySQL, PHP dhe Chartjs.org: Ky udhëzues përshkruan se si mund të përdorim bordin Node MCU për të mbledhur të dhëna nga sensorë të shumtë, t'i dërgojmë këto të dhëna në një skedar PHP të pritur i cili më pas i shton të dhënat një bazë të dhënash MySQL. Të dhënat mund të shihen në internet si një grafik, duke përdorur tabelën.js.A ba
Ndërtoni një sensor të temperaturës Apple HomeKit (BME280) duke përdorur një RaspberryPI dhe një BME280: 5 hapa
Ndërtoni një sensor të temperaturës Apple HomeKit (BME280) Duke përdorur një RaspberryPI dhe një BME280: Unë kam luajtur rreth e rrotull me pajisjet IOT gjatë muajve të fundit dhe kam vendosur rreth 10 sensorë të ndryshëm për të monitoruar kushtet rreth shtëpisë dhe vilës sime. Dhe fillimisht kisha filluar të përdorja sensorin e lagështisë së butë AOSONG DHT22
Matës i Konsumit Elektrik CHINT + ESP8266 & Matrix Led MAX7912: 9 hapa (me fotografi)
Matës i Konsumit Elektrik CHINT + ESP8266 & Matrix Led MAX7912: Këtë herë do të kthehemi në një projekt interesant, matjen e konsumit elektrik në mënyrë invazive me një fazë CHINT DDS666 Meter Mono, teknikisht është një njehsor rezidencial ose rezidencial që e kemi tashmë paraqitur në tuin e mëparshëm