Съдържание:
- Стъпка 1: Хардуер
- Стъпка 2: Окабеляване на Raspbery Pi
- Стъпка 3: Събиране на данни от сензорите
- Стъпка 4: Настройване на услугата за домашна автоматизация
- Стъпка 5: Резултати
- Стъпка 6: Заключение
Видео: Raspberry Pi Вътрешна система за мониторинг и контрол на климата: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Хората искат да се чувстват комфортно в къщата си. Тъй като климатът в нашия район може да не ни подхожда, ние използваме много уреди за поддържане на здравословна вътрешна среда: нагревател, охладител на въздуха, овлажнител, изсушител, пречиствател и т.н. режим, за да усетят околната среда и да се контролират. Въпреки това:
- Много от тях са надценени/ не си заслужават парите.
- Техните електрически вериги са по -лесни за счупване и подмяна по -трудно от конвенционалните механични части
- Уредите трябва да се управляват от приложението на производителя. Обичайно е да имате няколко интелигентни уреди в дома си и всеки от тях има свое собствено приложение. Тяхното решение е да интегрират приложението в платформи като Alexa, Google Assistant и IFTTT, така че да имаме "централизиран" контролер
- Най -важното е, че производителите разполагат с нашите данни, а Google/Amazon/IFTTT/etc имат нашите данни. Ние не. Може да не ви е грижа за поверителността, но понякога всички може да искаме да разгледаме модела на влажност в спалнята ви, например, за да решим по кое време да отваряме прозорците.
В този урок изграждам прототип на сравнително евтин вътрешен климатичен контролер на базата на Raspberry Pi. RPi комуникира с периферните устройства чрез SPI/I2C/USB интерфейси:
- За събиране на температура, влажност и налягане на въздуха се използва атмосферен сензор.
- Високоточен сензор за качество на въздуха осигурява данни за атмосферни частици (PM2.5 и PM10), използвани за изчисляване на индекса за качество на въздуха (AQI)
Контролерът обработва получени данни и задейства действия на устройството, като изпраща заявки до услугата за автоматизация на IFTTT Webhook, която контролира поддържаните WiFi Smart щепсели.
Прототипът е изграден по такъв начин, че лесно може да се добавят други сензори, уреди и услуги за автоматизация.
Стъпка 1: Хардуер
Препоръчителният хардуер за изграждане на това:
- Raspberry Pi (всяка версия) с WiFi. Изграждам това с помощта на RPi B+. RPi ZeroW би се справил добре и струва ~ 15 $
- BME280 сензор за температура, влажност, налягане на въздуха ~ 5 $
- A Нова SDS011 Високоточен лазерен PM2.5/PM10 сензор за откриване на качеството на въздуха Модул ~ 25 $
- LED/LCD дисплей. Използвах SSD1305 2.23 инчов OLED екран ~ 15 $
- Някои WiFi/ZigBee/Z-Wave интелигентни гнезда. 10-20 $ всеки
- Пречиствател на въздух, овлажнител, изсушител, нагревател, охладител и др. С механични превключватели. Например, използвах евтин пречиствател на въздух, за да направя този урок
Горната обща цена е <100 $, много по -малко от, да речем, интелигентен пречиствател, който лесно може да струва 200 $.
Стъпка 2: Окабеляване на 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
Забавлявай се !!!
Препоръчано:
СИСТЕМА ЗА ФАКТУРИРАНЕ И СИСТЕМА ЗА КОНТРОЛ НА ИНВЕНТАРИ: 3 стъпки
СИСТЕМА ЗА ФАКТУРИРАНЕ И СИСТЕМА ЗА КОНТРОЛ НА ИНВЕНТАЦИИТЕ: С тези инструкции ще ви дам идея за създаване на система за контрол на фактури и запаси. Използвайки MS достъп. Много е лесно и не се нуждаете от повече познания за компютър или програмиране. Ако имате основни познания за Ms Достъп, таблици. формуляри и отчети t
RC автомобил с Bluetooth контрол с контрол на скоростта и измерване на разстоянието: 8 стъпки
RC автомобил с Bluetooth контрол с контрол на скоростта и измерване на разстоянието: Като дете винаги съм бил очарован от RC колите. В днешно време можете да намерите много уроци, за да направите сами евтини RC автомобили с Bluetooth, с помощта на Arduino. Нека направим още една крачка напред и използваме нашите практически познания по кинематика, за да изчислим
Система за вътрешен мониторинг на климата на базата на Raspberry Pi: 6 стъпки
Система за наблюдение на климата на закрито на базата на Raspberry Pi: Прочетете този блог и изградете своя собствена система, така че да можете да получавате сигнали, когато стаята ви е твърде суха или влажна. Какво представлява системата за мониторинг на климата в помещенията и защо се нуждаем от такава? осигурете бърз поглед към ключовите климатични отношения
Система за мониторинг и контрол на Hydroponics Blynk: 4 стъпки
Система за мониторинг и контрол на Hydroponics Blynk: В този проект създадох система за контрол, която следи и контролира всички аспекти на средно голяма система за приливи и отливи на хидропоника. Стаята, за която я построих, използва 4 x 4'x4 '640W LM301B 8 барова система. Но тези инструкции не са за моите светлини. Аз
Контрол на яркостта ШИМ базиран LED контрол с помощта на бутони, Raspberry Pi и надраскване: 8 стъпки (със снимки)
Контрол на яркостта PWM управление на LED управление с помощта на бутони, Raspberry Pi и Scratch: Опитвах се да намеря начин да обясня как PWM работи на моите ученици, затова си поставих задачата да се опитам да контролирам яркостта на светодиода с помощта на 2 бутона - единият бутон увеличава яркостта на светодиода, а другият го затъмнява. Към програмата