Контроль якості повітря (со2 і температури) в офісі і вдома, своїми руками

Все почалося з того що я працюю в офісі, де як водиться немає нормальної вентиляції. Зате є багато людей, кому-то весь час жарко, іншим постійно дме.

Для контролю якості повітря в приміщенні знати температуру недостатньо. Навіть з кондиціонером часто буває прохолодно, але душно. Сперте повітря. Виявилося, на це найбільше впливає концентрація со2. Коли я дізнався вартість готових приладів хотів від цієї ідеї відмовитися. Але випадково побачив опис оптичного датчика концентрації со2 MH-Z19.

Ціна звичайно теж не маленька, але все-таки близько до розумних меж. І давно свербіли руки за паяльнику. В якості контролера використовувати вирішив ESP8266. По перше дешево, по-друге, що б передавати інформацію на комп'ютер, свій і будь-якого охочого в кімнаті. Після того як зібрав і оттестировал перший варіант, з програмою-монітором на комп'ютері, вирішив додати екран. По-перше, це красиво. По-друге, у багатьох випадках зручно.

image

Пристрій побудований на модулі ESP8266 NodeMcu Lua wi-fi. Для нього була написана програма на скриптовом мовою LUA. Прошивку для інтерпретатора Lua під моє пристрій згенерувати на on-line сервері nodemcu-build.com. Вибрав там тільки ті модулі, які мені були необхідні для створення проекту.

Далі я взявся за складання пристрою. Підключив датчики температури. ds18b20. Вони працюють по інтерфейсу 1-wire:

image

Потім власне датчик вуглекислого газу MH-Z19. Він може використовувати два інтерфейсу ШІМ і UART. Я вирішив спочатку спробувати ШІМ, і в результаті він мене задовольнив по надійності і точності показань.

image

І підключив дисплей по шині ISP:

image

Була написана ось така програма під Windows. На Delphi XE8:

image

Використовуваний мною контролер має вбудований модуль WIFI, який розсилає отриману з датчиків інформації як UDP broadcast пакети по всій мережі офісу. І користувачі, у яких варто програма монітор, отримують інформацію про стан повітря в приміщенні і попередження, якщо ситуація стає критичною.

А тепер власне враження.

Прилад виявився набагато корисніше і цікавіше, ніж я очікував. По-перше, більше немає проблем з провітрюванням, ніхто не обурюється, так як у всіх вискакує попередження і вони досить добре узгоджуються з особистими відчуттями. Ну і просто спостереження показали, що в сонячний день рівень со2 значно нижче ніж у похмурий і дощовий, вранці забрудненість повітря вище ніж вдень. З першого погляду можна зрозуміти що робити, провітрювати, якщо зашкалює со2, або включити кондиціонер, якщо підвищена температура. Датчик температури на вулиці добре показує вийде охолодити провітрюванням, або тільки кондиціонер. Стало очевидним і зрозумілим, що діється в кімнаті і в цьому жити. Був випадок коли вирішили провітрити, відкрили вікно, і тут же закрили його, датчик буквально зашкалило, І вдома прилад виявився дуже корисним, особливо в дитячій кімнаті, тим більше, що за показаннями можна стежити віддалено через WiFi.

В результаті все це виглядає приблизно так:



Тут посилання на джерело і все що необхідно для повторення даної конструкціїUSB драйвер для Windows: www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
Програма для прошивки ESP8266: github.com/nodemcu/nodemcu-flasher
Прошивка MCU lua: drive.google.com/file/d/0B4KYGXb6-nxpOUdXdTFpcjlFZXM/view

Тут можна взяти скрипти lua: drive.google.com/file/d/0B4KYGXb6-nxpeGNNbGM0U2g2dEU/view
ESPlorer для завантаження скриптів на esp8266 і відладки: esp8266.ru/esplorer/#download

Windows додаток написано на Delphi XE8. Тут джерело: drive.google.com/file/d/0B4KYGXb6-nxpei1RUWhHVXV5aTQ/view

Необхідні додаткові компоненти:

JEDI:

wiki.delphi-jedi.org/index.php?title=JEDI_Code_Library
sourceforge.net/projects/jvcl/files

SDL Delphi Component Suite:

www.lohninger.com/sdlindex.html

Скомпільована програма для windows: drive.google.com/file/d/0B4KYGXb6-nxpUmVXcElLektOQXM/view

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.