Բովանդակություն:
- Քայլ 1: Ստեղծեք և կարգավորեք ձեր Thingspeak ալիքները
- Քայլ 2. Կարգավորեք Arduino IDE- ն, գրադարանները և կազմաձևեք BME280- ը
- Քայլ 3. Programրագրեք ESP8266- ը Arduino IDE- ով
- Քայլ 4. Վերադառնալ Thingspeak ՝ որոշ տվյալների շտկում կատարելու համար
- Քայլ 5: Խմբագրեք տրամադրված HTML ֆայլը
Video: ESP8266 NodeMCU BME280 չափիչներով և գծապատկերով. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
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 ալիքները
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- ը
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- ով
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 ՝ որոշ տվյալների շտկում կատարելու համար
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 ֆայլերը և փնտրեք մեկնաբանություններ, որոնք ասում են «******** Change Me 1 of 8 *********» Փոխեք դրանք ձեր նախընտրությամբ:
Նշումներ.
Որոշ տեքստային դաշտեր և շաբաթական աղյուսակը ճիշտ չեն հավաքվի, քանի դեռ չունեք 24 ժամ և շաբաթ բաժնի և գծապատկերի տվյալների ամբողջ օր և ամբողջ շաբաթ: Երբ ունեք մի փունջ տվյալներ, կարող եք մեծացնել մկնիկի անիվով գծապատկերները (աջ սեղմեք ՝ վերակայելու համար): Կարող եք նաև ունենալ չորրորդ չափիչ (ինչպես երևում է սքրինշոթերում) մեկ այլ ալիքի մեկ այլ սենսորից, բայց ես դուրս եմ բերել համապատասխան մասերը: Եթե ձեզ տգեղ եք զգում, միացրեք այն: Կան նաև որոշ ժամանակային խնդիրներ, որոնց մասին պետք է տեղյակ լինել: Ամենայն հավանականությամբ, դուք չեք ունենա բացարձակ ամենաթարմ տվյալները, բայց դրանք միշտ պետք է լինեն 5 րոպեից պակաս: Դա գալիս է այն ժամանակ, երբ գործարկվում է ժամանակի հսկողությունը, Երբ տվյալները ուղարկվել են ESP8266- ից և երբ բեռնել / թարմացրել եք վեբ էջը:
Բացեք տրամադրված ESP8266-NodeMCU-12E-BME280.html ֆայլը ձեր վեբ դիտարկիչում և կտեսնեք չափված չափիչներն ու գծապատկերը:
Ստացեք.ino &. HTML կոդի ֆայլերը այստեղ ՝
Խորհուրդ ենք տալիս:
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ սարք ՝ օգտագործելով ESP8266 և BME280: 10 քայլ
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ ՝ օգտագործելով ESP8266 և BME280. Այսօրվա ուսանելի դասում մենք կկատարենք ցածր գնով ջերմաստիճանի, խոնավության և խոնավության տվիչ ՝ հիմնված AOSONG AM2302/DHT22 կամ BME280 ջերմաստիճանի/խոնավության տվիչի, YL-69 խոնավության տվիչի վրա: և ESP8266/Nodemcu հարթակը: Եվ ցուցադրելու համար
ESP8266- ի միջոցով ինտերնետից ժամանակ ստանալը NTP ժամացույցի նախագիծ ESP8266 Nodemcu- ով ՝ 5 քայլ
ESP8266- ի միջոցով ինտերնետից ժամանակ ստանալը NTP ժամացույցի նախագիծ ESP8266 Nodemcu- ով. Այս ձեռնարկում մենք կտեսնենք, թե ինչպես ժամանակ ստանալ ESP8266/nodemcu- ի միջոցով Arduino IDE- ի միջոցով: Timeամանակ ստանալը հատկապես օգտակար է տվյալների գրանցման համար `ձեր ընթերցումները ժամանակային նշելու համար: Եթե ձեր ESP8266 նախագիծը հասանելի է ինտերնետին, կարող եք ժամանակ ստանալ ՝ օգտագործելով Network T
ESP8266 NODEMCU BLYNK IOT ձեռնարկ - Esp8266 IOT ՝ օգտագործելով Blunk և Arduino IDE - LED- ների վերահսկում ինտերնետում. 6 քայլ
ESP8266 NODEMCU BLYNK IOT ձեռնարկ | Esp8266 IOT ՝ օգտագործելով Blunk և Arduino IDE | Ինտերնետում LED- ների վերահսկում. Բարև տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես օգտագործել IOT- ը մեր ESP8266 կամ Nodemcu- ի հետ: Մենք դրա համար կօգտագործենք blynk ծրագիրը: Այսպիսով, մենք կօգտագործենք մեր esp8266/nodemcu- ն ՝ LED- ները ինտերնետով վերահսկելու համար: Այսպիսով, Blynk ծրագիրը միացված կլինի մեր esp8266 կամ Nodemcu
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ (BME280) ՝ օգտագործելով RaspberryPI և BME280: 5 քայլ
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ (BME280) RaspberryPI- ի և BME280- ի միջոցով. Վերջին մի քանի ամիսների ընթացքում ես խաղացել եմ IOT սարքերով և տեղակայել եմ շուրջ 10 տարբեր սենսորներ ՝ իմ տան և քոթեջի պայմանները վերահսկելու համար: Եվ ես ի սկզբանե սկսել էի օգտագործել AOSONG DHT22 չափավոր խոնավության զգայարանը
Programրագրավորում սկսել հոսքի գծապատկերով. 7 քայլ
Սկսե՞լ ծրագրավորում հոսքի գծապատկերով. Սկսե՞լ եք օգտագործել PIC միկրոհսկիչներ ձեր նախագծերի համար: դրանք շատ օգտակար են, բայց շատ հիասթափեցնող, երբ ձեր ծրագիրը պարզապես չի աշխատում: Սա մեկն է ՝ ձեր գաղափարները տեսակավորելու միջոցով ՝ գծապատկեր կազմելով: Այսպես են պրոֆեսիոնալ ծրագրավորողները հաճախ