Система проветривания комнаты на основе «малинки» и «детектора со2»

Система проветривания комнаты на основе «малинки» и «детектора со2»

Мода на умные дома захлестнула целый интернет, любой в наше время желает сделать лампочку, которая может выключаться через интернет либо пощёлкать вентилятором в туалете. Мой опыт был достаточно несложен: я желал сделать совокупность, которая может машинально проветривать помещение, ни больше, ни меньше.
Смотрите кроме этого: Raspberry Pi 3 обзаведется Wi-Fi, Bluetooth LE — первые фото мини-ПК уже в Сети

Пару дней назад в Сети показались первые фотографии «малинки» третьего поколения, Raspberry Pi 3. Это будет первый недорогой мини-ПК на базе ARM со встроенными модулями беспроводной связи. В прошлых предположениях «малинки» пользователям приходилось додавать USB Wi-Fi адаптеры либо трудиться с Ethernet интерфейсом. Скоро обстановка обязана измениться: Raspberry Pi 3, "Наверное," уже на пути к потребителям. Информация о третьей «малинке» поступила из первых рук — от FCC.

Показались результаты опробований мини-ПК новой модели.

По окончании обдумывания принципа работы совокупности пришел к некоторым выводам, каковые и решил реализовать. По задумке, целый функционал совокупности делится на три составляющие: «мозги» каковые всем руководят, совокупность открывания форточки/либо сам датчик и включение вентилятора что смотрит за качеством воздуха в помещении.

Вот о сенсоре качества воздуха потом я и поведаю, плюс мало затрону тему интеграции его с “мозгами” умного дома.Обзор девайсаКачество “свежести” воздуха я решил осуществлять контроль по концентрации углекислого газа. В замыслах на будущее – запуск датчиков на аммиак, пропан/бутан (утечки газа), концентрации пыли в воздухе и т.д.Совокупность вентилирования было решено разместить в какой-нибудь жилой комнате, где человек проводит максимально большое количество времени.

Возможно, таковой помещением есть спальня, и именно там автоматическая совокупность проветривания будет весьма кстати на протяжении ночного сна. Общеизвестно, что концентрация углекислого газа в воздухе очень сильно воздействует не только на продуктивность людской мозга, на работоспособность человека, и на возможность как следует отдохнуть. Чем выше концентрация СО2, тем хуже.

В качестве прибора измерителя концентрации углекислого газа был использован Детектор углекислого газа компании Даджет. Это устройство может приобретать энергию от USB-порта компьютера либо ноутбука. На лицевой панели — ЖК индикатор, где отображается информация о концентрации углекислого газа и температуре окружающего воздуха.

Кроме этого имеется 3 светодиода каковые дают пользователю наглядное представление о содержании. Все достаточно – девайс. И все трудится. Меня привлекло то, что имеется софт, что трудится с данным девайсом. Софт имеется как под Windows, так и под Linux. Исходники программы под Linux имеется на github и наподобие как написаны отечественным соотечественником.

А вдруг имеется исходники возможно что-то придумать, доработать, «заточить» программу под себя.Обзор схемы работыКак продемонстрировала практика и гугление, устройство видется компьютером, как HID устройство. Исходя из этого в программе для Windows имеется dll называющиеся HIDApi. Для работы с Linux нужна одноименная библиотека HIDApi.

Мной была произведена доработка исходников linux софта и написан простенький скрипит.Понятное дело, что применять компьютер с линуксом для считывания данных с сенсора и их предстоящей передачей данных куда-то в том месте на контроллер умного дома, это святотатство. Исходя из этого было решено задействовать Raspbery pi с установленным чистым Debian.

В будущем планируется сделать всё на Arduino и передавать через беспроводные каналы.Схема работы моего программно-аппаратного комплекса выглядит следующим образом: заядлый гик и Понятливый читатель может поразмыслить, что не весьма спортивно применять в данной схеме HUB. Всё правильно, возможно напрямую подключить СO2 монитор и радоваться жизни.

Применяя такую схему я решаю пара задач сходу:? значительно чаще мозги умного дома находится не в том месте где стоит датчик;? применение raspberry pi даёт возможность подключать дополнительные датчики;? размещая датчик раздельно, приобретаем два метода индикации, первый на экране датчика, второй на телефоне либо через веб страницу, потому, что эти транслируются на контроллер.В качестве контроллера умного дома употребляется девайс компании MicasaVerde, устройство может собирать эти с датчиков и принимать решения в соответствии с заданной программе каковые в её терминологии именуются “сцены”. В девайсе возможно создать виртуальные датчики и обновлять их данные посредством http запросов, что я и делал посредством raspberry pi.

Пример запроса:ip_address:3480/data_request?id=variablesetDeviceNum=6serviceId=urn:micasaverde-com:serviceId:DoorLock1Variable=StatusValue=1Другими словами, «малинка» считывает эти с детектора углекислого газа, а дальше передаёт эти http запросом на Vera. Схема несложная, но рабочая.Доработка софтаИтак имеется «малинка», не имеет значение какой версии, основное дабы на ней был сетевой интерфейс.Потом нужно установить помощь hid устройств.

Эта библиотека берётся с git, исходя из этого должен быть установлен git на «малинке»:apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-devДалее качаем и ставим саму библиотекуmkdir hidapicd hidapi/git initgit clone github.com/signal11/hidapi.gitДополнительные библиотекиsudo apt-get install libudev-dev libusb-1.0-0-dev libfox-1.6-dev autotools-dev autoconf automake libtoolУстанавливаемcd hidapi/./bootstrap./configuremakesudo make installПосле этого качаем исходники программы CO2 monitormkdir co2monitorcd co2monitorgit на данный момент clone github.com/dmage/co2mon.gitДалее я мало подправил код программы, в изначальном варианте она считывает два параметра (температуру и co2) и в нескончаемом цикле отправляет в консоль. Мне таковой вариант не доходил, цель была один раз запустить и один раз взять значение, исходя из этого поменял две строки в файле main.c.Ищем строчкиprintf(«CntR\t%s\n», buf);fflush(stdout);И меняем наprintf(“%s\n, buf);fflush(stdout);exit(1);Первая строки несёт ответственность за вывод значение, по окончании трансформации будет выводится лишь цифра, и по окончании вывода программа будет закрываться, отвечает строка exit(1).Компилируемcmake…makeДалее был написан простенький скрипт, что запускает программу, значения вывода программы скомпилированной выше присваивает переменной и потом это значение посредством curl передаёт на MicasaVerde.

Затем добавим правило udev, дабы совокупность имела доступ к датчику без root.SUBSYSTEM==«usb», ATTR{idVendor}==«04d9», ATTR{idProduct}==«a052», MODE=«0666»И добавим передачи и скрипт опроса в cron, на кажду 60 секунд.crontab -eИ добавляем строчок* * * * * /home/pi/co2sender.shРезультат работы скриптаКонечно будет необходимо ещё настроить файлы MicasaVerde, дабы везде были адекватные записи. Но оно трудится, скоро и просто.ВыводВ итоге имеем совокупность, основанную на «Детекторе СО2», которая трудится как и всегда, разбирает и информирует об трансформациях концентрации углекислого газа. Наряду с этим «малинка» считывает эти с датчика раз в 60 секунд и передает на контроллер умного дома, что может включить совокупность проветривания при необходимости.

Случайная статья:

DETECTOR CO2 WITH MIKROCONTROLER ARDUINO UNO


Похожие статьи:

Комментирование и размещение ссылок запрещено.

Обсуждение закрыто.