2016-09-18

Мониторинг микроклимата помещения

Интернет вещей

Интернетом вещей балуюсь уже давно, еще со времен появления первых версий Raspberry Pi.
В блог об интернете вещей еще не приходилось писать, но, думаю, пора это исправить.
Так что же это такое? В Википедии как-то непонятно описано. Интернетом вещей я называю различные устройства (вроде Raspberry Pi, Arduino, ESP и подобных), а так же их взаимодействие с датчиками, сенсорами, исполнительными устройствами и между собой посредством беспроводных технологий или интернета. Все же, в основе, именно взаимодействие через интернет или с помощью беспроводных технологий, а в качестве контроллера может выступать даже компьютер.

Мониторинг климата

Пожалуй, самым частым проектом новичков в области интернета вещей является погодная станция. В основе ее, обычно, используется датчик DHT11/DHT22, измеряющий температуру и влажность, ну или просто какой-то датчик температуры. В качестве "мозгов" используют либо плату Arduino, либо ESP8266.
И меня не обошел подобный опыт. Давно собирал свою погодную станцию и измерял температуру и влажность на работе. Данные отправлял в thingspeak.com.
Недавно пришел датчик CO2, решил возродить и улучшить проект.

Углекислый газ CO2

Помимо температуры и влажности, на комфорт влияет уровень CO2. В интернете полно информации о влиянии CO2 на здоровье человека.



Проект



Что использовалось:

NodeMCU ESP8266 v0.9
Плата с контроллером ESP8266, имеет USB-порт для удобного подключения к компьютеру. Пины выведены для удобства прототипирования. Управляющий код ESP8266 может быть написан на C, Lua, с помощью Arduino IDE и даже на JavaScript.

LCD 16x2 I2C
Простой ЖК-экран 16х2 символов. Работает по интерфейсу I2C, то есть достаточно двух проводов.

DHT11
Датчик температуры и влажности. Данные передаются всего по одному контакту.

MH-Z19 CO2
Датчик CO2. Можно взаимодействовать как с помощью ШИМ, так и по последовательному интерфейсу.

thingspeak.com
Сайт для принятия и отрисовки данных на графиках. Можно создавать разные каналы и поля в каждом. Для проекта достаточно одного канала и четырех полей.



Программирование контроллера было сделано с помощью Arduino IDE.

Проект на GitHub: https://github.com/asvavilov/iot-climate