
Բովանդակություն:
- Քայլ 1: Պահանջվում են բաղադրիչներ
- Քայլ 2: Լեզու և արձանագրություն
- Քայլ 3. Eclipse Mosquitto MQTT բրոքեր
- Քայլ 4. Տվյալների հոսքը ամբողջ նախագծում
- Քայլ 5. Սենսորների միացում NodeMCU- ի հետ
- Քայլ 6. Սուզվող ջրի պոմպի միացում ESP8266- ի հետ
- Քայլ 7. Mosquitto Broker- ի տեղադրում և Python ծրագրի գործարկում Raspberry Pi- ում
- Քայլ 8: Ինչպե՞ս է աշխատում MQTT- ն:
- Քայլ 9. mingրագրավորում NodeMCU և ESP8266
- Քայլ 10. Վեբ էջի նախագծում և միացում SQL տվյալների շտեմարանին
- Քայլ 11: Ամբողջական աշխատանք
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Greenերմոցային տան ավտոմատացումն այն նախագիծն է, որտեղ ջերմոցային տնտեսության երեք պարամետր ՝ հողային խոնավություն, ջերմաստիճան և խոնավություն, օգտագործողը վերահսկում է հեռակա կարգով ՝ պարզապես վեբ դիտարկիչի միջոցով:
Քայլ 1: Պահանջվում են բաղադրիչներ



Ստորև թվարկված են որոշ անհրաժեշտ բաղադրիչներ
1. Ազնվամորի PI մոդել B
2. NodeMCU զարգացման խորհուրդ
3. ESP8266 Wifi մոդուլ
4. Խոնավության ցուցիչ
5. DHT11 ջերմաստիճանի և խոնավության ցուցիչ
6. 5V Single Channel ռելե
7. 5 Վ սուզվող ջրի պոմպ
8. Հացի տախտակ
9. Հացի տախտակի էլեկտրամատակարարման մոդուլ
Քայլ 2: Լեզու և արձանագրություն



- C լեզուն օգտագործվում է միկրոկարգավորիչների համար:
- MQTT հաղորդագրություններ. MQTT նշանակում է MQ Telemetry Transport: Դա հրապարակման/բաժանորդագրման, չափազանց պարզ և թեթև հաղորդագրությունների արձանագրություն է, որը նախատեսված է սահմանափակ սարքերի և ցածր թողունակության, բարձր ուշացման կամ անվստահելի ցանցերի համար: Դիզայնի սկզբունքներն են `նվազագույնի հասցնել ցանցի թողունակության և սարքի ռեսուրսների պահանջները` միաժամանակ փորձելով ապահովել հուսալիություն և առաքման որոշակի երաշխիք: Այս սկզբունքները նաև պարզեցնում են, որ արձանագրությունը իդեալական է դարձնում միացված սարքերի «մեքենա-մեքենա» (M2M) կամ «Իրերի ինտերնետ» աշխարհը, ինչպես նաև բջջային հավելվածների համար, որտեղ թողունակությունը և մարտկոցի հզորությունը գերակա են:
- Python ծրագիրը օգտագործվում է ջրի հոսքի և տվյալների բազայի միացման ավտոմատացման համար:
Քայլ 3. Eclipse Mosquitto MQTT բրոքեր

Այստեղ ես օգտագործեցի Mosquitto MQTT բրոքերը `հանգույցների միջև հեշտ հաղորդագրությունների հաղորդակցության համար:
Eclipse Mosquitto- ն բաց կոդով (EPL/EDL լիցենզավորված) հաղորդագրությունների բրոքեր է, որն իրականացնում է MQTT արձանագրության 5.0, 3.1.1 և 3.1 տարբերակները: Mosquitto- ն թեթև է և հարմար է բոլոր սարքերի համար ՝ ցածր էներգիայի մեկ տախտակի համակարգիչներից մինչև լիարժեք սերվերներ:
MQTT արձանագրությունը ապահովում է հաղորդագրությունների հրապարակման թեթև մեթոդ ՝ հրապարակման/բաժանորդագրման մոդելի միջոցով: Սա այն հարմար է դարձնում Իրերի ինտերնետի հաղորդագրությունների համար, ինչպիսիք են ցածր էներգիայի տվիչներով կամ շարժական սարքերով, ինչպիսիք են հեռախոսները, ներդրված համակարգիչները կամ միկրոկարգավորիչները:
Mosquitto նախագիծը տրամադրում է նաև C գրադարան MQTT հաճախորդների իրականացման համար, ինչպես նաև mosquitto_pub և mosquitto_sub հրամանի տող MQTT հաճախորդներին:
Քայլ 4. Տվյալների հոսքը ամբողջ նախագծում
Վերոնշյալ պատկերում հանգույցներն են
- NodeMCU
- Ազնվամորի PI
- ESP8266
NodeMCU- ն Կանաչ տան զգայուն մասն է, իսկ ESP8266- ը `ակտիվացնող մասը, որը ջուր է մատակարարում, երբ գետնին ջուր է պետք` ըստ սենսորների:
Ազնվամորի PI- ն պարունակում է Mosquitto Broker և Python հաճախորդ, որը բաժանորդագրվում է MQTT բրոքերից ստացվող հաղորդագրություններին և տվյալները պահում է SQL սերվերի մեջ:
Քայլ 5. Սենսորների միացում NodeMCU- ի հետ

DHT11 ջերմաստիճանի և խոնավության սենսորը և ջրի խոնավության տվիչը կարող են աշխատել 3.3 վոլտ լարման վրա:
NodeMCU- ն չի կարող ապահովել ավելի քան 3.3 վոլտ: Այսպիսով, սենսորները կարող են ուղղակիորեն միացվել NodeMCU միկրոկառավարիչի տախտակին:
Քայլ 6. Սուզվող ջրի պոմպի միացում ESP8266- ի հետ


Անհրաժեշտության դեպքում ջուրը մատակարարելու համար օգտագործվում է սուզվող ջրի պոմպ:
Pumpրի պոմպին շահագործման համար անհրաժեշտ է 5 վոլտ սնուցման աղբյուր:
Շարժիչը միացնելու համար անհրաժեշտ է մեկ ալիքի ռելե: ESP8266- ի GPIO2 քորոցի ակտիվացման դեպքում ռելեն միացված է և ինքնաբերաբար ջուր է մատակարարում `օգտագործելով սուզվող ջրի պոմպը:
Այստեղ արտաքին էներգիայի մատակարարումը տրամադրվում է ESP8266 տախտակին, ռելեին և սուզվող ջրի պոմպին:
Իմ ամբողջական ապարատային կապը վերևում պատկերված է:
Քայլ 7. Mosquitto Broker- ի տեղադրում և Python ծրագրի գործարկում Raspberry Pi- ում
Ստորև բերված են Raspberry PI- ում Mosquitto բրոքեր տեղադրելու քայլերը
Բացեք տերմինալը և մուտքագրեք հետևյալ հրամանները
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get թարմացում
sudo apt-get տեղադրել մոծակ
sudo apt-get տեղադրեք մոծակների հաճախորդներ
Այն պետք է ինքնաբերաբար սկսի մոծակին:
Stopառայությունը դադարեցնելու և գործարկելու համար անհրաժեշտ էր օգտագործել
sudo ծառայություն stop mosquitto
sudo ծառայություն սկսել մոծակ
Իմ հայտնաբերած կայքերի մեծ մասը որտեղ է օգտագործվում ձևաչափը:
sudo /etc/init.d/mosquitto կանգառ
Քայլ 8: Ինչպե՞ս է աշխատում MQTT- ն:

MQTT- ը IoT նախագծերում ամենաշատ օգտագործվող արձանագրություններից մեկն է: Այն նշանակում է Message Queuing Telemetry Transport:
Բացի այդ, այն նախագծված է որպես թեթև հաղորդագրությունների արձանագրություն, որն օգտագործում է հրապարակման/բաժանորդագրման գործողությունները `հաճախորդների և սերվերի միջև տվյալների փոխանակման համար: Ավելին, դրա փոքր չափը, էներգիայի ցածր օգտագործումը, տվյալների նվազագույն փաթեթները և իրականացման հեշտությունը արձանագրությունը դարձնում են իդեալական «մեքենա-մեքենա» կամ «իրերի ինտերնետ» աշխարհում:
Ինչպես ցանկացած այլ ինտերնետային արձանագրություն, MQTT- ն հիմնված է հաճախորդների և սերվերի վրա: Նմանապես, սերվերը այն տղան է, ով պատասխանատու է հաճախորդների ՝ միմյանց միջև տվյալներ ստանալու կամ ուղարկելու խնդրանքների մշակման համար: MQTT սերվերը կոչվում է բրոքեր, իսկ հաճախորդները պարզապես կապված սարքեր են: Այսպիսով.
* Երբ սարքը (հաճախորդը) ցանկանում է տվյալներ ուղարկել բրոքերին, մենք այս գործողությունը անվանում ենք «հրապարակում»:
* Երբ սարքը (հաճախորդը) ցանկանում է տվյալներ ստանալ բրոքերից, մենք այս գործողությունը կոչում ենք «բաժանորդագրվել»:
Քայլ 9. mingրագրավորում NodeMCU և ESP8266
Ստորև բերված են NodeMCU և ESP8266 Microcontroller տախտակի աղբյուրի կոդը
Քայլ 10. Վեբ էջի նախագծում և միացում SQL տվյալների շտեմարանին
Վեբ էջը նախագծված է HTML, CSS և PHP լեզուներով:
PHP- ն օգտագործվում է տվյալների բազայից սենսորների ընթերցումները հանելու և այն HTML էջում ցուցադրելու համար:
Որպես այս նախագծի սիրտ օգտագործվում է պիթոնի ծրագիրը:
Այն աշխատանքները, որոնք կատարում են python ծրագիրը, հետևյալն են.
- Այն բաժանորդագրվում է մի թեմայի, որտեղ սենսորը ուղարկում է սենսորի ընթերցումները:
- Այն հրապարակում է ջրի պոմպի միացման/անջատման հրամանը MQTT բրոքերին:
- Այն պահում է սենսորի ընթերցումը SQL տվյալների բազայում:
Այստեղ իմ դեպքում python ծրագիրը և SQL տվյալների բազան առկա են նոութբուքում: Վեբ էջը, որն անցնում է Տեղական հաղորդավարի միջոցով:
Ստորև բերված է իմ python ծրագրի աղբյուրի կոդը:
Քայլ 11: Ամբողջական աշխատանք

Հետևյալը այն քայլերն են, որոնցով գործընթացը շարունակվում է:
- NodeMCU- ն աշխատում է որպես զգայուն մաս և կարդում է ջերմաստիճանը, խոնավությունը և հողի խոնավության մակարդակը:
- Այն ընթերցումներն ուղարկում է MQTT բրոքերին ՝ «Թեմա 1» թեմայով
- Նոթբուքում Python ծրագիրը գործում է և այն բաժանորդագրվում է «Թեմա 1» թեմային MQTT բրոքերի հետ:
- Երբ NodeMCU- ն ուղարկում է ընթերցումները, ապա Mosquitto MQTT բրոքերն անմիջապես տվյալները ուղարկում է python ծրագրին:
- Այնուհետև Python ծրագիրը հաշվարկում է, թե արդյոք անհրաժեշտ է ջուրը Գրին տանը: Այնուհետև ընթերցումները պահում է SQL տվյալների շտեմարանում:
- Եթե Green House- ում ջուր է անհրաժեշտ, ապա python ծրագիրը հրապարակում է ջրի պոմպի միացման/անջատման մասին հաղորդագրությունը Mosquitto MQTT բրոքերին ՝ «Թեմա 2» թեմայով:
- ESP8266- ը աշխատում է որպես շարժիչ: Այն բաժանորդագրվում է «Թեմա 2» թեմային, թե որ թեմայով է պիթոն ծրագիրը հրապարակում հաղորդագրությունը: Երբ python ծրագիրը հրապարակում է որևէ հաղորդագրություն, այն անմիջապես փոխանցվում է ESP8266- ին: Ըստ միացման/անջատման հաղորդագրության, այն միացրել/անջատել է սուզվող ջրի պոմպը:
- Վեբ էջում կենդանի ընթերցումները ցուցադրելու վերջին փուլը: Վեբ էջը վերցնում է տվյալները SQL տվյալների բազայից, որտեղ python ծրագիրը պահում է տվյալները ուղղակիորեն և ցուցադրում ընթերցումները էջում:
Խորհուրդ ենք տալիս:
Տնային ավտոմատացում ՝ 5 քայլ

Տան ավտոմատացում
Տնային ավտոմատացում NodeMCU Touch Sensor LDR ջերմաստիճանի կառավարման ռելեով `16 քայլ

Տան ավտոմատացում NodeMCU Touch Sensor LDR ջերմաստիճանի կառավարման ռելեով. Նախորդ NodeMCU նախագծերում ես վերահսկել եմ երկու տնային տեխնիկա Blynk App- ից: Ես ստացել եմ բազմաթիվ մեկնաբանություններ և հաղորդագրություններ ՝ նախագիծը ձեռքով կարգավորելու և ավելի շատ հնարավորություններ ավելացնելու համար: Այսպիսով, ես նախագծել եմ այս Smart Home Extention Box- ը: Այս IoT- ում
Խոսակցական ավտոմատացում -- Աուդիո Արդուինոյից -- Ձայնով վերահսկվող ավտոմատացում -- HC - 05 Bluetooth մոդուլ. 9 քայլ (նկարներով)

Խոսակցական ավտոմատացում || Աուդիո Արդուինոյից || Ձայնով վերահսկվող ավտոմատացում || HC - 05 Bluetooth մոդուլ ՝ …………………………. Լրացուցիչ տեսանյութերի համար Բաժանորդագրվեք իմ YouTube ալիքին …. …. Այս տեսանյութում մենք կառուցել ենք Խոսող ավտոմատացում: Երբ դուք բջջային հեռախոսով ձայնային հրաման կուղարկեք, այն կմիացնի տնային սարքերը և հետադարձ կապ կուղարկի
Green House- ի մոնիտորինգ IOT- ով. 5 քայլ

Green House Monitoring with IOT. Երբ խոսքը վերաբերում է գյուղատնտեսությանը, ջերմաստիճանի մոնիտորինգի & բույսերի խոնավությունը նրանց գոյատևման համար կարևոր գործոն է: Ներկայումս մարդիկ ջերմոցում ամրացված ջերմաչափեր են օգտագործում, որպեսզի ֆերմերները կարողանան չափել ջերմաստիճանը: Այնուամենայնիվ, այս ձեռնարկը
Տնային ավտոմատացում Քայլ առ քայլ Wemos D1 Mini- ի միջոցով ՝ PCB դիզայնով. 4 քայլ

Տնային ավտոմատացում Wemos D1 Mini- ի միջոցով PCB դիզայնով. Տնային ավտոմատացում Քայլ առ քայլ Wemos D1 Mini- ի միջոցով ՝ PCB դիզայնով: Մի քանի շաբաթ առաջ մենք rootaid.com կայքում հրատարակեցինք «Տնային ավտոմատացում ՝ օգտագործելով ազնվամորի Pi» ձեռնարկը, որը լավ ընդունվեց հոբբիստների և քոլեջի ուսանողներ: Հետո եկավ մեր անդամներից մեկը