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

Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ. 6 քայլ
Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ. 6 քայլ

Video: Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ. 6 քայլ

Video: Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ. 6 քայլ
Video: The Raspberry Pi 400 is Awesome! Review, Overclock, Emulation, Tear Down 2024, Նոյեմբեր
Anonim
Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ
Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ
Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ
Raspberry Pi փակ կլիմայի մոնիտորինգի և վերահսկման համակարգ

Մարդիկ ցանկանում են հարմարավետ լինել իրենց տան ներսում: Քանի որ մեր տարածաշրջանի կլիման կարող է մեզ չհամապատասխանել, մենք օգտագործում ենք բազմաթիվ սարքավորումներ `ներսի առողջ միջավայրը պահպանելու համար. միջավայրը զգալու և ինքնատիրապետում ունենալու եղանակը: Այնուամենայնիվ.

  • Նրանցից շատերը թանկ են/ չարժեն գումարը:
  • Նրանց էլեկտրական սխեմաներն ավելի հեշտ է կոտրվել և ավելի դժվար փոխարինվել, քան սովորական մեխանիկական մասերը
  • Սարքերը պետք է կառավարվեն արտադրողի հավելվածի կողմից: Սովորական է ունենալ մի քանի խելացի տեխնիկա ձեր տանը, և նրանցից յուրաքանչյուրն ունի իր ծրագիրը: Նրանց լուծումն այն է, որ ծրագիրը ինտեգրվի այնպիսի հարթակներում, ինչպիսիք են Alexa- ն, Google Assistant- ը և IFTTT- ը, որպեսզի մենք ունենանք «կենտրոնացված» վերահսկիչ
  • Ամենակարևորը `արտադրողները ունեն մեր տվյալները, իսկ Google/Amazon/IFTTT/etc- ն` մեր տվյալները: Մենք չենք անում: Գուցե ձեզ չի հետաքրքրում գաղտնիությունը, բայց երբեմն մենք բոլորս կցանկանայինք նայել ձեր ննջասենյակի խոնավության ձևին, օրինակ ՝ որոշել, թե որ ժամին բացել պատուհանները:

Այս ձեռնարկում ես կառուցում եմ ազնվամորի Pi- ի վրա հիմնված փակ կլիմայի վերահսկիչի նախատիպ: RPi- ն ծայրամասային սարքերի հետ հաղորդակցվում է SPI/I2C/USB միջերեսների միջոցով.

  • Մթնոլորտային տվիչ օգտագործվում է ջերմաստիճանը, խոնավությունը և օդի ճնշումը հավաքելու համար:
  • Օդի որակի բարձր ճշգրիտ տվիչը տրամադրում է մթնոլորտային մասնիկների (PM2.5 և PM10) տվյալներ, որոնք օգտագործվում են օդի որակի ինդեքսը (AQI) հաշվարկելու համար:

Վերահսկիչը մշակում է ձեռք բերված տվյալները և գործարկում սարքի գործողությունները ՝ հարցումներ ուղարկելով IFTTT Webhook ավտոմատացման ծառայությանը, որը վերահսկում է աջակցվող WiFi խրոցակները:

Նախատիպը կառուցված է այնպես, որ կարելի է հեշտությամբ ավելացնել այլ տվիչներ, տեխնիկա և ավտոմատացման ծառայություններ:

Քայլ 1: Սարքավորումներ

Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ

Սա կառուցելու համար առաջարկվող սարքավորում.

  1. Raspberry Pi (ցանկացած տարբերակ) WiFi- ով: Ես դա կառուցում եմ ՝ օգտագործելով RPi B+: RPi ZeroW- ը լավ կանի և կարժենա 15 դոլար
  2. BME280 սենսոր ՝ ջերմաստիճանի, խոնավության, օդի ճնշման համար ՝ 5 դոլար
  3. A Nova SDS011 բարձր ճշգրիտ լազերային PM2.5/PM10 օդի որակի հայտնաբերման սենսորային մոդուլ ՝ 25 $
  4. LED/LCD էկրան: Ես օգտագործել եմ SSD1305 2.23 դյույմանոց OLED էկրանը ՝ 15 դոլար
  5. Որոշ WiFi/ZigBee/Z-Wave խելացի վարդակներ: 10-20 $ յուրաքանչյուրը
  6. Օդի մաքրիչ, խոնավացուցիչ, խոնավացնող, տաքացուցիչ, հովացուցիչ և այլն ՝ մեխանիկական անջատիչներով: Օրինակ, այս ձեռնարկը պատրաստելու համար ես օգտագործեցի էժան օդի մաքրիչ

Վերոնշյալ ընդհանուր արժեքը <100 $ է, շատ ավելի քիչ, քան, ասենք, խելացի մաքրող սարքը, որը հեշտությամբ կարժենա 200 $:

Քայլ 2: Միացնել Raspbery Pi- ն

Միացում Raspbery Pi- ին
Միացում Raspbery Pi- ին

Շղթայի դիագրամը ցույց է տալիս, թե ինչպես միացնել RPi- ն BME280 սենսորով `օգտագործելով I2C ինտերֆեյսը և OLED էկրանով HAT- ը` օգտագործելով SPI ինտերֆեյսը:

Waveshare OLED HAT- ը կարող է կցված լինել GPIO- ի վերևում, բայց ձեզ անհրաժեշտ է GPIO բաժանարար `այն այլ ծայրամասային սարքերի հետ կիսելու համար: Այն կարող է կազմաձևվել I2C- ի օգտագործման համար ՝ հետևի մասում ռեզիստորների զոդման միջոցով:

SSD1305 OLED HAT- ի մասին լրացուցիչ տեղեկություններ կարող եք գտնել այստեղ:

Երկու I2C և SPI միջերեսները պետք է միացված լինեն RPi- ում ՝

sudo raspi-config

Nova SDS011 փոշու տվիչը միացված է RPi- ին USB պորտի միջոցով (Serial-USB ադապտերով):

Քայլ 3. Սենսորներից տվյալների հավաքում

Մթնոլորտային տվյալները, որոնք բավականին պարզ տեսք ունեն, հավաքվում են BME280 սենսորից `պիթոնի սցենարից:

21-նոյեմբերի -20 19:19:25-ՏԵFԵԿԱՏՎՈԹՅՈՆ-փոխհատուցված_ընթերցում (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, ժամանակային կնիք = 2020-11-21 19: 19: 25.604317, ջերմաստիճան = 20.956 ° C, ճնշում = 1019.08 hPa, խոնավություն = 49.23 % rH)

Փոշու տվիչի տվյալները մի փոքր ավելի մշակման կարիք ունեն: Սենսորային մոդուլը ներծծում է օդի որոշ նմուշներ `մասնիկները հայտնաբերելու համար, ուստի այն պետք է որոշ ժամանակ աշխատի (30 -ականներ)` հուսալի արդյունքներ ունենալու համար: Իմ դիտարկմամբ, ես համարում եմ միայն վերջին 3 նմուշների միջինը: Գործընթացը հասանելի է այս սցենարով:

21 -նոյեմբերի -20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9

21-նոյեմբերի -20 19:21:09- ԴԵԲՈGԳ- 1. ՊՄ 2.5: 2.9, ՊՄ 10: 6.0 21-Նոյեմ. 20 19:21:11- ԴԵԲՈGԳ- 2. ՊՄ 2.5: 2.9, ՊՄ 10: 6.0 21- 20 նոյեմբեր 19:21:13- ԴԵԲՈGԳ- 3. ՊՄ 2.5: 2.9, ՊՄ 10: 6.3 21-Նոյեմ. 20 19:21:15- ԴԵԲՈGԳ- 4. ՊՄ 2.5: 3.0, ՊՄ 10: 6.2 21-Նոյեմբեր- 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21 -նոյեմբերի -20 19:21:19 - DEBUG - 6. PM2.5: 3.0, PM10: 6.6 21 -Nov -20 19 ՝ 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21 -Nov -20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21 -Nov -20 19:21 ՝ 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21 -Nov -20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21 -Nov -20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21 -Nov -20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21 -Nov -20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21 -նոյեմբերի 20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Փոշու սենսորը տրամադրում է միայն PM2.5 և PM10 ինդեքս: AQI- ն հաշվարկելու համար մեզ անհրաժեշտ է python-aqi մոդուլը.

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, փոշու_տվյալներ [0]), (aqi. POLLUTANT_PM10, փոշու_տվյալներ [1])])

Տվյալների հավաքումը, ցուցադրումը և սարքերի վերահսկումը կատարվում են միաժամանակ և ասինքրոն: Տվյալները պահվում են տեղական տվյալների բազայում: Մենք կարիք չունենք դրանք հաճախակի գործարկելու, եթե միջավայրը շատ արագ չփոխվի: Ինձ համար 15 րոպե ընդմիջման ժամանակը բավական է: Ավելին, փոշու սենսորային մոդուլը փոշի է կուտակում ներսում, այնպես որ մաքրման աշխատանքից խուսափելու համար չպետք է այն չափազանց օգտագործել:

Քայլ 4: Տան ավտոմատացման ծառայության կարգավորում

Տան ավտոմատացման ծառայության կարգավորում
Տան ավտոմատացման ծառայության կարգավորում
Տան ավտոմատացման ծառայության կարգավորում
Տան ավտոմատացման ծառայության կարգավորում

Կան բազմաթիվ Home ավտոմատացման հարթակներ, որոնք պետք է տեղադրեն այն հարթակը, որն ապահովված է ձեր ունեցած խելացի վարդակից: Եթե դուք վերաբերում եք գաղտնիությանը, ապա պետք է ստեղծեք ձեր սեփական համակարգը: Հակառակ դեպքում, կարող եք օգտագործել հանրաճանաչ հարթակները, որոնք ապահովված են WiFi խելացի վարդակների մեծամասնությամբ ՝ Google Assistant, Alexa կամ IFTTT: Փորձեք ընտրել API- ով վարդակից հարթակը, որի հետ կարող եք շփվել (Webhook- ը կատարյալ է այս նպատակով)

Ես օգտագործում եմ IFTTT- ն այս ձեռնարկում, քանի որ այն շատ հեշտ է օգտագործել նույնիսկ սկսնակների համար: Բայց տեղյակ եղեք, որ. 1. կան բազմաթիվ խելացի վարդակներ, որոնք չեն աջակցում IFTTT- ին, և 2. Երբ գրում եմ սա, IFTTT- ն թույլ է տալիս անվճար ստեղծել 3 ապլետ (ավտոմատացման առաջադրանքներ) անվճար, ինչը բավարար է միայն 1 -ի համար: սարքավորում:

Սրանք քայլերն են.

1. Ստեղծեք երկու ապլետ IFTTT- ում `սարքը միացնելու և անջատելու համար` օգտագործելով Webhook ծառայությունը: Մանրամասներին կարող եք ծանոթանալ այստեղ:

2. Պատճենեք API ստեղնը և պատճենեք այն python սցենարին: Ես կառաջարկեի այն պահել առանձին ֆայլում ՝ անվտանգության նկատառումներից ելնելով:

3. Սահմանեք վերահսկման տրամաբանությունը/պարամետրերը հիմնական սցենարում:

Քայլ 5: Արդյունքներ

Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները
Արդյունքները

Լավ, հիմա մենք փորձարկում ենք համակարգը:

OLED էկրանը ցույց է տալիս ընթացիկ ջերմաստիճանը, խոնավությունը և հաշվարկված օդի որակի ինդեքսը (AQI): Այն նաև ցուցադրում է վերջին 12 ժամվա ընթացքում նվազագույն և առավելագույն արժեքը:

AQI- ի ժամանակային շարքի տվյալները մի քանի օրվա ընթացքում ցույց են տալիս ինչ-որ հետաքրքիր բան: Նկատո՞ւմ եք AQI օրինաչափության թռիչքները: Դա տեղի էր ունենում օրական երկու անգամ, փոքր գագաթը ժամը 12: 00 -ի սահմաններում, իսկ բարձր գագաթը `19: 00 -ի սահմաններում: Դե, կռահեցիք, դա այն ժամանակ էր, երբ մենք պատրաստում էինք ՝ տարածելով շատ մասնիկներ: Հետաքրքիր է տեսնել, թե ինչպես է մեր ամենօրյա գործունեությունը ազդում ներքին միջավայրի վրա:

Բացի այդ, գործչի վերջին աճը տևեց շատ ավելի կարճ, քան նախորդները: դա այն է, երբ համակարգում ավելացնում ենք օդի մաքրիչը: RPi կլիմայի վերահսկիչն ուղարկում է PURIFIER_ON հարցում, երբ AQI> 50 և PURIFIER_OFF, երբ AQI <20: Այդ ժամանակ կարող եք տեսնել IFTTT Webhook ձգանը:

Քայլ 6: Եզրակացություն

Վերջ!

Հավաքված տվյալները կարող են օգտագործվել նաև օդային տաքացուցիչների, հովացուցիչների, (ապ) խոնավացուցիչների և այլնի վերահսկման համար: Պարզապես պետք է ավելի շատ խելացի վարդակներ գնել, և յուրաքանչյուր հին սարք կդառնա «խելացի»:

Եթե ցանկանում եք կառավարել բազմաթիվ սարքավորումներ, գուցե պետք է ուշադիր մտածեք, թե որ տան ավտոմատացման ծառայությունն եք ցանկանում օգտագործել: Ես շատ կառաջարկեի ստեղծել բաց կոդով տան ավտոմատացման հարթակ, բայց եթե դա շատ բարդ է, կան ավելի պարզ լուծումներ, ինչպիսիք են Google Assistant- ը և IFTTT Webhook- ը, կամ Zigbee խելացի վարդակների օգտագործումը:

Այս նախատիպի ամբողջական իրականացումը կարելի է գտնել Github պահոցում.

github.com/vuva/IndoorClimateControl

Զվարճանալ !!!

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