Mt8057s подключение к компьютеру
Известно, что в процессе дыхания человек потребляет кислород (О2) и выдыхает углекислый газ (СО2). Естественно, что через какое-то время концентрация О2 в помещении снижается, а СО2 – повышается. Если в комнате или в офисе находится много людей, то очень скоро становится буквально нечем дышать.
Раньше из старых деревянных окон поддувало, и помимо очевидных минусов тем самым обеспечивалась естественная вентиляция помещения: приток кислорода и удаление углекислого газа. Бич современных квартир и офисов – это их герметичность: сейчас при закрытых пластиковых окнах нормальный воздухообмен в комнате не происходит. Кондиционеры и вентиляторы не решают эту проблему, так как подавляющее большинство этих приборов не обеспечивают приток свежего воздуха с улицы, а охлаждают и перемешивают воздух внутри помещения. Решением может быть только периодическое проветривание помещения.
Проблема усугубляется ещё и тем, что человек не всегда понимает, что качество воздуха критически низкое. Вы можете чувствовать усталость, вялость, головную боль, снижение работоспособности – но объяснять это чем угодно, но не плохим качеством воздуха.
К счастью, есть прибор, который подскажет Вам, что пора проветрить помещение – детектор углекислого газа MT8057s.
Первые версии MT8057 обеспечивали только визуальную индикацию качества воздуха – с помощью дисплея и трёх разноцветных светодиодов. На дисплее отображается точная концентрация СО2, а светодиод позволяет быстро оценить качество воздуха: зелёный – всё в порядке, жёлтый – концентрация СО2 повышена, красный – углекислого газа очень много. Очевидным недостатком являлось то, что легко было забыть посмотреть на прибор и не принять никаких мер при повышении уровня СО2.
С 2019 года выпускается новая версия прибора с индексом «s» в артикуле («sound» - звук) MT8057s. Эта модель дополнена звуковым модулем, который срабатывает в случае превышения заданного уровня СО2. Тем самым новый прибор стал гораздо удобнее в использовании. Однако и старая, и новая версии детекторов углекислого газа только сигнализируют о наличии проблемы и побуждают человека принять меры к её устранению (проветрить комнату). Многим же клиентам хотелось полной автоматизации процесса: чтобы прибор мог сам в случае необходимости включить вентилятор или иной механизм, обеспечивающий приток свежего воздуха.
Штатной возможности подключения внешних устройств в МТ8057s нет, да и вообще CO2-анализаторы с возможностью управления внешней нагрузкой относят к промышленным решениям с соответствующим негуманным ценником.
Но есть возможность реализации подобной функции с помощью несложной доработки МТ8057s – она под силу любому человеку, имеющему хотя бы минимальные навыки пайки и сборки простых схем. Прибор придётся открыть и подпаять к нему несколько проводов, но если сделать всё аккуратно, то гарантия на него сохранится.
Итак, приступим к доработки. Вначале пластиковой картой или металлической лопаткой необходимо поддеть заднюю крышку прибора и снять её. Не потеряйте при этом два пластиковых толкателя кнопок!
На фото3 показан детектор MT8057s со снятой задней крышкой.
Необходимые нам сигналы можно снять со звукового модуля.
В зависимости от уровня СО2 меняются напряжения на шине DATA:
- при нормальном уровне СО2 горит зелёный светодиод, на линиях DATA Y и R – 0В;
- при повышенном уровне СО2 горит жёлтый светодиод, на линии DATA Y – 3.2В, на DATA R – 0В;
- при высоком уровне СО2 горит красный светодиод, на линии DATA Y – 0В, на DATA R – 3.2В.
Теперь достаточно подключить к MT8057 внешнее реле, простейшая схема.
Сначала подберите реле необходимой мощности. Если реле будет с обмоткой 5В (например, Мастер Кит DK0116), то запитать схему можно непосредственно от MT8057s. Если же обмотка реле будет рассчитана на 12В (например, реле именитой фирмы Omron DK0114), то потребуется дополнительный адаптер питания 12В (например, Мастер Кит GS12E12). Транзистор в этой схеме может быть практически любой, структуры n-p-n. Убедитесь только, что его допустимый ток коллектора транзистора достаточен для срабатывания обмотки реле. Если ток обмотки реле не превышает 100 мА, подойдёт широко распространённый транзистор BC547 (DK0029 Мастер Кит). Диод VD1 защищает схему от токов самоиндукции, возникающих в моменты срабатывания реле. С этим справится, например, диод 1N5822 (DK0079 Мастер Кит).
Схема блока реле несложная, однако на её сборку требуется время. Для его экономии Вы можете приобрести MT8057s уже в комплекте с одним модулем реле (MT8057s + MP515) либо с четырёхканальным реле (MT8057s + MP701).
Схема подключения MT8057s к модулю реле MP515.
Вы можете использовать для управления внешней нагрузкой как сигнал DATA Y, так и сигнал DATA R (в настройках прибора можно установить пороги срабатывания жёлтого и красного светодиодов). Мощность подключаемой нагрузки не должна превышать 2 кВт. При необходимости можно дополнить схему беспроводным модулем MK324 для удобства принудительного включения/выключения нагрузки.
Схема подключения MT8057s к модулю реле MP701.
Модуль MP701 имеет четыре канала реле, что избыточно для данного применения. Вам может прийти в голову мысль соединить силовые контакты нескольких реле параллельно с целью увеличения мощности коммутации, но это плохая идея: хотя бы потому, что одно реле неизбежно будет срабатывать раньше другого (пусть даже на несколько долей секунды), что приведёт к подгоранию контактов в моменты переключения нагрузки. Поэтому мы будем использовать два из четырёх каналов управления – первый и четвёртый. При достижении уровня СО2 до первого порогового уровня (загорания жёлтого светодиода) будет включаться вентилятор №2, а при ещё более высокой концентрации углекислого газа (когда загорится красный светодиод) включится вентилятор №1.
Несколько советов по окончательной сборке системы. При использовании тонких проводов их можно пропустить через отверстия вентиляционной решётки MT8057s, тогда задняя крышка прибора закроется чётко на свои посадочные места. Для того, чтобы толкатели кнопок остались на своих местах, при сборке удобно положить заднюю крышку с установленными толкателями на стол и опустить прибор на заднюю крышку до щелчка. Блок реле разместите в корпусе подходящего размера, который также можно приобрести в Мастер Кит. Длина соединительных проводов от MT8057s до блока реле может достигать 10…20 метров.
Следует понимать, что вентиляторы должны обеспечивать приток свежего воздуха с улицы. Если они будут просто гонять воздух внутри комнаты, то уровень СО2 будет снижаться незначительно. Вместо приточных вентиляторов или совместно с ними можно включить актуатор – механизм, который будет открывать окно или фрамугу. Порекомендовать подходящую именно вам конкретную модель механизма сложно, но вам помогут соответствующие форумы в сети Интернет.
Датчик углекислого газа Даджет KIT MT8057S давно зарекомендовал себя как достаточно надежный и недорогой прибор. Один недостаток, на мой взгляд — официально данные с него можно получать только фирменной программой под windows, и никак иначе.
В этой статье рассмотрена отправка данных в IoBroker и Home Assistant.
Потребуется библиотека libhidapi и небольшая программка co2mon, размещена на гитхабе.
Скачиваем и компилируем программу co2mon
Возможно, пути придется подкорректировать под вашу систему.
Программа эта работает в двух режимах — постоянное получение данных в консоли, и в режиме демона. Будучи запущенной без параметров, программа постоянно выводит в консоль текущие показания, пока не будет принудительно закрыта. Немного странное решение, может я не разобрался, но работаем с тем что имеем.
В обоих режимах программа может сохранять данные в текстовые файлы, достаточно добавить ключ -D и указать путь к каталогу.
Я не хотел вешать на и без того слабенький сервер умного дома еще один демон, да и данные об углекислом газе не меняются быстро. Поэтому накидал простенький скрипт, который запускает программу, ждет пять секунд, и убивает ее.
Добавляем скрипт в cron, я запускаю его раз в минуту, этого более чем достаточно.
Готово! Теперь в двух текстовых файлах, которые создает программа, есть текущие показания климата.
Важный момент — для получения данных с usb у пользователя должны быть соответствующие права, или cron надо запускать от root'a, соответственно создаваемые текстовые файлы будут тоже рутовыми, это надо учитывать.
Теперь вторая часть — отправляем полученные данные в системы умного дома. Начнем с IoBroker. Для начала с него, так как на тот момент, когда я задался этой задачей, пользовался им.
Там все просто — есть адаптор systeminfo, который умеет читать в том числе и файлы с файловой системы. Не то, чтобы данные температуры были нужны, но почему бы и нет.
Сохраняем, и вуаля:
А потом я перешел на Home Assistant. В нем я использую mosquitto, и данные решил отправлять через него, нацеливаясь на разделение компьютеров в будущем или добавление датчиков.
Установку и настройку брокера не рассматриваю, это выходит за пределы статьи.
На компьютер, к которому подключен датчик, надо установить клиент mosquitto, если он не стоит:
В конфиг Home Assistant добавляем два сенсора, и перезагружаем:
В скрипт, который получает данные, добавляем четыре строчки:
Готово, вы прекрасны) Теперь наш крон раз в минуту публикует показания датчиков в топик co2, и которого Home Assistant в свою очередь их считывает:
Теперь мы имеем в системе умного дома данные датчиков, и можно запланировать автоматизацию. У меня включается вытяжка, управляемой приточной вентиляции у меня пока нет, но если включить вытяжку, воздух постепенно обновляется.
— Мужик, ты чё? Этим детектором без тебя уже весь ресурс вдоль и поперёк… А тут ещё ты. Сколько можно одну и ту же тему мусолить-то?
— Спокуха, пацаны! Конечно, я не собираюсь повторять уже имеющиеся обзоры. Что это, зачем это, как работает, как пользоваться, что внутри… А органично эти обзоры дополню тем, что предыдущие обзорщики не сделали. А именно, проверю, запустится ли ПО для этого детектора в одном известном НЕэмуляторе (том, который «is not an emulator») и увидит ли висящий на порте прибор. Получится — отлично, не получится — отрицательный результат в науке тоже считается результатом.
Спойлер: я криворук, так что фейл, но найдено другое решение, для которого НЕэмулятор не пригодился.
Ну что, НЕэмулятор у нас бодро качается:
А пока сначала посмотрим вывод lsusb:
Вот то, что от Holtek — это и есть оно. При отключении исчезает. Теперь скачаем ПО, которое мы «скормим» Wine, как только он установится:
ПО скачалось, НЕэмулятор тоже, попробуем запустить одну из программулин:
Никаких установщиков, программа «портативная». Работает сразу, но воткнутый девайс не видит. Попробуем настроить:
Можно попробовать выбрать USB и восемь разных COM-портов. Поначалу я на это купился и попробовал известные способы проброса USB-COM в Wine. При подключении прибора появляется устройство /dev/usb/hiddev0, которое я и принял за такой порт. Но пробросить его не вышло, ибо… Не будем забегать вперёд. Сначала другую программку проверим.
Почти близнец. Только меню чуть отличается. Лезем в настройки:
И результат, разумеется, аналогичен. И неудивительно: само название hiddev0 говорит о том, что это не USB-COM, а USB-HID-устройство. Поиск по форумам показал, что таковые в стабильном Wine не поддерживаются. К тому же, если chmod'ом обеспечить доступ к hiddev0 непривилегированным пользователям, то после каждого отключения и подключения детектора устройство снова становится доступным только руту. Но даже когда оно доступно всем, Wine думает, что его нет.
Запустить Wine от рута? Не рекомендуется, но допустим, этим двум программам я доверяю. Пробую… Облом, НЕэмулятор вообще отказывается под рутом запускаться. Папка .wine не твоя, говорит. Оказывается, надо не sudo wine, а сначала sudo su, потом wine делать, и он в папке /root тоже папку .wine создаст. Только от этого не изменилось ничего.
Что ж, есть ещё нативный линуксовый co2mon. Только скачать его я решил в другом месте — там, где он уже скомпилирован.
После того, как RPM выкачался, я установил его своим любимым способом. А именно, взялся за mc и ручками под рутом раскидал файлы из папки CONTENTS.cpio в архиве по тем папкам файловой системы, где им положено быть.
Запускаем co2mond, а оно хочет libhidapi-libusb0. Немного гугления-яндексения, и выясняется, что для этого надо скормить ему пакет libhidapi-dev:
Пакет бодро ставится, запускаю и вижу:
Ах, да, я же перетыкал устройство. Снова chmod'ом делаю, чтобы hiddev0 был доступен непривилегированным пользователем, запускаю и вижу то же самое. Тогда запускаю co2mond от рута, и — успех!
Пока датчик не разогрет, выводится только Tamb — temperature ambient, как я понял. Как разогреется — ещё и CntR (content of чего-то на R, не знаю синонимов углекислого газа на R).
Если на встроенном дисплее прибор показывает температуру с одним знаком после запятой, то в компьютер выводит аж с четырьмя! Действительно ли там настолько точный термодатчик? Не знаю. Ну а показания содержания углекислого газа приходят с той же точностью, что на встроенном дисплее, только завышенными на несколько единиц.
Вот, собственно, и всё. Оно заработало, но не так, как хотелось бы: та программа, которая «завелась», не выводит графиков. Считать ли это отрицательным результатом, или нет, ведь вытащить данные из прибора удалось? А Wine за годы своего существования весьма «повзрослел». По сравнению с тем, что было несколько лет назад, его просто не узнать, многие программы работают в нём так, как будто написаны специально для него. Только интровертом оказался — с некоторыми желёзками общаться боится. Десятипроцентная скидка на девайс — по ссылке с промокодом TORMOZ CO2.
Таким образом, среднестатистическому Linux-пользователю, подкованному на уровне азов работы с командной строкой, но не умеющему или не желающему возиться с патчами и экспериментальными сборками программ, сопрячь это устройство с компьютером удастся. Но та программа, которая сможет наладить с прибором диалог, будет минималистической. Всё сказанное касается и других устройств того же назначения на том же Holtek'овском чипе.
P.S. Через отверстия для вентиляции видно, как в корпусе прибора периодически вспыхивает… «лампочка Ильича». Я читал об этом в старых обзорах, но думал, что у меня устройство более новой версии, где применён светодиод. Нет. Значит, это принципиально — нужен спектр без «горбов».
Чтобы обеспечить комфортный уровень CO2 необходимо регулярно проветривать помещение или установить систему приточной вентиляции. Но для того, чтобы понимать, когда пора проветривать или на какую мощность включать вентиляцию, необходимо знать уровень концентрации углекислого газа в воздухе. Для этого используются измерители уровня углекислого газа (детекторы CO2).
Уровень углекислого газа на улице составляет 400 ppm и практически не зависит от местоположения - на загазованной улице Москвы и на природе уровень будет практически одинаков. Считается, что уровни CO2 до 700 ppm практически незаметны для человека, а уровень до 1000 ppm допустим. Всё, что выше, уже отрицательно влияет на организм.
Прибор попеременно показывает концентрацию CO2 (15 секунд) и температуру (5 секунд).
Три светодиода (зелёный, жёлтый, красный) показывают уровень комфортности по концентрации углекислого газа. По умолчанию зелёный до 800 ppm, жёлтый 800-1200 ppm, красный - более 1200 ppm. При желании эти диапазоны можно менять.
Когда включён звук, прибор пищит один раз при превышении первого порога (800 ppm по умолчанию) и три раза при превышении второго порога (1200 ppm по умолчанию). Пока концентрация CO2 остаётся превышенной, прибор подаёт звуковой сигнал раз в семнадцать минут при "жёлтом" уровне превышения концентрации CO2 и раз в минуту при "красном" уровне, напоминая о необходимости проветрить помещение.
Сзади две кнопки, с помощью которых выбираются диапазоны индикации, режимы калибровки, высота над уровнем моря и шкала измерения температуры. Длительное нажатие кнопки Enter включает и выключает звук.
Справа разъём MicroUSB.
Прибор комплектуется кабелем USB-MicroUSB, длиной 158 см.
Источника питания в комплекте нет. Прибор можно подключить к любому зарядному устройству с разъёмом USB. Я измерил потребление прибора. Он постоянно потребляет 22 mA, а раз в четыре секунды, когда происходит замер, потребление возрастает до 150 mA на доли секунды. За час прибор потребляет 31 mAh, это означает, что его можно использовать автономно с любым повербанком и проработает он от него очень долго.
Прибор производится компанией ZyAura и отличается от их модели ZGm053U только наличием звукового сигнала. Построен прибор на датчике ZG01C, произведённом этой же компанией. Технология определения уровня CO2 лучшая из всего, что есть - Dual Beam NDIR.
При подключении к компьютеру прибор распознаётся, как стандартное устройство ввода. Программа не требует установки и настройки. Она показывает изменения уровня CO2 и температуры за последний час или за длительный период.
Отлично видно, как за три часа уровень CO2 при закрытой форточке и нахождении в помещении одного человека возрастает с 600 до 1000 ppm, а затем после открывания балконной двери падает до 600 ppm за десять минут.
Я снял небольшое видео, чтобы показать как работает прибор и какие звуковые сигналы он издаёт.
По умолчанию прибор раз в неделю калибрует датчик, поэтому для его правильной работы хотя бы один раз в неделю помещение должно быть проверено так хорошо, чтобы концентрация CO2 в нём сровнялась с уличной.
Детектор углекислого газа Даджет МТ8057 стоит 5450 рублей и это по прежнему самый дешёвый и один из лучших измерителей уровня CO2, да ещё и с возможностью подключения к компьютеру. Для сравнения, самый дешёвый измеритель CO2 без возможности подключения к компьютеру на Aliexpress стоит $87.
В течение 14 дней прибор можно купить здесь ещё на 10% дешевле, использовав промокод AM2
Пока что эти приборы не очень распространены (прежде всего из за высокой стоимости датчика), но я уверен, что измеритель уровня CO2 обязательно должен быть в каждой квартире, а ещё лучше в каждой комнате. Я постоянно пользуюсь измерителем CO2 уже два с половиной года и подарил таких детекторов друзьям и родственникам уже три штуки.
Я считаю, что измеритель CO2 - один из лучших и полезнейших подарков на Новый год.
© 2016, Алексей Надёжин
Чтобы обеспечить комфортный уровень CO2 необходимо регулярно проветривать помещение или установить систему приточной вентиляции. Но для того, чтобы понимать, когда пора проветривать или на какую мощность включать вентиляцию, необходимо знать уровень концентрации углекислого газа в воздухе. Для этого используются измерители уровня углекислого газа (детекторы CO2).
Один из самых доступных и компактных измерителей CO2 - Даджет МТ8057s.
Уровень углекислого газа на улице составляет около 400 ppm и практически не зависит от местоположения - на загазованной улице Москвы и на природе уровень будет практически одинаков. Считается, что уровни CO2 до 700 ppm практически незаметны для человека, а уровень до 1000 ppm допустим. Всё, что выше, уже отрицательно влияет на организм.
Прибор попеременно показывает концентрацию CO2 (15 секунд) и температуру (5 секунд).
Три светодиода (зелёный, жёлтый, красный) показывают уровень комфортности по концентрации углекислого газа. По умолчанию зелёный до 800 ppm, жёлтый 800-1200 ppm, красный - более 1200 ppm. При желании эти диапазоны можно менять.
Когда включён звук, прибор пищит один раз при превышении первого порога (800 ppm по умолчанию) и три раза при превышении второго порога (1200 ppm по умолчанию). Пока концентрация CO2 остаётся превышенной, прибор подаёт звуковой сигнал раз в семнадцать минут при "жёлтом" уровне превышения концентрации CO2 и раз в минуту при "красном" уровне, напоминая о необходимости проветрить помещение.
Сзади две кнопки, с помощью которых выбираются диапазоны индикации, режимы калибровки, высота над уровнем моря и шкала измерения температуры. Длительное нажатие кнопки Enter включает и выключает звук.
Справа разъём MicroUSB и отверстие воздушного канала.
Прибор комплектуется кабелем USB-MicroUSB, длиной 158 см.
Источника питания в комплекте нет. Прибор можно подключить к любому зарядному устройству с разъёмом USB. Я измерил потребление прибора. Он постоянно потребляет 22 mA, а раз в четыре секунды, когда происходит замер, потребление возрастает до 150 mA на доли секунды. За час прибор потребляет 31 mAh, это означает, что его можно использовать автономно с любым пауэрбанком и проработает он от него очень долго.
Прибор построен прибор на датчике, использующем наилучшую технологию измерения уровня CO2, - Dual Beam NDIR.
При подключении к компьютеру прибор распознаётся, как стандартное устройство ввода. Программа не требует установки и настройки. Она показывает изменения уровня CO2 и температуры за последний час или за длительный период.
Отлично видно, как за три часа уровень CO2 при закрытой форточке и нахождении в помещении одного человека возрастает с 600 до 1000 ppm, а затем после открывания балконной двери падает до 600 ppm за десять минут.
Я снял небольшое видео, чтобы показать как работает прибор и какие звуковые сигналы он издаёт.
По умолчанию прибор раз в неделю калибрует датчик, поэтому для его правильной работы хотя бы один раз в неделю помещение должно быть проверено так хорошо, чтобы концентрация CO2 в нём сровнялась с уличной.
Благодаря наличию светодиодов состояния, из Даджет МТ8057s довольно просто сделать систему автоматического управления вентиляцией. Достаточно подключить сигнал от жёлтого светодиода к стандартному модулю реле с TTL-входом.
Подробно о переделке рассказано тут. Добавлю лишь, что лучше подключаться к жёлтому, а не красному светодиоду и при разборке новой версии прибора есть одна хитрость - третий винт, крепящий плату, находится под дополнительной платой звукового сигнала, и чтобы его отвинтить нужно "подлезть" тонкой отвёрткой справа от дополнительной платы.
Прибор можно купить здесь за 4905 рублей, использовав промокод АГ. Это минимальная цена на измеритель CO2 - даже самый дешёвый измеритель уровня углекислого газа без возможности подключения к компьютеру на Aliexpress стоит $82.
Уверен, что измеритель уровня CO2 обязательно должен быть в каждой квартире, а ещё лучше в каждой комнате. Я постоянно пользуюсь измерителями CO2 уже четыре года и за это время подарил уже пять приборов Даджет МТ8057s своим родственникам и друзьям, а сейчас запасся ещё четырьмя измерителями "на подарки".
© 2018, Алексей Надёжин
Читайте также: