Բովանդակություն:

ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով. 5 քայլ
ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով. 5 քայլ

Video: ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով. 5 քայլ

Video: ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով. 5 քայլ
Video: Подключение GY-BME-280 3.3v к ESP8266 NodeMcu V3, сравнение с классическим барометром 2024, Նոյեմբեր
Anonim
ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով
ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով
ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով
ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով

Fancy Gauges and Chart for your ESP8266 NodeMCU Development board for BME280 Temperature, Humidity and Pressure sensor. Thingspeak- ը կպահի ձեր բոլոր տվյալները ամպի մեջ ՝ ցանկացած պահի որոնման համար գալիք տարիների ընթացքում (հուսանք) գալիք տարիների ընթացքում: Չափիչ սարքերն ու աղյուսակը լցված են thingspeak- ում պահվող տվյալներից և ինքնաբերաբար թարմացվում են յուրաքանչյուր 5 րոպեն մեկ:

Անհրաժեշտ իրեր.

ESP8266 NodeMCU զարգացման տախտակ ($ 3.79 Banggood.com Հոնկոնգից)

Bosch BME280 ($ 5.63 Banggood.com Հոնկոնգից)

Breadboard Jumpers ($ 3.09 Banggood.com Hong Kong- ից)

Breadboard ($ 2.28 Banggood.com Հոնկոնգից)

Էներգամատակարարում, անվճար, եթե ունեք միկրո USB հեռախոսի լիցքավորիչ

Միկրո USB մալուխ, անվճար, եթե արդեն ունեք

Arduino IDE, անվճար ներբեռնում

Ստացեք.ino &. HTML կոդի ֆայլերը այստեղ ՝

Քայլ 1: Ստեղծեք և կարգավորեք ձեր Thingspeak ալիքները

Ստեղծեք և կարգավորեք ձեր Thingspeak ալիքները
Ստեղծեք և կարգավորեք ձեր Thingspeak ալիքները

1. Ստեղծեք անվճար Thingspeak հաշիվ և նոր ալիք https://thingspeak.com կայքում, զանգահարեք «ESP8266-NodeMCU-12E-BME280» ալիքին:

2. Նոր ալիքը պետք է ունենա 3 դաշտ ՝ «peratերմաստիճանի խոնավության ճնշում» անվանումով ՝ ըստ այդ կարգի (Նշում առաջին տառի մեծատառով):

3. Ուշադրություն դարձրեք ձեր նոր «ալիքի ID» - ին XXXXXX «Ալիքի կարգավորումներ» բաժնում

4. Կտտացրեք «API ստեղներ» հղմանը և ուշադրություն դարձրեք ձեր «API գրել» և «Կարդացեք API բանալիներ» XXXXXXXXXXXXXXX: Բացի այդ, սա դարձրեք հանրային ալիք, որը կիսվում է:

5. Ստեղծեք երկրորդ Thingspeak ալիք, որը կպահպանի «Այսօր» (կեսգիշերից) High Low տվյալները: Անվանեք այն «BME280 Daily High Low Data»

6. Այս նոր ալիքը պետք է ունենա 6 դաշտ ՝ Tmax Tmin Hmax Hmin Pmax Pmin անունով այդ հատուկ հերթականությամբ (Նշում առաջին տառի մեծատառով):

7. Նկատի ունեցեք «BME280 Daily High Low Data» «ալիքի ID», «Read» և «Write API ստեղներ», ինչպես վերը նշված քայլերում:

Քայլ 2. Կարգավորեք Arduino IDE- ն, գրադարանները և կազմաձևեք BME280- ը

Կարգավորեք Arduino IDE- ն, գրադարանները և կազմաձևեք BME280- ը
Կարգավորեք Arduino IDE- ն, գրադարանները և կազմաձևեք BME280- ը

8. Հետևեք Arduino IDE և ESP8266 միջուկը տեղադրելու հրահանգներին ՝

9. Միացրեք Arduino IDE- ն, որպեսզի կարողանանք տեղադրել չորս գրադարանները, որոնք մեզ անհրաժեշտ կլինեն:

10. Ձեզ հարկավոր կլինի «Adafruit Unified Sensor Driver» գրադարանը, տեղադրեք այն Arduino IDE- ի «Գրադարանի կառավարիչ» -ում: Uանկի ուրվագիծը ներառել գրադարան Կառավարեք գրադարանները որոնում կատարեք ըստ Type = "Recommended" Topic = "Sensors", ապա որոնման դաշտում տեղադրեք Adafruit Unified Sensor Driver բառերը: Ձեր ուզածն ասում է «Adafruit Unified Sensor Driver by Adafruit»

11. Բացի այդ, ձեզանից կպահանջվի «Adafruit BME280 Library» - ը տեղադրել այն Arduino IDE- ի «Գրադարանի կառավարիչ» -ում: Uանկի ուրվագիծը ներառել գրադարան Կառավարեք գրադարանները որոնում կատարեք ըստ Type = "Recommended" Topic = "Sensors", ապա որոնման դաշտում տեղադրեք Adafruit BME280 Library բառերը: Ձեր ուզածն ասում է «Adafruit BME280 Library by Adafruit»

12. Ձեզ անհրաժեշտ մեկ այլ գրադարան Wire.h է, տեղադրեք այն Arduino IDE- ի «Գրադարանի կառավարիչ» -ում: Ընտրացանկ, ուրվագիծ ներառել գրադարան Կառավարեք գրադարանները Որոնեք ըստ Type = "Contributed" Topic = "Signal Input/Output", ապա որոնման դաշտում տեղադրեք Wire բառը: Ձեր ուզածն ասում է «Wire Built-in by Arduino»: Ամենայն հավանականությամբ, ընտրության ներքևում:

13. Եվս մեկ գրադարան ՝ ESP8266WiFi, տեղադրեք այն Arduino IDE- ի «Գրադարանի կառավարիչ» -ում: Ընտրացանկ, ուրվագիծ ներառել գրադարան Կառավարեք գրադարանները Որոնեք ըստ Type = "Contributed" Topic = "Communication", ապա որոնման դաշտում տեղադրեք ESP8266wifi բառը: Ձեր ուզածն ասում է «ESP8266wifi Built-in by Ivan Grokhotkov»

14. BME280- ի համար I2C հասցեն կոդավորված է Adafruit_BME280.h ֆայլում (փնտրեք տողը #սահմանեք BME280_ADDRESS 0x77) Adafruit_BME280_Library պանակի ներսում: Adafruit– ի BME սենսորային մոդուլները կոշտ են ՝ 0x77 I2C հասցեից օգտվելու համար: Բայց BME280- ը կարող է ունենալ մի փոքր այլ I2C հասցե (0x76), եթե նրա արտաքին SDO կապը հիմնավորված է: Եթե օգտագործում եք երրորդ կողմի սենսորային մոդուլներ, հավանական է, որ դրա հասցեն չհամապատասխանի Adafruit գրադարանի կանխադրված արժեքին: Օրինակ, eBay- ում կամ Aliexpress- ում առկա BME280 սենսորային մոդուլների մեծ մասի համար I2C հասցեն 0x76 է: Եթե սենսորից պատասխան չեք ստանում ՝ օգտագործելով Adafruit_BME280.h ֆայլում տեղադրված կանխադրված հասցեն, գուցե անհրաժեշտ լինի այն փոխել 0x76 -ի:

BME280 & ESP8266 Միացման կետեր: ESP8266 3.3V դեպի BME280 Vin, ESP8266 GND դեպի BME280 GND, ESP8266 D4 դեպի BME280 SCL, ESP8266 D3 դեպի BME280 SDA: 15. Բացեք տրամադրված ESP8266-NodeMCU-12E-BME280.html ֆայլը տեքստային խմբագրիչում և մուտքագրեք ձեր «ESP8266-NodeMCU-12E-BME280» (Ձեր ստեղծած առաջին ալիքը) «Channel ID» և «Read API Key»-ը փոփոխականներ key1 & chan1. Մուտքագրեք նաև «Կարդացեք API- ի բանալին» և «Ալիքի ID» «BME280 Daily High Low Data» (ձեր ստեղծած երկրորդ ալիքը) key2- ի և chan2- ի համար: Բացի այդ, մուտքագրեք ձեր ժամային գոտին, որը փոխհատուցված է UTC- ից: Ինչ վերաբերում է -5 -ին ինձ համար: Բոլոր արժեքները պետք է լինեն տրամադրված «XXXXX» չակերտների մեջ: Պահեք և դուրս եկեք տեքստային խմբագրիչից:

Միացրեք ձեր ESP8266- ը USB մալուխով ձեր համակարգչին, ապա ընտրեք ձեր սերիական պորտը `որպես USB պորտ:

Linux- ի օգտվողները կարող են ստիպված լինել փոխել USB պորտի սեփականատիրոջը /dev /ttyUSB0- ի հետ հաղորդակցվելու համար ՝ «sudo chown yourusername /dev /ttyUSB0» - ում կամ այն, ինչ երբևէ ընտրել եք որպես ձեր նավահանգիստ կարգավորման ժամանակ:

Քայլ 3. Programրագրեք ESP8266- ը Arduino IDE- ով

Programրագրեք ESP8266- ը Arduino IDE- ով
Programրագրեք ESP8266- ը Arduino IDE- ով

16. Հաջորդը մենք ծրագրավորելու ենք ESP8266- ը: Միացրեք USB մալուխը ձեր ESP8266- ի և ձեր համակարգչի միջև:

Տեղադրեք տրամադրված New_BME_Sensor.ino ֆայլը Arduino IDE- ում: Ձեր BME280 սենսորը պետք է միացված լինի D3 (SDA) և D4 (SCL) - ին ESP8266- ով: Էսքիզի ճիշտ բաժնում մուտքագրեք ձեր «ESP8266-NodeMCU-12E-BME280» (Ձեր ստեղծած առաջին ալիքը) «Գրեք բանալին» «Անլար SSID» և «Գաղտնաբառ»: Այնուհետև կտտացրեք «Էսքիզ» և «Վերբեռնում» ընտրացանկի տարրին: Էսքիզը (Առաջընթացը հասնում է 100%-ի) ձեր ESP8266- ին վերբեռնելուց հետո կարող եք բացել սերիական մոնիտորը (պատկերակը վերևի աջ կողմում կարծես խոշորացույց է) և տեսնել ձեր տվյալների տպագրությունը 5 րոպեից հետո `յուրաքանչյուր 5 րոպեն մեկ: Տվյալները ուղարկվում են բաներին 5 րոպե ընդմիջումներով, այնպես որ որոշ ժամանակ կպահանջվի, մինչև դուք ունենաք գծապատկերների նշանակալի տվյալներ, բայց դուք պետք է չափիչ ընթերցումներ ունենաք 5 րոպե հետո:

Համոզվեք, որ սերիական մոնիտորի BME280- ից ճիշտ ընթերցումներ եք ստացել:

Առաջին չափումը, ամենայն հավանականությամբ, կլինի անվավեր նան:

Սպասեք մի քանի րոպե մինչև հաջորդ ընթերցումը և ստուգեք, որ ընթերցումները լավ տեսք ունեն:

Քայլ 4. Վերադառնալ Thingspeak ՝ որոշ տվյալների շտկում կատարելու համար

Վերադառնալ Thingspeak ՝ որոշ տվյալների շտկում կատարելու համար
Վերադառնալ Thingspeak ՝ որոշ տվյալների շտկում կատարելու համար

17. Այժմ, մինչ տվյալները դանդաղորեն բեռնվում են thingspeak- ում, թույլ է տալիս որոշակի փոփոխություններ կատարել `վերբեռնվածից լրացուցիչ տվյալներ ստանալու համար: Վերադարձեք thingspeak կայք և Thingspeak «BME280 Daily High Low Data» ալիքի էջում (ձեր ստեղծած երկրորդ ալիքը) կտտացրեք կանաչ «MATLAB վերլուծություն» կոճակին: Ընտրեք «Պատվերով (առանց մեկնարկային ծածկագրի) ձևանմուշ»

18. Անվանեք MATLAB վերլուծությունը «Հաշվարկել նվազագույն առավելագույնը կեսգիշերից»:

19. Պատճենեք MATLAB Analysis.txt ծածկագիրը տրամադրված տարածության մեջ: Մուտքագրեք «ESP8266-NodeMCU-12E-BME280» (ձեր ստեղծած առաջին ալիքը) «ալիքի ID»-ն «readChannelID»-ի մեջ: Մուտքագրեք «BME280 Daily High Low Data» (Ձեր ստեղծած երկրորդ ալիքը) writeNewChannelID & writeAPIKey- ի մեջ գրեք «Ալիքի ID» և «Գրեք բանալին»: Գիտեմ, որ շփոթեցուցիչ է հնչում (նորից կարդացեք): Կտտացրեք պահպանել և գործարկել: Եթե դա ուղղել եք, և կարդացած ալիքը հանրային է, ապա սխալներ չեք տեսնի, և այն հաջողությամբ տպում է արժեքները: Ուշադրություն, դուք կարող եք սխալ տեսնել, եթե տվյալ ալիքում դեռ տվյալներ չեն վերբեռնվել: Չնայած սխալի շարունակությանը: Desiredանկության դեպքում կարող եք կրկին այցելել: Կտտացրեք պահպանել և գործարկել `համոզվելու համար, որ այն աշխատում է տվյալների բեռնվելուց հետո:

20. Հաջորդը, մենք պետք է ստեղծենք «Controlամանակի վերահսկում» ՝ այս կոդը ամեն 5 րոպեն մեկ գործարկելու համար, և մեր տվյալները գրվում են «BME280 Daily High Low Data» (երկրորդ ստեղծած ձեր ստեղծած ալիքը) ալիքին: «BME280 Daily High Low Data» (Ձեր ստեղծած երկրորդ ալիքը) գլխավոր էջից ընտրեք sրագրեր վերևում: Գործողությունների ներքո ընտրեք «TimeControl», այնուհետև «New TimeControl» կանաչ կոճակը: Անվանեք այն «Ուղարկեք բարձր ցածր ջերմաստիճան ESP8266»: Անհրաժեշտության դեպքում ընտրեք ձեր ժամային գոտին և հաճախության ներքո ընտրեք «Կրկնվող»: Ընտրեք Րոպե ՝ Կրկնության ներքո: Նախադրված է աշխատել յուրաքանչյուր 5 րոպեն մեկ: Գործողությունը պետք է լինի MATLAB վերլուծություն, իսկ «Կատարման կոդը» ՝ «Հաշվարկել նվազագույն առավելագույնը կեսգիշերից»: Խնայեք TimeControl- ը:

Քայլ 5: Խմբագրեք տրամադրված HTML ֆայլը

Խմբագրել տրամադրված HTML ֆայլը
Խմբագրել տրամադրված HTML ֆայլը

Խմբագրեք HTML ֆայլերը և փնտրեք մեկնաբանություններ, որոնք ասում են «******** Change Me 1 of 8 *********» Փոխեք դրանք ձեր նախընտրությամբ:

Նշումներ.

Որոշ տեքստային դաշտեր և շաբաթական աղյուսակը ճիշտ չեն հավաքվի, քանի դեռ չունեք 24 ժամ և շաբաթ բաժնի և գծապատկերի տվյալների ամբողջ օր և ամբողջ շաբաթ: Երբ ունեք մի փունջ տվյալներ, կարող եք մեծացնել մկնիկի անիվով գծապատկերները (աջ սեղմեք ՝ վերակայելու համար): Կարող եք նաև ունենալ չորրորդ չափիչ (ինչպես երևում է սքրինշոթերում) մեկ այլ ալիքի մեկ այլ սենսորից, բայց ես դուրս եմ բերել համապատասխան մասերը: Եթե ձեզ տգեղ եք զգում, միացրեք այն: Կան նաև որոշ ժամանակային խնդիրներ, որոնց մասին պետք է տեղյակ լինել: Ամենայն հավանականությամբ, դուք չեք ունենա բացարձակ ամենաթարմ տվյալները, բայց դրանք միշտ պետք է լինեն 5 րոպեից պակաս: Դա գալիս է այն ժամանակ, երբ գործարկվում է ժամանակի հսկողությունը, Երբ տվյալները ուղարկվել են ESP8266- ից և երբ բեռնել / թարմացրել եք վեբ էջը:

Բացեք տրամադրված ESP8266-NodeMCU-12E-BME280.html ֆայլը ձեր վեբ դիտարկիչում և կտեսնեք չափված չափիչներն ու գծապատկերը:

Ստացեք.ino &. HTML կոդի ֆայլերը այստեղ ՝

Խորհուրդ ենք տալիս: