Подключение кондиционера к компьютеру
В современных системах домашней автоматизации управление климатом чаще всего в списке решаемых задач стоит на втором месте после работы с осветительными приборами. Спектр применяемого оборудования в данном сценарии очень широк. Верхние строки занимает профессиональные устройства для HVAC (Heating, Ventilation, & Air Conditioning – отопление, вентиляция и кондиционирование), включая теплые полы, системы рециркуляции воздуха и холодные потолки. В доступном сегменте мы видим традиционные бытовые кондиционеры и многочисленные электронагревательные приборы и газовые котлы, а задачи вентиляции чаще всего решаются «ручным» методом открытия окон.
Наиболее удобным способом управления кондиционером является подключение к нему по специализированному интерфейсу, обеспечивающему не только отправку команд, но и контроль статуса, а также информирование о состоянии и возможных неисправностях. Однако этот вариант доступен только в определенных моделях, может требовать приобретения дополнительных блоков и его сложно назвать доступным. Впрочем, сегодня, с распространением таких стандартов как AllJoyn, HomeKit и SmartThings, подобные модели начинают появляться и в более массовом сегменте.
К счастью, есть и другой способ управления кондиционером – использование ИК-канала. В плюсы этого подхода стоит отнести универсальность (один ИК-передатчик может одновременно обслуживать различное оборудование в комнате) и невысокую стоимость. Минусом является полное отсутствие обратной связи от управляемого устройства. Кроме того, это решение не гарантирует даже доставку команд. Насколько такой способ подойдет – решать вам, однако, на наш взгляд, наличие такого варианта лучше, чем полное отсутствие управления.
Задача
В квартире стоят четыре кондиционера, ими нужно научиться управлять:
- Из веб-интерфейса (у меня это Home Assistant, крутящийся на отдельном Raspberry Pi, но в идеале хочется простого подключения к любой системе);
- Голосом (Google Assistant подойдёт, потом подумаем об Алисе);
- Скриптами;
- Дёшево.
Исследование рынка
Sensibo Sky
Примерно $100 на комнату, нативно работает с Google Assistant и IFTTT, красиво выглядит, но всё равно дороговато.
tado° — аналогично (и ещё дороже).
Вскрытие показало, что пациент скончался от вскрытия
Отключаем модуль от кондиционера и вскрываем корпус этого свистка (открывается легко и легко закрывается).
На фото выше видно, что роутер рассказал чистую правду: «трехкопеечный» модуль с минимальной обвязкой (стабилизатор питания, светодиод (двухцветный), кнопка, преобразователь уровней) — тут уже стало понятно, что даже запрошенная цена за этот модуль — явно завышена (ладно, будем считать, что туда заложили еще оплату труда программистов, которые должны были написать прошивку, которая бы обеспечивала необходимый функционал).
Обратите внимание на подписанные контакты usb-разъема (от usb — только корпус разъема и такое же расположение выводов питания) — поэтому совершенно не удивительно, что модуль никак не определился компьютером.
Таким образом, автоматизацию управления этим кондиционером — можно сделать на чем угодно (хоть на Arduino) — нужно только знать, какие команды ожидает получить система.
А вот этой информации о командах у нас как раз и нет.
Грабли
Приехал Smart WiFi-модуль — из себя ничего особенного не представляет: грубоватая «флешка» с единственной кнопкой и светодиодом, который тускло светится через корпус (конечно, при подключении к питанию).
Воткнул его сначала в ноутбук (надо же глянуть, чем «прикидывается» модуль)… но в системе ни одного нового устройства не появилось (был удивлен, но почему-то не очень сильно).
Ладно, попробуем использовать его штатным образом: модуль занял соответствущий разъем во внутреннем блоке кондиционера.
Установил программу и прошел по инструкции: зажал кнопочку на модуле на пяток секунд — он начал моргать желтым светодиодом (режим Smartlink), в появившемся диалоговом окне указал название wifi-сети и пароль к ней… светик на модуле моргнул и загорелся синим (по инструкции — нормальный режим).
Хотя все было сделано по инструкции, устройство в программе не появилось (начинают оправдываться различные опасения).
Ну да ладно, двигаемся дальше и пытаемся понять, с чем же имеем дело — смотрим в веб-интерфейс роутера. Роутер — показал, что новое wifi-устройство подключилось и работает (ура, маленькая победа и кое-что все-таки работает).
При этом роутер сдал этот модуль как стеклотару: имя нового хоста — «HF-LPT220».
Беглый поиск показал, что это SoC UART-WiFi (около 5 долларов в розницу за штуку и 60-80 центов при оптовых закупках).
Управляем
На основании этих данных уже несложно написать программу для создания требуемых двоичных кодов управления кондиционером как для Global Cache, так и Arduino. При этом желательно использовать контроллер или панель с поддержкой программирования, что позволит генерировать нужные команды «на лету», записывая в них все параметры, как делает оригинальный пульт. В частности, в iRidium Mobile для данной цели можно использовать возможность программирования на JavaScript, а для отправки на исполнительное устройство по локальной сети понадобится драйвер AV & Custom Systems.
Отметим, что здесь можно также реализовать и отображение текущего режима кондиционера. Однако надо отдавать себе отчет в том, что информация будет браться из внутренних переменных панели управления, а не непосредственно с кондиционера, поскольку ИК-управление является в данном случае односторонним.
В случае использования нескольких кондиционеров в одном помещении, а также для более надежной доставки ИК-команд, может потребоваться установить ИК-светодиоды непосредственно на окошках приемников каждого устройства.
Если же кондиционер в комнате только один, может быть достаточно одного правильно установленного ИК-передатчика, который также пригодится и для управления другой техникой, например вентилятором или музыкальным центром.
При необходимости система управления может быть дополнена датчиками реальной температуры, сенсором потребления кондиционера (для контроля его включения), датчиком на окно для блокировки работы, автоматическими режимами управления, учетом динамики уличной температуры, расписанием и другими возможностями.
В кондиционере с неисправным компрессором во внешнем блоке, была произведена переделка, заключающаяся в исключении из работы внешнего неисправного блока и подачи во внутренний блок холодной воды вместо фреона.
В загородном доме этим летом приходилось проводить достаточно много времени, и остро встал вопрос об охлаждении хотя бы одного из помещений, так как находиться в доме из-за дикой жары было просто невозможно. Купить и установить новый кондиционер, казалось бы, самое верное решение, но дом при нашем отъезде оставался без присмотра, и не хотелось бы лишиться нового кондиционера. Возникла мысль, а что если купить по дешевке только внутренний блок кондиционера, коих на том же АВИТО продается не мало, и вместо фреона подать в его испаритель холодную воду. Мысль мне показалась верной.
реклама
Кратко напомню, как работает кондиционер. Во внутреннем блоке находится испаритель, в него через «капилляр» под давлением, создаваемым компрессором подается жидкий фреон. Давление в испарителе низкое, и фреон начинает кипеть, и испаряться с поглощением тепла. Вентилятор прогонят воздух через этот охлажденный испаритель, остывает и выбрасывается в помещение. Испарившийся фреон из испарителя по магистрали поступает во внешний блок, в компрессор, где им сжимается, при этом сильно нагреваясь. Далее фреон поступает в конденсатор, продуваемый наружным воздухом, отдает ему свое избыточное тепло, остывает, и переходит в жидкую фазу. И вновь через «капилляр» и магистраль поступает в испаритель во внутреннем блоке. И так далее по замкнутому циклу.
Ну как говорится, сказано, сделано. Через непродолжительное время на просторах Авито, в моем городе был найден кондиционер за 3000 р. с неисправным, просто раздолбанным, горевшим наружным блоком, выглядел он так.
реклама
Продавец объяснил, что в нем заклинил компрессор, и поскольку кондиционер был уже совсем не новым, то ремонтировать он его не стал, не захотел вкладывать деньги в старый кондиционер, а приобрел новый, а этот снял и положил в сарай. Но заверил меня, что внутренний блок полностью исправен. Я его купил. Привез в загородный дом, и приступил к установке. Просверлил стену, прикрепил к стене крепление блока, как полагается, с выдержкой горизонтального уровня. Просунул через стену два шланга, подачи холодной воды и отвода нагретой воды, подключил их к змеевику испарителя и обжал хомутами. Подключил к блоку дренажную трубку для отвода конденсата из блока на улицу, и установил его на стену. Монтаж магистрали отвода и подачи воды выполнял их материалов, которые оказались под рукой, где-то спаивал пластиковые трубы, где-то применял шланги.
Сразу хочу сказать, что принятию такого решения способствовал тот фактор, что водопроводной воды в загородном доме нет, но есть подземная бетонная емкость для воды на 18 кубометров, в которой вода всегда очень холодная, и этот фактор имел решающее значение в принятии решения. Потому, как, при использовании воды с водопровода, отработанную теплую воду с выхода испарителя пришлось бы утилизировать, сливать на улицу, а с нынешними ценами на воду, это было бы разорительно. А при использовании воды из подземной емкости, есть возможность в нее же, и сливать отработанную теплую воду, которая там и отдает свою тепловую энергию, так сказать, в холодную землю, и потери воды нет никакой. Для прокачки воды я использовал циркуляционный насос для систем отопления.
На насос подал питание с «мозгов» внутреннего блока, предназначенное для питания компрессора наружного блока. Таким образом, планировалось, что в помещении будет поддерживаться установленная температура. Охладилось помещение до установленной температуры, «мозги» блока насос отключили, начала температура подниматься, «мозги» насос включили, и заданная температура бы поддерживалась автоматически, как в штатном режиме. Оба шланга, «подающий» и «обратный», были опущены почти до самого дна в подземную емкость, но в разные ее углы, чтобы между ними было, как можно большее расстояние. На «подающий» шланг я естественно примастырил фильтр. «Обратный» шланг конечно, можно было бы не погружать в воду, но тогда при остановке насоса вода бы полностью стекала из контура, и он завоздушивался. А при включении насоса, он бы не смог поднять воду из подземной емкости из-за воздушной пробки. Поэтому погружение «обратного» шланга в емкость полностью решило проблему завоздушивания без каких либо обратных клапанов. В дальнейшем я следил, чтобы уровень воды в подземной емкости не опускался ниже половины, Если уровень начинал приближаться к середине, я сразу же заказывал машину воды.
реклама
После того как все было собрано пришло время испытаний. Сначала пришлось, конечно, немного поизвращаться, чтобы заполнить охлаждающий контур водой. После этого кондиционер был включен, и вода с шумом начала бороться с остатками воздуха в испарителе блока, но через несколько минут посторонние звуки стихли, и от блока подуло холодным воздухом.
Теперь о том, какие результаты были достигнуты. Температура в комнате перед включением кондиционера было 32 °С., воды в подземной емкости – 9 °С, воды на выходе «сливного» шланга после 10 минут работы – 18 °С., воздуха на выходе внутреннего блока после 10 минут работы – 17°С.
По истечении 1 часа работы, я заметил, что «подающий» шланг, а длинна его была не малой, 7 м., по всей своей длине очень сильно покрылся конденсатом, вода буквально с него капала во всех местах. Это навело на мысль, что в нем происходит сильная потеря холода, и его пришлось обматывать теплоизоляционным материалом. В результате этого температура воздуха на выходе внутреннего блока уменьшилась на 2 градуса, и стала 15°С.
реклама
Ну и через два, три часа, температура в помещении снизилась да 24 °С., как и было установлено на кондиционере, вернее на том, что от него осталось, и насос стал периодически отключаться. Плюс этой системы еще в том, что мощность циркуляционного насоса составляет около 100 Вт., что значительно ниже потребляемой мощности компрессором наружного блока, которая составляет порядка 600 Вт. Так что имеем еще и экономию электроэнергии.
Надеюсь, статья была для вас интересна, и может быть ее идея для кого-нибудь окажется полезной.
Пишите в комментариях, что вы думаете по этому поводу.
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
«Умный дом», который сегодня устанавливается в коттеджах и квартирах, дает возможность управлять инженерными подсистемами и всеми видами бытовой электротехники. Управление кондиционером с компьютера — одна из его функций, которая довольно просто реализуется.
Прототип (00)
Покупаем на алиэкспрессе случайные компоненты, собираем вместе на бредборде, тестируем идею.
- Экран был заказан слишком большой, и у него слишком много ног.
- Один светодиод бьёт не очень далеко, и не очень надёжно.
Изменение целевой температуры, скорости обдува и режима кондиционера в веб-интерфейсе тоже на месте (и, главное, работает!).
«Родное» решение
Пожалуй, даже не буду рассказывать. Решение от производителя моих кондиционеров предполагало кучу проводов, минимум два дополнительных модуля на каждый блок, и цену порядка $200 на комнату. Плюс проприетарный протокол, древнее приложение, и всё такое. Вычёркиваем.
Конец?
Нет, конечно! Теперь остается только дождаться, когда же производитель все-таки выпустит «совместимый» WiFi-модуль и повторить все векторы реверс-инжиниринга, но уже с «правильным» модулем.
А пока возвращаюсь к варианту автоматизации «дешево и сердито» (придется контролировать работу кондиционера с помощью камеры видеонаблюдения — внутренний блок как раз в кадр попадает).
Если вдруг кто-то придумает, как можно все-таки сделать «правильно» — буду рад подсказке. А уж если кто-то уже «прошел этот путь» и поделится протоколом обмена — я буду просто счастлив ;)
Кстати, в недрах внутреннего блока обнаружилась очень интересная информационная табличка, которая дает еще пару новых «векторов»:
P.S. "Часть II" с подробным описанием решения «дешево и сердито» будет позже (надо только время найти).
P.P.S. «Часть III» c «правильным» решением, надеюсь, появится после приобретения совместимого модуля (осталось дождаться его появления в продаже).
Описание настройки
Процедура настройки кондиционера через интернет предполагает:
- Покупку адаптера (в случае с климатической техникой Daikin это Online Сontroller).
- Подключение адаптера к климатическому оборудованию, а также к модему и ПК. Делается это по Wi-Fi-соединению или через кабель.
- Прохождение процедуры регистрации на официальном сайте приложения. Доступ к серверу возможен при наличии пароля и логина 24 часа в сутки.
Кондиционер с ios и android
Контроллер для климатической техники выполняет ряд функций:
- выключает и включает кондиционер, выставляет на нем режим работы;
- проводит собственную статистику, измеряя затраченный объем электроэнергии и сэкономленную сумму на оплату коммунальных услуг;
- в дистанционном режиме отображает работу оборудования.
Использование контроллера и специальных приложений имеет следующие преимущества:
Наступило лето, с ним — жара, а также время включать кондиционеры. А если вы увлекаетесь современными технологиями и умным домом, то управление кондиционерами хочется делать как-то по-умному (или хотя бы по-современному). Ниже — ряд заметок о моей попытке интегрировать погоду в доме с голосовым управлением и кросс-платформенным интерфейсом.
Попытки
Поскольку с WiFi-модулем штатное приложение не завелось, начал с самого простого — пошел по варианту 2: взял USB-UART и подключился к внутреннему блоку кондиционера.
К сожалению, вариант не принес результат — сплит-система «молчит» на всех скоростях обмена и никак не реагирует на внешние раздражители. Видимо, встроена «защита от взлома»: вероятно, оригинальный WiFi-модуль отправляет какие-то данные, по которым основной блок признает в нем «своего» и ведет обмен.
Пока разбирался со своей гипотезой — написал несколько писем: в Electrolux и разработчикам мобильного софта.
Electrolux
Реально все климатическое оборудование под маркой Electrolux официально поставляется компанией Русклимат (мое первое знакомство с этой компанией было около 10 лет назад и оно было далеко не приятным, но это другая история). Поэтому я не очень удивился, когда в ответ на запрос на сайте Electrolux пришел от технического специалиста компании Русклимат.
Ну и ответ был с таким смыслом, что тот модуль, что я приобрел — не подходит к кондиционерам, но «подходящего» пока нет и только ожидается в середине июля 2019.
Разработчики мобильного софта
Разработчиком софта для Русклимата является компания ООО «Ипол». Разработчики ответили, что в текущей версии кондиционеры вообще не поддерживаются и на просьбу «поделиться протоколом обмена», конечно, ответили, что такую информацию они не разглашают.
Серийная модель (02)
Есть ряд направлений для улучшения получившегося продукта (точнее, возможностей улучшения, позволивших бы превратить эксперимент в продукт):
-
Датчик температуры можно взять поменьше размером и более точный, например, BME280, HTU21D или Si7021, что позволит повесить его на те же ноги, что и экран (I2C), заметно уменьшить размер готового устройства и упростить разводку печатной платы. На практике оказалось, что на тот же BME280 начинает сильно влиять нагрев самой ESP8266, и выдаваемые показания нужно корректировать.
Производители
Первый производитель климатического оборудования, который предоставил потребителям возможность управления кондиционером по интернету — японская фирма Daikin. Этот бренд с начала существования сделал ставку на высокие технологии, и сегодня продает «умные» комплексы кондиционирования, а также очистители воздуха. Контроль через ПК или с телефона доступен любому, кто имеет бытовую инверторную технику с разъемом S21.
Второй способ контроля над любым оборудованием — приложение SlyControl. Оно универсально и предполагает регулирование режимов работы через интернет с возможностью задания таймера для работ.
Кондиционер с компьютера
Заключение
Это было славное приключение, и я многое понял. Например, я понял, почему серийные устройства стоят так дорого, и сколько сил нужно было бы приложить, чтобы выйти на один уровень с ними. С другой стороны, очень многое в этом проекте я делал впервые (работа в Arduino IDE, заказ печатных плат, создание модели для 3D-принтера), и получить этот опыт было бесценно. Исходники, впрочем, не покажу: мне за них достаточно стыдно :)
Но своей цели я всё-таки достиг, а дешёвое и гибкое управление кондиционерами оказалось вполне достижимо.
Домик хотя и "тестовый", но все старались делать максимально правильно — хорошее утепление, приличные стеклопакеты и т.п.
Зимой в ясную погоду солнце прогревало домик до состояния, что отопление теплыми полами отключалось термостатом. Вроде все хорошо, но пришла весна и стало ясно, что домик просто перегревается и требуется его охлаждать.
Мы предвидели такой вариант развития событий и заранее подготовились к установке кондиционера: проложили все необходимые магистрали на этапе стройки.
Вообще, конечно, стоило бы поставить стеклопакеты с МФ- и И-стеклами, но тут «палка о двух концах» (впрочем, как и всегда) — недополучали бы зимой бесплатное тепло от солнца.
В идеале было бы сначала просчитать, что выгоднее: меньше использовать электрический теплый пол для обогрева в холодный период или меньше использовать кондиционер для охлаждения — в теплый, и уже исходя из такого анализа выбирать, какие стеклопакеты правильнее устанавливать.
Но такой анализ никто не сделал, поэтому имеем то, что имеем.
Кстати, ни строители, ни оконщики не порекомендовали, какие стеклопакеты было бы лучше использовать в нашем случае. Во всем приходится разбираться самостоятельно (в т.ч. оплачивая ошибки).
Один из важных критериев выбора кондиционера для моего «тестового домика» — возможность его интеграции в систему "умный дом".
Конечно, самая простая интеграция практически любого кондиционера — использование команд ИК-пульта. Но мне этот вариант не подходит по идеологическим соображениям: нет информации о текущем состоянии прибора.
Поэтому, этот вариант сразу отметаем и идем дальше.
Тестовый образец (01)
Поменяем пару компонентов: закажем экранчик поменьше, и чтобы работал через I2C (и библиотеку применим другую).
Также заменим ИК-светодиод на готовый модуль.
Оказалось, что модули с одним светодиодом (на фото слева) на алиэкспрессе заказывать не стоит: они не содержат транзистора, и одна из ног (VCC) у них, по сути, бутафорская.
А вот если заказать модуль с двумя светодиодами (на фото справа), то тут уже все необходимые компоненты на месте, и подключается такой модуль легко и непринуждённо, и добивает немного дальше.
Также пришло время всё это собрать на своей печатной плате… Это был один из самых сложных моментов для человека, который никогда не проектировал печатные платы, и наверняка я всё сделал неправильно.
Кнопка была добавлена в последний момент, а место для неё нашлось совершенно случайно. Оказалось, что с кнопкой всё немного веселее, можно не держать экран включенным всё время (что для OLED вредно), а показывать состояние по нажатию.
Что ж, уже неплохо, осталось добавить корпус. Для этого запускаем Blender, делаем кучку параллелепипедов, применяем ряд булевских операций…
И отправляем на 3D-принтер.
Итого, получилось дёшево (меньше $10 за экземпляр), гибко (будет работать с почти любым кондиционером), легко интегрируется, управляется голосом и через веб, стабильно добивает с пяти метров. В общем, примерно то, чего я и хотел.
Как бы всё это сделать чуть лучше.
Xiaomi Aqara / Mi Home, Broadlink RM Pro / Mini
Универсальные ИК-передатчики, некоторые теоретически поддерживают нужные кондиционеры «из коробки», с грехом пополам интегрируются с Home Assistant, но в целом — так себе решение, хоть и ценник уже гораздо ближе к доступному ($20-35 за комнату, в зависимости от возможностей). Да и приложения на китайском языке (в некоторых случаях) — это не то, к чему я стремился.
Самый дешёвый и гибкий способ, о котором я и расскажу подробнее.
Муки выбора
Естественно, остальные параметры тоже очень важны (из главных приоритетов: максимально тихая работа, класс энергопотребления не ниже «А», цена).
Выбор пал на инверторный Electrolux (серия Atrium). Производитель в явном виде указывает, что кондиционером можно управлять через WiFi (требуется только докупить опциональный WiFi-модуль).
Цена — относительно гуманная (другие инверторные модели с WiFi — примерно на 30% дороже, что уже как-то слишком для гостевого домика).
Поставщик почему-то как-то неуверенно говорит о WiFi-модуле и всячески увиливает от его поставки под разными предлогами. Сейчас понимаю, что это «звоночек», но едем дальше.
Google в помощь, мануалы и другая информация — (вроде как) требуется модуль Electrolux ECH/WF-01 Smart Wi-Fi. И совсем не дефицит (еще этот модуль используется для водонагревателей и электрических конвекторов этого же производителя) и цена более чем доступная — менее тысячи рублей (вообще тоже должно было бы слегка насторожить). Приложение для управления — одно на все эти типы приборов, что выглядит вполне разумным: производитель хочет, чтобы формировалась «экосистема».
На одном из сайтов попался отзыв покупателя, где он рассказывал, что облако часто «валяется» и первоначально он около двух месяцев ждал и мучал техподдержку, прежде чем система заработала как было заявлено. Отзыв довольно старый — я подумал, что уже устранили проблемы и все будет хорошо.
Сплит-система заказана, назначен день монтажа — тут все четко: пару часов и приятная прохлада обеспечена.
Теперь пришло время заказывать опциональный модуль.
Выбор компонентов
Тут есть над чем подумать, но в целом нам понадобится:
Векторы мысли
Собственно, раз все составляющие на руках и появилась некоторая дополнительная информация о том, что же на самом деле мы имеем, логичными кажутся следующие варианты:
Изучаем протокол
Следующим шагом является расшифровка протокола управления вашего кондиционера. На пульте обычно присутствует базовый набор кнопок – увеличение и уменьшение температуры, выбор режима, управление вентилятором, выбор направления выхода воздуха, выключение.
В отличие от аудио-видео техники, пульт кондиционера в каждой отправляемой команде использует полный набор всех параметров. Так что традиционный вариант «понажимать кнопки, записать все команды, воспроизводить записи», в общем случае не требующий знания деталей протокола, здесь не подходит.
Не вдаваясь в подробности, покажем несколько примеров. Вывод с Global Cache в фирменной утилите iLearn может выглядеть так:
Для библиотеки IRremote в Arduino формат вывода другой:
Путем несложных манипуляций из данных записанных строк (здесь могут помочь, например, материалы этого сайта), мы получаем двоичные коды, которые, в нашем случае, имеют размер девять байт. Проведя исследование всех параметров, удалось выяснить кодировку используемых нашим кондиционером, производства не самого известного бренда, полей:
Принцип работы
Управление кондиционером через беспроводное соединение предусматривает возможность использования следующей техники:
- мобильный телефон или планшет на базе операционных систем Android или iOS. Для них компании по продаже бытового оборудования и интеллектуальных комплексов разработали специальные приложения с простым и понятным интерфейсом;
- компьютер. Вам требуется скачать приложение и добавить к нему все установленные климатические приборы.
Железо
Контроллер
Тупо берём ESP8266, а для простоты прошивки и обеспечения питанием воспользуемся D1 mini. Управлять системой, очевидно, будем через WiFi.
ИК-передатчик
Для прототипа воспользуемся простым ИК-светодиодом, сопротивлением и транзистором, потом подумаем, как это можно улучшить.
Датчик температуры
С ним веселее, можно задавать целевую температуру, и делать автоматическое включение/выключение. Для начала тупо возьмём DHT22.
Экран
На него выведем текущее состояние системы (для отладки), а может быть и текущий ip-адрес (вдруг пригодится?).
Реализовывать всё будем в Arduino IDE (с которой я никогда до этого не работал), используя открытые библиотеки.
Сильно позже, когда проект уже работал, я перешёл на Visual Studio Code с плагином PlatformIO.
Протокол
Общаться с Home Assistant будем через MQTT (библиотека PubSubClient), т.к. это открытый протокол, и для него есть специальный компонент.
Конфигурация будет выглядеть, например, как-то так:
Управление
Библиотека HeatpumpIR поможет нам отправлять сигналы на кондиционер (модель кондиционера пока захардкодим).
Разное
Понадобятся ещё библиотеки для таймера, для работы с датчиком температуры и с экраном, но это уже мелочи. Привычным жестом добавим WiFiManager и ArduinoOTA, чтобы обновлять прошивку через веб-интерфейс, а не USB.
Выбираем оборудование
Посмотрим, какие есть варианты оборудования для отправки ИК-команд. Одними из наиболее популярных и универсальных сегодня можно назвать устройства производства компании Global Cache. Линейка продуктов включает в себя полтора десятка моделей, обеспечивающих контроль и управление по интерфейсам ИК, RS-232 и сухих контактов. Этв надежные решения мы рекомендуем для данной задачи в рамках профессиональной инсталляции, за которую придется нести ответственность.
Для работы со всеми передатчиками используется сетевой интерфейс (проводной или беспроводной) и основанный на TCP/IP протокол. Наличие подробной документации позволяет легко интегрировать данные решения в вашу систему автоматизации. Отметим, что программный комплекс iRidium имеет встроенную базу конфигураций для оборудования Global Cache, что еще больше упрощает работу с ними.
Минусом устройств этого производителя является их достаточно высокая стоимость. В качестве более доступной альтернативы, особенно для тех, кто любит делать все своими руками, можно назвать изготовление передатчика на базе микроконтроллера. Для тренировки и макетной сборки хорошо подойдёт известная платформа Arduino. Вам понадобится любая плата (требования ко входам и выходам в данном проекте минимальные), соответствующий сетевой интерфейс или модуль для обеспечения удаленного доступа, ИК-светодиод и буквально пара дополнительных деталей. Примеры подобных устройств в сети можно легко найти и адаптировать для своих задач (см. например вариант от SparkFun).
Желательно также приобрести и модуль ИК-приемника, который потребуется для изучения протокола вашего кондиционера. Отметим, что одним из основных параметров физического ИК-протокола является частота модуляции (наиболее частые значения – 38 и 36 кГц). «Научить» одно устройство передавать данные на разных частотах можно, а вот приемники настроены на фиксированное значение, так что возможно их потребуется несколько.
Читайте также: