Съдържание:

Raspberry Pi Вътрешна система за мониторинг и контрол на климата: 6 стъпки
Raspberry Pi Вътрешна система за мониторинг и контрол на климата: 6 стъпки

Видео: Raspberry Pi Вътрешна система за мониторинг и контрол на климата: 6 стъпки

Видео: Raspberry Pi Вътрешна система за мониторинг и контрол на климата: 6 стъпки
Видео: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, Ноември
Anonim
Raspberry Pi Система за вътрешен мониторинг и контрол на климата
Raspberry Pi Система за вътрешен мониторинг и контрол на климата
Raspberry Pi Система за вътрешен мониторинг и контрол на климата
Raspberry Pi Система за вътрешен мониторинг и контрол на климата

Хората искат да се чувстват комфортно в къщата си. Тъй като климатът в нашия район може да не ни подхожда, ние използваме много уреди за поддържане на здравословна вътрешна среда: нагревател, охладител на въздуха, овлажнител, изсушител, пречиствател и т.н. режим, за да усетят околната среда и да се контролират. Въпреки това:

  • Много от тях са надценени/ не си заслужават парите.
  • Техните електрически вериги са по -лесни за счупване и подмяна по -трудно от конвенционалните механични части
  • Уредите трябва да се управляват от приложението на производителя. Обичайно е да имате няколко интелигентни уреди в дома си и всеки от тях има свое собствено приложение. Тяхното решение е да интегрират приложението в платформи като Alexa, Google Assistant и IFTTT, така че да имаме "централизиран" контролер
  • Най -важното е, че производителите разполагат с нашите данни, а Google/Amazon/IFTTT/etc имат нашите данни. Ние не. Може да не ви е грижа за поверителността, но понякога всички може да искаме да разгледаме модела на влажност в спалнята ви, например, за да решим по кое време да отваряме прозорците.

В този урок изграждам прототип на сравнително евтин вътрешен климатичен контролер на базата на Raspberry Pi. RPi комуникира с периферните устройства чрез SPI/I2C/USB интерфейси:

  • За събиране на температура, влажност и налягане на въздуха се използва атмосферен сензор.
  • Високоточен сензор за качество на въздуха осигурява данни за атмосферни частици (PM2.5 и PM10), използвани за изчисляване на индекса за качество на въздуха (AQI)

Контролерът обработва получени данни и задейства действия на устройството, като изпраща заявки до услугата за автоматизация на IFTTT Webhook, която контролира поддържаните WiFi Smart щепсели.

Прототипът е изграден по такъв начин, че лесно може да се добавят други сензори, уреди и услуги за автоматизация.

Стъпка 1: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер

Препоръчителният хардуер за изграждане на това:

  1. Raspberry Pi (всяка версия) с WiFi. Изграждам това с помощта на RPi B+. RPi ZeroW би се справил добре и струва ~ 15 $
  2. BME280 сензор за температура, влажност, налягане на въздуха ~ 5 $
  3. A Нова 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 интерфейс.

OLED HAT на Waveshare може да бъде прикрепен върху GPIO, но имате нужда от GPIO сплитер, за да го споделите с други периферни устройства. Може да се конфигурира да използва I2C чрез запояване на резисторите на гърба.

Допълнителна информация за SSD1305 OLED HAT можете да намерите тук.

И двата интерфейса I2C и SPI трябва да бъдат активирани в RPi с:

sudo raspi-config

Сензорът за прах Nova SDS011 е свързан към RPi чрез USB порт (със сериен USB адаптер).

Стъпка 3: Събиране на данни от сензорите

Атмосферните данни, които изглеждат доста ясни, се събират от сензора BME280 от скрипта на python.

21-ноември-20 19:19:25-INFO-компенсирано четене (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, времева марка = 2020-11-21 19: 19: 25.604317, температура = 20.956 ° C, налягане = 1019.08 hPa, влажност = 49.23 % rH)

Данните от сензора за прах се нуждаят от малко повече обработка. Сензорният модул засмуква някои въздушни проби, за да открие частици, така че трябва да работи известно време (30s), за да има надеждни резултати. От моето наблюдение взема предвид само средната стойност на последните 3 проби. Процесът е наличен в този скрипт.

21 -ноември -20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9

21-ноември-20 19:21:09- DEBUG- 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- DEBUG- 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 - DEBUG - 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 - 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: Настройване на услугата за домашна автоматизация

Настройване на услугата за домашна автоматизация
Настройване на услугата за домашна автоматизация
Настройване на услугата за домашна автоматизация
Настройване на услугата за домашна автоматизация

Има много платформи за домашна автоматизация и трябва да инсталирате платформата, която се поддържа от интелигентния гнездо, което имате. Ако се интересувате от поверителност, трябва да настроите своя собствена система. В противен случай можете да използвате популярните платформи, които се поддържат от повечето 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

Забавлявай се !!!

Препоръчано: