Мазмұны:

Raspberry Pi климаттың мониторингі мен бақылау жүйесі: 6 қадам
Raspberry Pi климаттың мониторингі мен бақылау жүйесі: 6 қадам

Бейне: Raspberry Pi климаттың мониторингі мен бақылау жүйесі: 6 қадам

Бейне: Raspberry Pi климаттың мониторингі мен бақылау жүйесі: 6 қадам
Бейне: И ЭТО ТОЖЕ ДАГЕСТАН? Приключения в долине реки Баараор. БОЛЬШОЙ ВЫПУСК (Путешествие по Дагестану #3) 2024, Қараша
Anonim
Raspberry Pi климаттың мониторингі мен бақылау жүйесі
Raspberry Pi климаттың мониторингі мен бақылау жүйесі
Raspberry Pi климаттың мониторингі мен бақылау жүйесі
Raspberry Pi климаттың мониторингі мен бақылау жүйесі

Адамдар өз үйінде жайлы болғысы келеді. Біздің аймақтың климаты өзімізге сәйкес келмейтіндіктен, біз ішкі ортаны сау ұстау үшін көптеген құрылғыларды қолданамыз: жылытқыш, ауа салқындатқыш, ылғалдандырғыш, құрғатқыш, тазартқыш және т. қоршаған ортаны сезіну және өзін -өзі бақылау режимі. Алайда:

  • Олардың көпшілігі қымбатқа түседі/ ақшаға тұрмайды.
  • Олардың электр тізбектері кәдімгі механикалық бөлшектерге қарағанда оңай бұзылады және ауыстырылуы қиын
  • Құрылғыларды өндірушінің қолданбасы басқаруы керек. Үйде бірнеше ақылды құрылғылар бар және олардың әрқайсысының өз қосымшасы бар. Олардың шешімі - бұл бағдарламаны Alexa, Google Assistant және IFTTT сияқты платформаларға біріктіру, осылайша бізде «орталықтандырылған» контроллер болады.
  • Ең бастысы, өндірушілер біздің деректерімізге ие, ал Google/Amazon/IFTTT/etc біздің деректерімізге ие. Біз жоқ. Сіз жеке өмірге мән бермеуіңіз мүмкін, бірақ кейде барлығымыз сіздің жатын бөлмеңіздің ылғалдылығына қарап, мысалы, терезелерді қай уақытта ашу керектігін шешкіміз келеді.

Бұл оқулықта мен салыстырмалы түрде арзан Raspberry Pi негізіндегі жабық климаттық контроллердің прототипін құрамын. RPi сыртқы құрылғылармен SPI/I2C/USB интерфейстері арқылы байланысады:

  • Атмосфералық сенсор температураны, ылғалдылықты және ауа қысымын жинау үшін қолданылады.
  • Жоғары дәлдіктегі ауа сапасы сенсоры ауа сапасының индексін (AQI) есептеу үшін пайдаланылатын атмосфералық бөлшектерді (PM2.5 және PM10) береді.

Контроллер WiFi Smart штепсельдерін басқаратын IFTTT Webhook автоматтандыру қызметіне сұрау жіберу арқылы алынған деректерді өңдейді және құрылғы әрекеттерін іске қосады.

Прототип басқа датчиктерді, құрылғыларды және автоматтандыру қызметтерін оңай қосатын етіп жасалған.

1 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Мұны жасау үшін ұсынылған жабдық:

  1. WiFi бар Raspberry Pi (кез келген нұсқасы). Мен мұны RPi B+көмегімен құрамын. RPi ZeroW өте жақсы жұмыс істейді және ~ 15 доллар тұрады
  2. Температура, ылғалдылық, ауа қысымына арналған BME280 датчигі ~ 5 доллар
  3. A Nova SDS011 жоғары дәлдіктегі лазерлік PM2.5/PM10 ауа сапасын анықтау датчигі модулі ~ 25 $
  4. Жарықдиодты/СКД дисплей. Мен SSD1305 2.23 дюймдік OLED экранды қолдандым ~ 15 доллар
  5. Кейбір WiFi/ZigBee/Z-Wave ақылды розеткалары. Әрқайсысы 10-20 доллар
  6. Механикалық қосқыштары бар ауа тазартқыш, ылғалдандырғыш, ылғалдандырғыш, жылытқыш, салқындатқыш және т.б. Мысалы, мен бұл оқулықты жасау үшін арзан ауа тазартқышты қолдандым

Жоғарыда келтірілген жалпы құны <100 доллар, бағасы 200 доллар тұратын ақылды тазартқыштан әлдеқайда аз.

2 -қадам: Raspbery Pi -ді қосу

Raspbery Pi -ді қосу
Raspbery Pi -ді қосу

Электр схемасы BME280 сенсорымен I2C интерфейсін қолдана отырып, RPi -ді қалай қосуға болатынын және SPI интерфейсін қолдана отырып OLED дисплейін HAT көрсетеді.

Waveshare OLED HAT GPIO үстіне бекітілуі мүмкін, бірақ оны басқа перифериялық қондырғылармен бөлісу үшін сізге GPIO бөлгіш қажет. Оны I2C пайдалану үшін артқы жағындағы резисторларды дәнекерлеу арқылы конфигурациялауға болады.

SSD1305 OLED HAT туралы қосымша ақпаратты мына жерден табуға болады.

I2C және SPI интерфейстері RPi -де қосылуы керек:

sudo raspi-config

Nova SDS011 шаң датчигі RPi-ге USB порты арқылы қосылады (сериялық-USB адаптерімен).

3 -қадам: сенсорлардан мәліметтер жинау

Атмосфералық деректер қарапайым болып көрінеді, BME280 сенсорынан питон сценарийінен жиналады.

21-қараша-20 19:19:25-INFO-өтелетін_оқу (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, уақыт белгісі = 2020-11-21 19: 19: 25.604317, температура = 20.956 ° C, қысым = 1019.08 гПа, ылғалдылық = 49.23 % rH)

Шаң датчигінің деректері біраз өңдеуді қажет етеді. Сенсорлық модуль бөлшектерді анықтау үшін кейбір ауа үлгілерін сорады, сондықтан сенімді нәтижеге қол жеткізу үшін ол біраз уақыт (30с) жұмыс істеуі керек. Менің бақылауым бойынша, мен соңғы 3 үлгінің орташа мәнін ғана есептеймін. Процесс осы сценарийде қол жетімді.

21 -Қараша -20 19:21:07 - ҚАТЕСТІРУ - 0. PM2.5: 2.8, PM10: 5.9

21-Қараша-20 19:21:09- ҚАТЕСТІК- 1. PM2.5: 2.9, PM10: 6.0 21-Nov-20 19:21:11- DEBUG- 2. PM2.5: 2.9, PM10: 6.0 21- Қараша-20 19:21:13- ҚАТЕСТІК- 3. PM2.5: 2.9, PM10: 6.3 21-Nov-20 19:21:15- DEBUG- 4. PM2.5: 3.0, PM10: 6.2 21-Nov- 20 19:21:17 - ҚАТЕСТІК - 5. PM2.5: 2.9, PM10: 6.4 21 -Nov -20 19:21:19 - Debug - 6. PM2.5: 3.0, PM10: 6.6 21 -Nov -20 19: 21: 21 - ҚАТЕҢДЕУ - 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 - ҚАТЕСТІК - 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 - ҚАТЕСТІК - 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 -Nov -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 -қадам: Үйде автоматтандыру қызметін орнату

Үйде автоматтандыру қызметін орнату
Үйде автоматтандыру қызметін орнату
Үйде автоматтандыру қызметін орнату
Үйде автоматтандыру қызметін орнату

Үйде автоматтандырудың көптеген платформалары бар және олар сізде ақылды розетка қолдайтын платформаны орнатуы керек. Егер сіз жеке өмірге қатысты болсаңыз, өзіңіздің жеке жүйеңізді орнатуыңыз керек. Әйтпесе, сіз көптеген WiFi ақылды розеткалары қолдайтын танымал платформаларды пайдалана аласыз: Google Assistant, Alexa немесе IFTTT. Өзара әрекеттесу үшін API бар розетка платформасын таңдауға тырысыңыз (Webhook бұл үшін өте қолайлы)

Мен IFTTT -ді осы оқулықта қолданамын, себебі оны жаңадан бастаушылар үшін де қолдану өте оңай. Есіңізде болсын: 1. IFTTT -ті қолдамайтын көптеген ақылды розеткалар бар. 2. Мен мұны жазған кезде, IFTTT тек 3 апплет (автоматтандыру тапсырмалары) жасауға мүмкіндік береді, бұл тек 1 -ге жетеді. құрылғы.

Бұл қадамдар:

1. Webhook қызметін пайдаланып, құралды қосу және өшіру үшін IFTTT бағдарламасында екі апплет жасаңыз. Толық ақпаратты мына жерден табуға болады.

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

Масайрау !!!

Ұсынылған: