Բովանդակություն:
- Քայլ 1: Գործիքներ և մասեր
- Քայլ 2: PCB- ի պատրաստում
- Քայլ 3: Պատյան պատրաստելը
- Քայլ 4: Մոնիտորի հավաքում
- Քայլ 5: Սերվերի կարգավորում
- Քայլ 6. ESP8266- ի ծրագրավորում
Video: Temերմաստիճանի եւ խոնավության մոնիտոր `6 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Այս ուսանելի ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել ձեր սեփական սենյակի ջերմաստիճանի և խոնավության մոնիտորը: Սարքն ունի նաև WiFi հնարավորություններ ՝ հեռավոր սերվերի վրա տվյալների մուտքագրման (օրինակ ՝ Raspberry Pi) և դրան ավելի ուշ մուտք գործելու նպատակով ՝ պարզ վեբ ինտերֆեյսի միջոցով:
Սարքի հիմնական մասերն են ESP8266 միկրոկոնտրոլերը, DHT11 ջերմաստիճանի և խոնավության տվիչը և 16x4 նիշանի LCD էկրանը: Նախագիծը լիովին բաց կոդ է, այնպես որ ազատ զգալ ներբեռնեք պարիսպի սխեմատիկ, տախտակի դասավորության և ձևավորման ֆայլերը և կատարեք ձեր ցանկացած փոփոխությունը:
Քայլ 1: Գործիքներ և մասեր
Մոնիտոր կառուցելու համար ձեզ հարկավոր են հետևյալ մասերը
1 x ESP-12F [2 €]-Որքանով որ ես գիտեմ, ESP-12E- ն և ESP-12F- ն հիմնականում նույնական են, այն տարբերությամբ, որ ESP-12F- ն ունի ավելի լավ ալեհավաք:
1 x DHT11 ջերմաստիճանի և խոնավության ցուցիչ [0.80 €] - DHT22- ը նույնպես կաշխատի, սակայն որոշ փոփոխություններ պետք է կատարվեն պատյանների 3D մոդելի վրա, DHT22- ը նույնպես մի փոքր ավելի թանկ է:
1 x 16x4 բնույթ LCD 5V [3.30 €] - Այո, ձեզ հարկավոր կլինի 5V, քանի որ PCB- ն նախագծված է, որպեսզի LCD- ը սնվի անմիջապես 5V- ից, այլ ոչ թե լարման կարգավորիչից: Դա արվել է լարման կարգավորիչի բեռը նվազեցնելու համար, այլ նաև այն պատճառով, որ 5V դիսփլեյներն ավելի էժան են: Բայց մի անհանգստացեք, չնայած ESP8266- ը աշխատում է 3.3 Վ լարման վրա, այն դեռ լավ կաշխատի:
1 x LD1117V33 SMD լարման կարգավորիչ, որը հայտնի է նաև որպես LD33 (փաթեթ SOT223) [0.80 €]
1 x 100nF կերամիկական SMD կոնդենսատոր (0603 փաթեթ)
1 x 10uF տանտալ SMD կոնդենսատոր (3528 փաթեթ)
1 x 10K SMD դիմադրություն (0805 փաթեթ)
1 x 10K հարմարվողական կաթսա (անցքի միջով)
1 x 47Ω SMD Resistor (0805 փաթեթ) - Սա պարզապես այն հոսանքի սահմանափակման համար է, որը անցնում է LCD- ի հետևի լուսավորությանը: Ազատորեն փորձարկեք դիմադրության տարբեր արժեքներ և ընտրեք ձեր նախընտրած ինտենսիվությունը:
1 x SMD Momentary Switch [0.80 €] - Իմ օգտագործածը սա է, բայց դուք կարող եք օգտագործել ցանկացած վայրկենական անջատիչ, որը ցանկանում եք նույն ոտնահետքով: Ես նաև կարողացա նույն անջատիչները գտնել eBay- ում ՝ ավելի քան մեկով ՝ ստանալով մեկից ավելին:
1 x 5.5x2.1 մմ DC Jack (վահանակի ամրացում) [0.50 €] - Իմ օգտագործածն ունի 8 մմ վահանակի կտրման տրամագիծ և 9 մմ երկարություն: Այն հեշտությամբ կարելի է գտնել eBay- ում ՝ որոնելով «Panel Mount DC Jack» (տես կից նկարը):
1 x 2.54 մմ (100 մղոն) 40 պինով արական կապի գլխիկ (անցքի միջով)
1 x 2.54 մմ (100 մղոն) 40-պտույտով մշակված իգական կապում գլխիկ (անցքի միջով)
1 x 2.54 մմ (100 մղոն) Jumper - դա նույնն է, ինչ օգտագործվում է համակարգչային մայր տախտակների վրա:
4 x M3 8 մմ պտուտակներ
4 x M3 4x4 մմ թելերով ներդիրներ - դրանք կարելի է հեշտությամբ գտնել ՝ eBay- ում որոնելով «M3 Press -In Brass Copper Inserts» (տես կից նկարը):
4 x M2 12 մմ պտուտակներ
4 x M2 ընկույզ
1 x USB Type A- ից մինչև 5.5x2.1 մմ DC Plug Cable [1.5 €] - Սա թույլ կտա ձեր սարքը սնուցել կամ ստանդարտ հեռախոսի լիցքավորիչից, կամ USB պորտ ունեցող գրեթե ցանկացած համակարգչից: Սարքը միայն 300mA վատագույն դեպքում և միջինում 250mA է, այնպես որ նույնիսկ USB 2.0 պորտը կանի:
1 x PCB - Տախտակի հաստությունը կարևոր չէ, այնպես որ պարզապես գնացեք 1,6 մմ -ով, ինչը սովորաբար ամենաէժան տարբերակն է PCB արտադրողների մեծ մասի համար:
3 x Stranded Wire կտոր (յուրաքանչյուրը մոտ 60 մմ)
3 x Heatshrink խողովակի կտոր (յուրաքանչյուրը մոտ 10 մմ)
Եվ հետևյալ գործիքները
Sոդման երկաթ
USB- ից սերիական փոխարկիչ - Սա ձեզ հարկավոր կլինի տախտակի վրա ESP8266 ծրագրավորելու համար:
Phillips Պտուտակահան և/կամ Hex Key - Կախված պտուտակների տեսակից, որոնք կօգտագործեք:
3D տպիչ - Եթե 3D տպիչ չունեք, միշտ կարող եք օգտագործել ընդհանուր պլաստիկ նախագծի տուփ և կտրվածքներն ինքներդ կատարել Dremel- ով: Նման տուփի ներքին նվազագույն չափերը պետք է լինեն 24 մմ բարձրություն, 94 մմ երկարություն և 66 մմ լայնություն: LCD- ի տեղադրման համար անհրաժեշտ կլինի նաև օգտագործել 8 մմ M2 անջատիչներ:
Dremel - Անհրաժեշտ է միայն այն դեպքում, եթե դուք չեք գնում 3D տպված պատյանով:
Քայլ 2: PCB- ի պատրաստում
Առաջին քայլը PCB- ի պատրաստումն է: Դուք կարող եք դա անել կամ ինքներդ փորագրելով, կամ պարզապես այցելելով ձեր նախընտրած PCB արտադրողի կայք և պատվիրել պատվեր: Եթե դուք չեք նախատեսում որևէ փոփոխություն կատարել տախտակի դասավորության մեջ, կարող եք պարզապես վերցնել այս քայլին կցված gerber ֆայլերը պարունակող ZIP ֆայլը և այն ուղարկել անմիջապես արտադրողին: Եթե ցանկանում եք փոփոխություններ կատարել, KiCAD- ի սխեմատիկ և տախտակի դասավորության ֆայլերը կարելի է գտնել այստեղ:
Տախտակներին ձեռքերը բռնելուց հետո ժամանակն է մասերը զոդել: Սա պետք է լինի շատ պարզ, բայց կան մի քանի բաներ, որոնք պետք է նշել: Նախ, դեռ մի շարունակեք PCB- ն LCD- ի վերնագրին կպցնելը, դա անհրաժեշտ կլինի անել վերջնական հավաքման ժամանակ `պատյանների նախագծման եղանակի պատճառով: Եթե դուք ինքներդ եք պատրաստում ձեր պարիսպը, չնայած ազատ զգացեք անտեսել այդ խորհուրդը:
U3 միակցիչն այն վայրն է, որտեղ միանալու է DHT11 սենսորը: Իդեալում, այդ նպատակի համար պետք է օգտագործեք 90 ° անկյան տակ մշակված կանացի քորոց գլխագիծ: Բայց եթե ինձ դուր է գալիս, դու ի վիճակի չես գտնել մեկին, պարզապես ստացի՛ր ուղիղ մեկը և ինքդ թեքիր այն: Եթե ավելի ուշ անեք, DHT11- ի հաղորդալարերը նույնպես մի փոքր կարճ կլինեն, ուստի ստիպված կլինեք միացնել որոշ ընդարձակումներ: Կապի վերնագրի և միացման ցուցիչի միջև հեռավորությունը պետք է լինի մոտավորապես 5 մմ:
Պատճառն այն է, թե ինչու եք ցանկանում օգտագործել մեխանիկական քորոց վերնագիր, այն է, որ անցքերը ավելի փոքր են, քան սովորական կանացի քորոցների վերնագրերը: Այսպիսով, տվիչի լարերը կարող են սերտորեն նստել այնտեղ ՝ ստեղծելով ամուր կապ: Բայց դուք կարող եք նաև փորձել DHT11- ը միացնել տղամարդկային գլխիկի մի կտորի վրա և այդ կերպ միացնել այն սովորական անկյունագծով կանացի գլխիկի վերնագրին, որը պետք է աշխատի նույնքան լավ:
Քայլ 3: Պատյան պատրաստելը
Այժմ, երբ PCB- ն եռակցված է, ժամանակն է պատրաստել պատյանը: Կան երկու տարբեր մասեր, որոնք պետք է տպագրվեն ՝ պարիսպի հիմնական մարմինը և կափարիչը: Կափարիչը նաև տեղադրում է տեղադրման անցքեր այն ձեր պատին ամրացնելու համար:
Երկու մասերն էլ կարող են տպվել ստանդարտ 0.4 մմ վարդակով 0.2 մմ շերտի բարձրության վրա, իմ դեպքում տպման ժամանակը երկու մասի համար մոտ 4 ժամ էր: Կափարիչը չի պահանջում որևէ հենարան պարիսպի հիմնական մասի համար, այնուամենայնիվ, հիմնականում պտուտակային վարդակների տակ գտնվող մասի համար: Տպագրությունից հետո շատ զգույշ եղեք հենարանները հեռացնելիս, ես դա անելիս կարողացա կոտրել LCD- ի կանգառներից մեկը և ստիպված էի այն նորից սոսնձել սոսնձի միջոցով:
Պարիսպը նախատեսված է FreeCAD- ի վրա, այնպես որ, եթե ցանկանում եք որևէ փոփոխություն կատարել, այն պետք է լինի շատ պարզ: Շրջանակը տպելու STL ֆայլերը, ինչպես նաև FreeCAD ձևավորման ֆայլերը կարելի է գտնել Thingiverse- ում:
Քայլ 4: Մոնիտորի հավաքում
Շրջանակը տպագրված է, ժամանակն է ամեն ինչ միացնելու: Նախ, տեղադրեք LCD- ը պատյանի ներսում և սահեցրեք այն ձախ, այնպես որ դրա և սենսորի անցքի միջև բաց կլինի:
Հաջորդը, տեղադրեք PCB- ն դրա վերևում, իսկ սենսորը արդեն ամրացված է քորոցի վերնագրին:
Դրանից հետո, սենսորը մղեք անցքի մեջ, սահեցրեք LCD- ը դեպի ետ և տեղադրեք PCB- ը քորոցի վերնագրի վրա: Այժմ ամրացրեք LCD- ն տեղում ՝ օգտագործելով M2 ընկույզներ և պտուտակներ, և PCB- ն կպցրեք կապի վերնագրին:
Հաջորդը, տեղադրեք հոսանքի վարդակը, միացրեք նրան մի քանի լար և կպցրեք դրանց մյուս ծայրերը PCB- ին: Heatերմաստիճանի նվազեցման խողովակների օգտագործումը այստեղ նույնպես լավ գաղափար կլինի:
Վերջին քայլը մետաղական թելերով ներդիրների տեղադրումն է, որպեսզի կափարիչը տեղում պտուտակված լինի M3 պտուտակներով: Այդ նպատակով դուք պետք է օգտագործեք ձեր եռակցման երկաթը դրանք տաքացնելու համար, որպեսզի դրանք մղվեն անցքերի մեջ: Դուք կարող եք ծանոթանալ այս հրահանգին, եթե ձեր 3D տպումներին մետաղական թելեր ավելացնելու մասին լրացուցիչ տեղեկությունների կարիք ունենաք:
Քայլ 5: Սերվերի կարգավորում
Մինչև որոնվածը ESP8266- ում վերբեռնելը ևս մեկ բան պետք է անել, այն է ՝ սերվերի ստեղծումը սարքի կողմից ստացված տվյալների գրանցման համար: Այդ նպատակով դուք կարող եք օգտագործել գրեթե ցանկացած Linux համակարգիչ ՝ ձեր անձնական Raspberry Pi- ից մինչև DigitalOcean կաթիլ: Ես գնացի ավելի ուշ, բայց գործընթացը գրեթե նույնն է ՝ անկախ նրանից, թե ինչ ես ընտրում:
Տեղադրելով Apache, MySQL (MariaDB) և PHP
Նախ պետք է տեղադրել LAMP, կամ այլ կերպ ասած տեղադրել Apache, MySQL (MariaDB) և PHP սերվերի վրա: Դրա համար ձեզ հարկավոր է օգտագործել ձեր դիստրոյի փաթեթների կառավարիչը, հանուն օրինակի, ես կօգտագործեմ apt, որը փաթեթների կառավարիչն է, որն օգտագործվում է գրեթե ցանկացած Debian- ի վրա հիմնված դիստրոյի կողմից, ներառյալ Raspbian- ը:
sudo apt թարմացում
sudo apt տեղադրել apache2 mysql-server mysql-client php libapache2-mod-php php-mysql
Դա անելուց հետո, եթե ձեր սերվերի IP հասցեն տեղադրեք ձեր դիտարկիչի հասցեի տողում, ապա պետք է կարողանաք տեսնել Apache- ի կանխադրված էջը:
Տվյալների բազայի ստեղծում
Այժմ մեզ անհրաժեշտ է տվյալների մուտքագրման տվյալների բազա: Սկզբում միացրեք MySQL- ին որպես արմատ ՝ գործարկելով, sudo mysql
Եվ ստեղծեք տվյալների բազան և դրան հասանելիություն ունեցող օգտվողը հետևյալ կերպ.
Ստեղծել տվյալների շտեմարան `տվիչներ
ՕԳՏԱԳՈՐԵԼ «տվիչներ»; ՍՏԵԵԼ ՍԵABԱՆԻ «ջերմաստիճան» («id» bigint (20) NOT NULL AUTO_INCREMENT, «client_id» smallint (6) NOT NULL, «value» smallint (6) NOT NULL, «created_at» timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (" id`)) Շարժիչ = InnoDB; Ստեղծել աղյուսակ `խոնավություն (« id »bigint (20) NOT NULL AUTO_INCREMENT,« client_id »smallint (6) NOT NULL,« value »smallint (6) NOT NULL,« created_at »timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (" id`)) Շարժիչ = InnoDB; Ստեղծել օգտվող '' [օգտվողի անունը] '@' localhost 'IDENTIFIED BY' [գաղտնաբառ] '; ՏՐԱՄԱԴՐԵԼ ԲՈԼՈՐ ՍՐԱՀՈԹՅՈՆՆԵՐԸ «սենսորների» վրա:* Դեպի «սենսորներ»@'localhost'; ԵԼՔ
Համոզվեք, որ [օգտվողի անունը] և [գաղտնաբառը] փոխարինեք ձեր նախընտրած MySQL օգտվողի իրական օգտվողի անունով և գաղտնաբառով: Բացի այդ, նշեք դրանք, քանի որ դրանք ձեզ անհրաժեշտ կլինեն հաջորդ քայլին:
Անտառահատումների և վեբ ինտերֆեյսի սցենարների կազմաձևում
Անցեք/var/www/html գրացուցակին, որը Apache- ի կանխադրված վիրտուալ սերվերի փաստաթղթերի արմատն է, ջնջեք կանխադրված վեբ էջը պարունակող HTML ֆայլը և ներբեռնեք դրա ներսում գրանցամատյանների և վեբ ինտերֆեյսի սցենարները:
cd/var/www/html
sudo rm index.html sudo wget https://raw.githubusercontent.com/magkopian/esp-arduino-temp-monitor/master/server/log.php sudo wget https://raw.githubusercontent.com/magkopian/esp- arduino-temp-monitor/master/server/index.php
Այժմ խմբագրեք անտառահատման սցենարը `օգտագործելով nano, sudo nano log.php
Դուք պետք է փոխարինեք [օգտվողի անունը] և [գաղտնաբառը] MySQL օգտվողի օգտվողի անունով և գաղտնաբառով, որը դուք ստեղծել եք նախորդ քայլին: Բացի այդ, փոխարինեք [հաճախորդի բանալին] եզակի տողով և նշեք այն: Սա կօգտագործվի որպես գաղտնաբառ, որպեսզի մոնիտորը կարողանա ինքնությունը հաստատել սերվերում:
Վերջապես, խմբագրեք index.php- ն nano- ով, sudo nano index.php
և փոխարինեք [օգտվողի անունը] և [գաղտնաբառը] MySQL օգտվողի օգտվողի անունով և գաղտնաբառով, ինչպես դա արեցիք գրանցման սցենարի դեպքում:
HTTPS- ի կարգավորում (ըստ ցանկության)
Սա կարող է կամայական լինել, բայց եթե ESP8266- ի և սերվերի միջև կապը ինտերնետի միջոցով է, ապա խորհուրդ է տրվում օգտագործել որոշակի ծածկագրում:
Unfortunatelyավոք, դուք չեք կարող պարզապես առաջ գնալ և վկայագիր ստանալու համար օգտագործել Let's Encrypt- ի նման մի բան: Դա պայմանավորված է նրանով, որ առնվազն գրելու պահին, ESP8266- ի համար HTTP հաճախորդների գրադարանը դեռ պահանջում է, որ վկայագրի մատնահետքը տրամադրվի որպես երկրորդ փաստարկ http.begin () - ին զանգելիս: Սա նշանակում է, որ եթե օգտագործում եք Let's Encrypt- ի նման մի բան, ապա ստիպված կլինեք յուրաքանչյուր 3 ամիսը մեկ թարմացնել որոնվածը չիպին, որպեսզի յուրաքանչյուր թարմացումից հետո սերտիֆիկատի մատնահետքը թարմացվի:
Դրա շուրջը եղած ճանապարհը կլինի ինքնաստորագրված վկայագրի ստեղծումը, որը լրանում է շատ երկար ժամանակ (օրինակ ՝ 10 տարի) և պահելու տեղեկամատյանների սցենարը սեփական վիրտուալ սերվերի վրա ՝ իր ենթատիրույթով: Այդ կերպ, դուք կարող եք ունենալ վեբ ինտերֆեյս ՝ առանձին ենթատիրույթում տվյալներ մուտք գործելու համար, որոնք կօգտագործեն վստահելի մարմնի համապատասխան վկայական: Այս դեպքում ինքն ստորագրված վկայագրի օգտագործումը անվտանգության խնդիր չէ, քանի որ վկայագրի մատնահետքը, որը եզակիորեն նույնականացնում է այն, կոդավորվում է որոնվածի մեջ, և վկայականը կօգտագործվի միայն ESP8266- ի կողմից:
Նախքան սկսելը, ես ենթադրեմ, որ դուք արդեն տիրույթի անուն ունեք և կարող եք դրա վրա ենթադոմեյններ ստեղծել: Այսպիսով, սերտիֆիկատ ստեղծելու համար, որը լրանում է 10 տարի անց, գործարկեք հետևյալ հրամանը և պատասխանեք հարցերին:
sudo openssl req -x509 -հանգույցներ -օրեր 3650 -newkey rsa: 2048 -keyout /etc/ssl/private/sensors.key -out /etc/ssl/certs/sensors.crt
Քանի որ սա ինքնաստորագրված վկայական է, այն, ինչին պատասխանում եք շատ հարցերում, այնքան էլ կարևոր չէ, բացառությամբ այն հարցի, որը պահանջում է ընդհանուր անուն: Այստեղ է, որ ձեզ հարկավոր է տրամադրել ամբողջական ենթատիրույթը, որը կօգտագործվի այս վիրտուալ հյուրընկալողի համար: Այն ենթադոմեյնը, որը դուք այստեղ կտաք, պետք է լինի նույնը ServerName- ի հետ, որը դուք հետագայում կհաստատեք ձեր վիրտուալ հյուրընկալողի կազմաձևում:
Հաջորդը ստեղծեք վիրտուալ հյուրընկալողի նոր կազմաձև, sudo nano /etc/apache2/sites-available/sensors-ssl.conf
հետևյալ բովանդակությամբ, ServerName [ենթադոմեյն] DocumentRoot/var/www/սենսորներ SSLEngine ON SSLCertificateKeyFile /etc/ssl/private/sensors.key SSLCertificateFile /etc/ssl/certs/sensors.crt Ընտրանքներ +FollowSymlinks -Indexes AllowOverride All ErrorLog}/APO error-ssl.log CustomLog $ {APACHE_LOG_DIR} /sensors-access-ssl.log համակցված
Կրկին, համոզվեք, որ [ենթատիրույթը] փոխարինեք նույն ենթատիրույթով, որն օգտագործել եք վկայագրով: Այս պահին ձեզ հարկավոր կլինի անջատել Apache- ի կանխադրված վիրտուալ հոսթերը, sudo a2dissite 000- կանխադրված
փոխել փաստաթղթի արմատային գրացուցակի անունը, sudo mv/var/www/html/var/www/տվիչներ
և վերջապես միացրեք նոր վիրտուալ հյուրընկալողը և վերագործարկեք Apache- ը, sudo a2ensite տվիչներ-ssl
sudo systemctl վերագործարկեք apache2
Վերջին բանը, որ պետք է արվի, վկայագրի մատնահետքի ձեռքբերումն է, քանի որ այն պետք է օգտագործվի որոնվածի կոդի մեջ:
openssl x509 -noout -tingerprint -sha1 -տեղեկացնել pem -in /etc/ssl/certs/sensors.crt
Http.begin () - ն ակնկալում է, որ մատնահետքի բայթերի միջև եղած սահմանազատիչները պետք է լինեն բացատներ, այնպես որ ձեր ծածկագրում այն օգտագործելուց առաջ անհրաժեշտ է փոխարինել գաղութները բացատներով:
Այժմ, եթե չեք ցանկանում վեբ ինտերֆեյսի համար ինքնստորագրված վկայական օգտագործել նոր ենթադոմեյն ստեղծելու և վիրտուալ հյուրընկալողի նոր կազմաձև ստեղծելու համար, sudo nano /etc/apache2/sites-available/sensors-web-ssl.conf
հետևյալ բովանդակությամբ, ServerName [ենթադոմեյն] DocumentRoot/var/www/տվիչներ #SSLEngine ON #SSLCertificateFile /etc/letsencrypt/live/ [subdomain] /letsencrypt/liv/
Համոզվեք, որ [ենթադոմեյնը] փոխարինեք վեբ ինտերֆեյսի համար տեղադրած ենթատիրույթով: Հաջորդը միացրեք նոր վիրտուալ սերվերը, վերագործարկեք Apache- ը, տեղադրեք certbot- ը և եկեք վկայագիր նոր ենթադոմեյնի համար Let's Encrypt, sudo a2ensite տվիչներ-վեբ-սսլ
sudo systemctl վերագործարկել apache2 sudo apt թարմացում sudo apt տեղադրել certbot sudo certbot certonly --apache -d [ենթադոմեյն]
Վկայագիրը ստանալուց հետո նորից խմբագրեք վիրտուալ հյուրընկալողի կազմաձևը ՝ SSLEngine, SSLCertificateFile, SSLCertificateKeyFile և SSLCertificateChainFile տողերը մեկնաբանելու համար և վերագործարկեք Apache- ը:
Եվ այժմ կարող եք օգտագործել առաջին ենթատիրույթը, որն օգտագործում է ինքն ստորագրված վկայագիրը ՝ ESP8266- ից տվյալները սերվեր ուղարկելու համար, իսկ երկրորդը ՝ ձեր դիտարկիչից վեբ ինտերֆեյս մուտք գործելու համար: Certbot- ը նաև կհոգա ձեր ՝ Եկեք գաղտնագրելու վկայականի ավտոմատ թարմացումը 3 ամիսը մեկ ՝ օգտագործելով համակարգված ժամանակաչափ, որը պետք է միացված լինի լռելյայն:
Քայլ 6. ESP8266- ի ծրագրավորում
Ի վերջո, մնում է միայն միկրոկառավարիչի վրա որոնվածը բեռնելը: Դա անելու համար ներբեռնեք որոնվածի աղբյուրի կոդը այստեղից և բացեք այն Arduino IDE- ի միջոցով: Դուք պետք է փոխարինեք [SSID] և [Գաղտնաբառ] ձեր WiFi ցանցի փաստացի SSID- ով և գաղտնաբառով: Sprintf ֆունկցիայի կանչում դուք նույնպես պետք է փոխարինեք [Client ID] և [Client Key] ՝ այն սերվերի PHP սցենարի վրա օգտագործածներով: Վերջապես, դուք պետք է փոխարինեք [Host] - ը տիրույթի անունով կամ սերվերի IP հասցեով: Եթե օգտագործում եք HTTPS, ապա ձեզ հարկավոր է նաև տրամադրել ձեր վկայագրի մատնահետքը ՝ որպես երկրորդ փաստարկ http.begin () գործառույթի կանչի վրա: Ես բացատրել եմ, թե ինչպես ստանալ վկայականի մատնահետքը նախորդ քայլի «Setting Up HTTPS» բաժնում:
Հաջորդը, եթե դեռ չեք հասցրել, ձեզ հարկավոր կլինի տեղադրել ESP8266 Community հիմնական փաթեթը ՝ օգտագործելով Arduino IDE- ի խորհրդի կառավարիչը: Երբ դա արվի, տախտակների ընտրացանկից ընտրեք NodeMCU 1.0 (ESP-12E մոդուլ): Հաջորդը, ձեզ հարկավոր է տեղադրել SimpleDHT գրադարանը ՝ օգտագործելով Գրադարանի կառավարիչը: Վերջապես, ձեր IDE պատուհանի վերին ձախ անկյունում սեղմեք «Ստուգել» կոճակը ՝ համոզվելու համար, որ ծածկագիրը կազմվում է առանց սխալների:
Եվ հիմա, վերջապես, ժամանակն է `որոնվածը միկրոկառավարիչի վրա այրել: Դա անելու համար JP1 թռիչքը տեղափոխեք աջ, այնպես որ ESP8266- ի GPIO0- ը միացված կլինի գետնին, ինչը հնարավորություն կտա ծրագրավորման ռեժիմը: Այնուհետև կցեք ձեր USB սերիական փոխարկիչին ՝ օգտագործելով jumper լարերը ծրագրավորման վերնագրին, որը պիտակավորված է որպես P1: Mingրագրավորման վերնագրի 1 -ին կապը հիմնավորված է, 2 -ը `ESP8266- ի ընդունման քորոցը և 3 -ը` հաղորդիչը: Ձեզ անհրաժեշտ է ESP8266- ի ստացումը `ձեր USB սերիալային փոխարկիչին փոխանցելու, ընդունիչին փոխանցելու համար և, իհարկե, գետնից գետնին:
Վերջապես, սարքը միացրեք 5 Վ լարման միջոցով ՝ օգտագործելով USB- ից DC միացման մալուխ և միացրեք USB- ը սերիական փոխարկիչին ձեր համակարգչին: Այժմ դուք պետք է կարողանաք տեսնել վիրտուալ սերիական նավահանգիստը, որտեղ միացված է ESP8266- ը, հենց որ բացեք գործիքների ընտրացանկը ձեր IDE- ում: Այժմ պարզապես սեղմեք Վերբեռնման կոճակը և վերջ: Եթե ամեն ինչ ընթանար այնպես, ինչպես սպասվում էր, դուք պետք է կարողանաք տեսնել սարքի LCD- ում ջերմաստիճանի և խոնավության ցուցանիշները: Այն բանից հետո, երբ ESP8266- ը միանա ձեր ցանցին և սկսի հաղորդակցվել սերվերի հետ, ընթացիկ ամսաթիվը և ժամը նույնպես պետք է հայտնվեն էկրանին:
Մի քանի ժամ անց, երբ սերվերը կհավաքի բավականին մեծ քանակությամբ տվյալներ, դուք պետք է կարողանաք տեսնել ջերմաստիճանի և խոնավության գծապատկերները ՝ այցելելով http (ներ) ՝ // [host] /index.php?client_id= [client id]:Որտեղ [հյուրընկալողը] կամ ձեր սերվերի IP հասցեն է կամ վեբ ինտերֆեյսի համար օգտագործվող ենթադոմեյնը, և [հաճախորդի id] սարքի հաճախորդի ID- ն, որը եթե այն թողնում եք իր կանխադրված արժեքին, ապա պետք է լինի 1:
Խորհուրդ ենք տալիս:
Temերմաստիճանի, խոնավության մոնիտոր - Arduino Mega + Ethernet W5100: 5 քայլ
Peratերմաստիճանի, խոնավության մոնիտոր - Arduino Mega + Ethernet W5100. Մոդուլ 1 - FLAT - սարքավորում ՝ Arduino Mega 2560 Wiznet W5100 Ethernet վահան 8x DS18B20 ջերմաստիճանի տվիչ OneWire ավտոբուսի վրա ՝ բաժանված 4 OneWire ավտոբուսների (2,4,1,1) 2x թվային ջերմաստիճանի: և խոնավության տվիչ DHT22 (AM2302) 1x ջերմաստիճան և խոնավություն
Temերմաստիճանի եւ խոնավության LED- ները `12 քայլ
Temերմաստիճանի եւ խոնավության լուսադիոդներ. Եթե երբեւէ ցանկացել եք ունենալ ավելի տեսողական ջերմաչափ, այս նախագիծը կարող է օգնել: Մենք պատրաստելու ենք LED- ների մի շարք, որոնք ցուցադրում են որոշակի գույներ `կախված խոնավության և ջերմաստիճանի մակարդակից
Temերմաստիճանի եւ խոնավության մոնիտոր `7 քայլ
Temերմաստիճանի և խոնավության մոնիտոր. Ձեր բույսերը արագորեն ոչնչացնելու երկու հստակ եղանակ կա: Առաջին ճանապարհն այն է, որ դրանք թխվեն կամ սառեցվեն մինչև ջերմաստիճանի ծայրահեղությունները: Այլապես, դրանց տակ կամ դրա ավելորդ ջրելը կհանգեցնի նրանց չորացման կամ արմատների փտման: Իհարկե այնտեղ
Temերմաստիճանի և լուսավորության մակարդակի մոնիտոր `LCD NOKIA 5110: 4 քայլ ցուցադրմամբ
Kերմաստիճանի և լուսավորության մակարդակի մոնիտոր `LCD- ով ցուցադրվող NOKIA 5110. Բարև բոլորին: Այս բաժնում մենք պատրաստում ենք պարզ էլեկտրոնային սարք` ջերմաստիճանը և լուսավորության մակարդակը վերահսկելու համար: Այս պարամետրերի չափումները ցուցադրվում են LCD NOKIA 5110 -ով: Սարքը հիմնված է AVR ATMEGA328P միկրոկառավարիչի վրա: Դիտարկումը
Անլար խոնավության մոնիտոր (ESP8266 + խոնավության ցուցիչ) ՝ 5 քայլ
Անլար խոնավության մոնիտոր (ESP8266 + խոնավության ցուցիչ). Ես մաղադանոս եմ գնում կաթսայում, և օրվա մեծ մասը հողը չորացել էր: Այսպիսով, ես որոշեցի կատարել այս նախագիծը ՝ մաղադանոսով կաթսայի մեջ հողի խոնավությունը զգալու մասին, ստուգելու համար, երբ ինձ պետք է ջուր լցնել հողը: Կարծում եմ, որ այս սենսորը (Capacitive խոնավության ցուցիչ v1.2) լավ է