Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Սենսորի ընտրություն
- Քայլ 3: LM35
- Քայլ 4: DS18B20
- Քայլ 5. ESP8266 ծածկագիր
- Քայլ 6 ՝ ESP8266 Կոդ ՝ LM35 Օգտվող
- Քայլ 7: ESP8266 Կոդ. DS18B20 Օգտվող
- Քայլ 8. ESP8266 Փոքրիկ հնարք
- Քայլ 9: Առաջին անգամ գործողություն
- Քայլ 10: Եզրակացություն
Video: WiFi ջերմաստիճանի գրանցիչ (ESP8266- ով) ՝ 11 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Ողջույն, ուրախ եմ ձեզ տեսնել այստեղ: Հուսով եմ, որ այս ուսանելի դասում դուք կգտնեք որոշ օգտակար տեղեկություններ: Ազատորեն ուղարկեք ինձ առաջարկություններ, հարցեր,… Ահա որոշ հիմնական տվյալներ և նախագծի արագ ակնարկ: Բջջային օգտագործողների համար. Տեսանյութ: Տեղեկացրեք ինձ, թե ինչ կարծիքի եք նախագծի մասին մեկնաբանությունների բաժնում, շնորհակալություն: Ես վերջերս գնել եմ NodeMcu (esp8266 հիմնված) տախտակ, որպեսզի փորձեմ, որպեսզի սա իսկապես առաջադեմ նախագիծ չէ: Բայց այն աշխատում է, և դա այն է, ինչ ինձ պետք է, այնպես որ նորմալ է: Այս տվյալների գրանցման հիմնական գործառույթը ջերմաստիճանը հավաքելն ու այն սերվերում պահելն է: Սա թույլ է տալիս օգտվողներին ստուգել տվյալները և գծապատկերներն առցանց նույնիսկ այն դեպքում, երբ նրանք չեն գտնվում անտառահատողի նույն տեղում (օրինակ ՝ եղանակային կայանի համար): Մեկ այլ օգտակար հատկություն է ծածկագրում ներառված OTA թարմացումը, որը թույլ է տալիս օգտվողին հեշտությամբ թարմացնել և հարմարեցնել ծրագրակազմը: Ես կվերլուծեմ երկու սենսոր և դրանց ձեռքբերման համապատասխան մեթոդը `բոլոր կողմերի և թերությունների հավասարակշռությունը կազմելու համար:
Spoiler: Մի փոքր փորձարկումներից հետո ես պարզեցի, որ DS18B20- ի նման թվային տվիչը լավագույն լուծումն է, քանի որ այն առաջարկում է կայունություն և ավելի բարձր ճշգրտություն: Այն արդեն անջրանցիկ է և մալուխով:
Քայլ 1: Նյութեր
Սա նվազագույն արտաքին բաղադրիչ ունեցող նվազագույն ծրագիր է, որի համար BOM ցուցակը իսկապես կարճ կլինի: Այնուամենայնիվ, եկեք տեսնենք, թե ինչ նյութ է պահանջվում.
- NodeMcu V3 (կամ ցանկացած համատեղելի ESP8266 μ պրոցեսոր);
- RGB led (ընդհանուր անոդ);
- LED- ի դիմադրողներ (1x10Ω, 1x22Ω, 1x100Ω, 1x10kΩ)
- DS18B20 (Maxim ինտեգրված ջերմաչափ);
- LM35 (Տեխասի գործիքի ջերմաչափ);
- Արտաքին մարտկոց (ըստ ցանկության);
- Մալուխ;
- Միակցիչ (այն ավելի «առաջադեմ» դարձնելու համար);
- Տուփ (ըստ ցանկության, կրկին այն ավելի «առաջադեմ» դարձնելու համար);
- Led կրող (ըստ ցանկության);
Նշում. Ինչպես ասացի, դուք պետք է ընտրեք երկու մեթոդներից մեկը: Եթե ընտրեք LM35 ջերմաչափ, ձեզ հարկավոր կլինի մի քանի այլ բաղադրիչ.
- Attiny45/85;
- AVR ծրագրավորող (կամ Arduino որպես մատակարար);
- Ռեզիստոր (1x1kΩ, 1x2kΩ, 1x10kΩ, 1x18kΩ)
- 2.54 մմ ժապավենի միակցիչ (ըստ ցանկության)
- Դիոդ (2x1N914)
- Perfboard կամ PCB;
Քայլ 2: Սենսորի ընտրություն
Սենսորի ընտրությունը կարող է լինել դժվար քայլ.
- Տվյալների գրանցամատյանը հեշտությամբ կարող է փոխվել ջերմաստիճանից այլ քանակի (լարման, հոսանքի,…);
- Կարող է մի փոքր ավելի էժան լինել;
- Հեշտ է օգտագործել, քանի որ այն չի պահանջում հատուկ գրադարան;
Դեմ.
- Պահանջել ADC (որը կարող է ազդել չափման ճշգրտության վրա) և այլ արտաքին բաղադրիչներ: Քանի որ esp8266- ն ունի միայն մեկ ADC (և իրականում ոչ ճշգրիտ), ես կառաջարկեի օգտագործել արտաքին:
- Անհրաժեշտ է հատուկ մալուխ `աղմուկի մերժմամբ, քանի որ ցանկացած ինդուկցիոն լարվածություն կարող է փոխել արդյունքը:
Մի փոքր մտածելուց հետո որոշեցի օգտագործել LM35 ՝ գծային սենսոր ՝ +10 մՎ/° C սանդղակի գործոնով ՝ 0,5 ° C ճշգրտությամբ և շատ ցածր հոսանքով (մոտ 60uA) ՝ 4V- ից մինչև 30V լարման: Մանրամասների համար առաջարկում եմ տեսնել տվյալների թերթիկը ՝ LM35:
Թվային տվիչներ (բարձր խորհուրդ է տրվում) Կողմ.
Գրեթե ցանկացած արտաքին բաղադրիչ;
Ինտեգրված ADC
Դեմ.
Պահանջել գրադարան կամ ծրագրակազմ ՝ վերծանել թվային ազդանշանը (I2C, SPI, Serial, One Wire,…);
Ավելի թանկ;
Ես ընտրել եմ DS18B20- ը, քանի որ Amazon- ում գտել եմ 5 անջրանցիկ սենսորների հավաքածու, և քանի որ այն լայնորեն փաստագրված է ինտերնետում: Հիմնական առանձնահատկությունն է 9-12 բիթ չափումը, 1-մետաղալար ավտոբուսը, 3.0-ից 5.5 լարման լարումը, 0.5 ° C ճշգրտությունը: Կրկին, ավելի մանրամասն ՝ ահա տվյալների թերթիկը ՝ DS18B20:
Քայլ 3: LM35
Եկեք վերլուծենք, թե ինչպես եմ իրականացրել արտաքին ADC և այլ գործառույթ LM35 ջերմաչափի համար: Ես գտա մալուխ ՝ երեք լարերով, մեկը ՝ պաշտպանիչ, իսկ երկուսը ՝ առանց: Ես որոշեցի ավելացնել անջատման կոնդենսատոր `սենսորի մոտ մատակարարման լարումը կայունացնելու համար: Անալոգային ջերմաստիճանը թվայինի փոխարկելու համար ես օգտագործել եմ Attiny85 միկրոպրոցեսորը` dip8 փաթեթում (կրկին լրացուցիչ տեղեկությունների համար տե՛ս տվյալների թերթիկը `attiny85): Մեզ համար ամենակարևորը 10 բիթանոց ADC- ն է (իրականում ոչ լավագույնը, բայց ինձ համար բավական ճշգրիտ): Esp8266- ի հետ հաղորդակցվելու համար ես որոշեցի օգտագործել սերիական հաղորդակցությունը `նկատի ունենալով, որ esp8266- ը աշխատում է 3.3 Վ լարման և attiny85 5V- ով (քանի որ այն պետք է սնուցի սենսորը): Դրան հասնելու համար ես օգտագործեցի պարզ լարման բաժանարար (տես սխեմատիկ): Բացասական ջերմաստիճանը կարդալու համար մենք պետք է ավելացնենք որոշ արտաքին բաղադրիչներ (2x1N914 և 1x18k դիմադրություն), քանի որ ես չեմ ուզում օգտագործել բացասական էներգիայի աղբյուր: Ահա կոդը ՝ TinyADC պահեստարան: Նշում. Այս ծածկագիրը կազմելու համար ձեզ հարկավոր է տեղադրել attiny to ide (տեղադրեք սա տարբերակում ՝ https://drazzy.com/package_drazzy.com_index.json), եթե չգիտեք, թե ինչպես դա անել, պարզապես որոնեք Google- ում: Կամ ուղղակիորեն վերբեռնեք.hex ֆայլը:
Քայլ 4: DS18B20
Ես այդ սենսորները գնել եմ Amazon- ից (5 -ն արժե մոտ 10 €): Այն ժամանել է չժանգոտվող պողպատից և 1 մ երկարությամբ մալուխով: Այս սենսորը կարող է վերադարձնել ջերմաստիճանի 9 -ից 12 բիթանոց տվյալներ: Շատ սենսորներ կարող են միացվել նույն քորոցին, քանի որ բոլորն ունեն յուրահատուկ ID: DS18B20- ը esp8266- ին միացնելու համար կարող եք պարզապես հետևել սխեմատիկին (երկրորդ լուսանկարը): Քանի որ ես որոշել եմ, որ իմ անտառահատը երեք զոնդ կունենա, ես պետք է տարբերեի, թե որն է: Այսպիսով, ես մտածեցի նրանց տալ գույն, որը կապված է ծրագրային ապահովման միջոցով իրենց հասցեին: Ես օգտագործել եմ ջերմակայուն խողովակ (երրորդ լուսանկար):
Քայլ 5. ESP8266 ծածկագիր
Քանի որ ես նոր եմ այս աշխարհում, որոշեցի օգտագործել բազմաթիվ գրադարաններ: Ինչպես նշվեց ներածության մեջ, հիմնական հատկանիշներն են.
- OTA- ի թարմացում. Անհրաժեշտ չէ esp8266- ը միացնել համակարգչին ամեն անգամ, երբ անհրաժեշտ է ծածկագիրը վերբեռնել (դա պետք է անել միայն առաջին անգամ);
- Անլար կառավարիչ, եթե անլար ցանցը փոխվի, ուրեմն ուրվագիծը վերբեռնելու կարիք չկա: Դուք պարզապես կարող եք նորից կարգավորել esp8266 մուտքի կետին միացվող ցանցի պարամետրերը.
- Thingspeak տվյալների փոխանցում;
- Երկու LM35 և DS18B20 աջակցում են;
- Պարզ ինտերֆեյս (RGB led- ը ցույց է տալիս որոշ օգտակար տեղեկություններ);
Խնդրում եմ ներողություն խնդրել ինձանից, քանի որ իմ ծրագրակազմը լավագույնը չէ և իսկապես լավ պատվիրված չէ: Նախքան սարքում վերբեռնելը, դուք պետք է փոխեք որոշ պարամետրեր ՝ ձեր տեղադրման ծածկագիրը տեղավորելու համար: Այստեղ կարող եք ներբեռնել ծրագրակազմը: Ընդհանուր LM35 և DS18B20 կազմաձևում Դուք պետք է փոխեք PIN- ի սահմանումը, նշանը, ալիքի համարը, օգտվողին և գաղտնաբառը OTA- ի թարմացման համար: Տող 15 -ից 23 -ը:
#սահմանեք կարմիր YOURPINHERE #սահմանեք կանաչ YOURPINHERE
#սահմանել կապույտ YOURPINHERE const char* host = "ընտրել հյուրընկալողի հասցեն"; // իրականում անհրաժեշտ չէ, կարող եք թողնել esp8266-webupdate const char* update_path = "/որոնվածը"; // թարմացնելու հասցեն փոխելու համար ՝ ex: 192.168.1.5/firmware const char* update_username = "YOURUSERHERE"; const char * update_password = "YOURPASSWORDHERE; unsigned long myChannelNumber = CHANNELNUMBERHERE; const char * myWriteAPIKey =" GRITEAPIHERE ";
Քայլ 6 ՝ ESP8266 Կոդ ՝ LM35 Օգտվող
Հաղորդման տախտակը պետք է միացնեք esp8266- ին, ADC միավորը միացնելու համար օգտագործեք VU կապը և G կապը: Դուք պետք է ընտրեք, թե որ քորոցն եք ցանկանում օգտագործել սերիական հաղորդակցության համար (ապարատային սերիան անվճար պահել վրիպազերծման նպատակով): Tx քորոցը պետք է ընտրվի, բայց իրականում չի օգտագործվում: (Տող 27): oftրագրային ապահովումՍերիալ mySerial (RXPIN, TXPIN); Վերևում անհրաժեշտ է ավելացնել ՝ #define LM35USER
Քայլ 7: ESP8266 Կոդ. DS18B20 Օգտվող
Որպես առաջին գործողություն, դուք պետք է որոշեք սարքի հասցեն յուրաքանչյուր սենսորի համար: Կազմեք և ծրագրավորեք այս ծածկագիրը esp- ում և արդյունքների համար փնտրեք սերիա: Կոդ կարելի է գտնել այստեղ (որոնեք այս վերնագիրը էջում ՝ «Կարդացեք առանձին DS18B20 ներքին հասցեներ»): Հասցեն ստանալու համար միացրեք միայն մեկ սենսոր, արդյունքները պետք է լինեն այսպիսին (պատահական համարը այստեղ, ինչպես օրինակ) ՝ 0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12 Այնուհետև անհրաժեշտ է փոխել իմ կոդը բաժնում »: Կազմաձևում DS18B20 "(տող 31 -ից 36)":
#սահմանել ONE_WIRE_BUS ONEWIREPINHERE #սահմանել TEMPERATURE_PRECISION TEMPBITPRECISION // (9 -ից 12 -ը) #define delayDallas READINTERVAL // (Միլիս վայրկյաններում նվազագույնը 15s կամ 15000mS) 0x9x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x1x, 0x9x, 0x 0x12}; // ՓՈՓՈԽԵԼ ՔՈ ՀԱՍRԵՈՎ DeviceAddress redSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // ՓՈՓՈԽԵԼ ՔՈ ՀԱՍRԵՈՎ DeviceAddress greenSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // ՓՈՓՈԽՈԹՅՈՆ ՔՈ ՀԱՍRԵԻ ՀԵՏ Վերին մասում անհրաժեշտ է ավելացնել ՝ #define DSUSER
Քայլ 8. ESP8266 Փոքրիկ հնարք
Մի փոքր փորձարկումներից հետո ես պարզեցի, որ եթե դուք միացնում եք esp8266- ը առանց ծրագրավորման, այն չի գործի ծածկագիրը, մինչև որ մեկ անգամ չսեղմեք reset- ը: Այս հարցը լուծելու համար, մի փոքր հետազոտությունից հետո, ես պարզեցի, որ 3.3V- ից D3- ին պետք է ավելացնել ձգվող դիմադրություն: Սա պրոցեսորին կասի, որ ծածկագիրը տեղադրի ֆլեշ հիշողությունից: Այս մեթոդով D3- ը կարող է ուղղակիորեն օգտագործվել DS18B20 տվիչների տվյալների մուտքագրման համար:
Քայլ 9: Առաջին անգամ գործողություն
Եթե ծածկագիրը ճիշտ եք վերբեռնել, բայց երբեք չեք օգտագործել Wifi մենեջերի գրադարանը, ժամանակն է կարգավորել ձեր wifi կապը: Սպասեք, մինչև RGB լուսարձակը տեսնեք ավելի արագ, քան նախկինում, ապա բջջայինով կամ համակարգչով որոնեք «AutoConnectAp» կոչվող wifi ցանցը և միացեք: Միացումից հետո բացեք վեբ դիտարկիչ և մուտքագրեք 192.168.4.1, կգտնեք wifi մենեջերի GUI ինտերֆեյսը (տես լուսանկարները) և կտտացրեք «Կարգավորել Wifi» - ին: Սպասեք esp8266- ին ՝ wifi ցանցերը որոնելու համար և ընտրեք ցանկալիը: Տեղադրեք գաղտնաբառը և կտտացրեք «պահպանել»: Esp8266- ը կվերագործարկվի (թքած, RGB- ն այս անգամ առաջնորդեց, քանի որ որոշ պատահական տեղեկատվություն կհրապարակի) և միանա ցանցին:
Քայլ 10: Եզրակացություն
Ի վերջո, ահա մի գրաֆիկ, որը վերցված է տվյալների գրանցիչից ՝ գործողության ընթացքում, երբ գրանցում եմ իմ սառցարանի ջերմաստիճանը: Նարնջագույնով DS18B20- ն է, իսկ կապույտով ՝ LM35- ը և դրա միացումը: Դուք կարող եք տեսնել ճշգրտության ամենամեծ տարբերությունը թվայինից մինչև անալոգային սենսոր (իմ աղքատ «ADC սխեմայով»), որը տալիս է որոշ ոչ ֆիզիկական տվյալներ: Ամփոփելով, եթե ուզում եք կառուցել այս անտառահատը, ես առաջարկում եմ օգտագործել DS18B20 թվային ջերմաստիճանի տվիչ, քանի որ այն ավելի հեշտ է կարդալ և գրեթե «միացնել և խաղալ», այն ավելի կայուն և ճշգրիտ է, այն աշխատում է 3.3 Վ լարման դեպքում և պահանջում է ընդամենը մեկ կապում բազմաթիվ սենսորների համար: Շնորհակալություն ուշադրության համար, հուսով եմ, որ այս նախագիծը լավ է ձեզ համար, և դուք գտել են որոշ օգտակար տեղեկություններ: Եվ ով ցանկանում է դա գիտակցել, ես կցանկանայի, որ ես տայի անհրաժեշտ տեղեկատվությունը: Եթե ազատ չլինեք ամեն ինչ հարցնելու, ես ուրախ կլինեմ պատասխանել բոլոր հարցերին: Քանի որ ես անգլերեն խոսող չեմ, եթե ինչ -որ բան սխալ է կամ անհասկանալի, խնդրում եմ ինձ տեղյակ պահեք: Եթե ձեզ դուր եկավ այս նախագիծը, խնդրում ենք քվեարկեք մրցույթների համար և/կամ թողեք մեկնաբանություն: Դա ինձ կխրախուսի շարունակել թարմացնել և հրապարակել նոր բովանդակություն: Շնորհակալություն.
Խորհուրդ ենք տալիս:
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
Փոքր ESP8266 ջերմաստիճանի գրանցիչ (Google աղյուսակներ) ՝ 15 քայլ
Փոքր ESP8266 ջերմաստիճանի անտառահատ (Google աղյուսակներ). Սա ուղեցույց է, թե ինչպես պատրաստել ձեր սեփական, բացարձակապես փոքր WiFi միացված ջերմաստիճանի անտառահատը: Այն հիմնված է ESP-01 մոդուլի և DS18B20 թվային ջերմաստիճանի տվիչի վրա ՝ փաթեթավորված ամուր 3D տպված պատյանով ՝ 200 մԱ / ժ լիթիումի մարտկոցով և միկրո U
AC ընթացիկ մոնիտորինգի տվյալների գրանցիչ. 9 քայլ (նկարներով)
AC ընթացիկ մոնիտորինգի տվյալների գրանցիչ. Բարև բոլորին, բարի գալուստ իմ առաջին ուսանելի: Dayերեկը ես ինժեներ -փորձարկող եմ մի ընկերության համար, որը մատակարարում է արդյունաբերական ջեռուցման սարքավորումներ, իսկ գիշերը ես տեխնոլոգիայի եռանդուն հոբբիստ եմ և DIY'er: Իմ աշխատանքի մի մասը ներառում է ջեռուցիչների աշխատանքի փորձարկումը, o
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղիչ և ջերմաստիճանի ահազանգով. 7 քայլ (նկարներով)
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղման և ջերմաստիճանի տագնապի միջոցով. Դեռևս ճանապարհորդում եք «առաջիկա նախագիծ» ավարտելու համար, հրահանգելի է, որը ցույց է տալիս, թե ինչպես եմ ավելացնում NTP ջերմաստիճանի զոնդ, պիեզո բ
Ինչպես կատարել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. 11 քայլ (նկարներով)
Ինչպես պատրաստել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. Նպատակներ. Ստեղծեք տվյալների գրանցիչ ≤ 500 դոլարով: Այն պահում է ջերմաստիճանի, pH- ի և DO- ի տվյալները ժամանակային կնիքով և I2C հաղորդակցության միջոցով: Ինչու՞ I2C (ինտեգրված սխեմա): Կարելի է միևնույն տողում հավաքել նույնքան տվիչ ՝ հաշվի առնելով, որ դրանցից յուրաքանչյուրն ունի