Кратко описать подключение к кондиционерам TCL можно так: "Если повезет- просто, если не повезет- не просто". А я же попробую и тут помочь.
Оглавление.
- Часть 2: Железо и подключение. <-- Сейчас Вы здесь.
- Часть 4: Готовый модуль.
- Часть 5: Хакер в деле или как самому понять протокол связи.
Эта часть случилась именно сейчас внезапно, по моему плану сначала должен был быть рассказ про компонент программно, и про его программную же обвязку. Однако, несколько человек попросили тут, и еще несколько вконтакте. Штош, давайте поговорим про железо, если это так актуально!
Понимание подключения
Итак, кондиционер устроен, в общем-то, просто: внутренний блок управляет внешним. Очевидно, да? Системами кондиционера заведует микроконтроллер на плате кондиционера, в его памяти хранится текущий режим работы, который он может сообщить по требованию. В это же время микроконтроллер слушает данные с ИК датчика и с порта UART. Какого такого порта UART? А того самого, к которому подключается модуль управления! Да, это не USB, как можно было бы подумать при первом знакомстве, это именно последовательный порт с уровнями.. Вот хотелось бы сказать, что TTL, но нет, при работе кондиционера с оригинальным модулем там нет 5 вольт, требующиеся по стандарту TTL. Где же эта плата кондиционера, какая она такая? Плата скрывается в правой части (как правило) внутреннего блока за внутренней крышкой, в том же отсеке, где подключаются провода питания и внешнего блока, а выглядит вот так:
Инфракрасный порт нам не нужен- там и так все ясно, протокол разобран давно и, в общем говоря, новыми кондиционерами можно управлять со старых пультов, тут все очевидно. И очевидный же минус такого решения- отсутствие обратной связи. Иными словами, отправив команду, на прямую не получится узнать, была ли она выполнена или нет.
Нам нужен порт UART, который, как я уже и писал, представляет из себя последовательный интерфейс обмена данными. Особенность данного, вот конкретно этого порта- он привязан к напряжению около 4 вольт. Да, вот так, не 3.3, не 5, а именно около 4. Точно не могу сказать- замеры делал давно, да это и не особо важно. А важно то, что он есть у всех кондиционеров, которые так или иначе имеют линейки с возможностью управления по WiFi. Тут, думаю, надо пояснить немного подробнее.
Кондиционеры, выпускаемые заводом TCL, или по лицензии TCL имеют общие черты, и эти общие черты проявляются не просто так. Основная причина- унификация производства, приводящая к тому, что начинка набирается из разных, но заранее определенных компонентов: компрессор, клапан, вентилятор, ионизатор, актуаторы и т.п. Так вот, всеми этими начинками управляет плата кондиционера, в очень небольшом ассортименте. По сути, ассортимент там вообще состоит из 3 или 4 действительно различных решений, которые между собой разнятся компонентами и прошивками, а все остальное- идентичное. Идентичное на столько, что разница между дорогим и нашпигованным кондиционером и дешевым урезанным лишь в том, что в одном есть всякие приводы заслонок, ионизаторы и прочие плюшки, а в другом их просто не прикрутили! То есть даже посадочные места есть, даже разъемы на своих местах! Хотя и не всегда, потому как иногда, на двух абсолютно одинаковых моделях разъем может как быть на месте, так его и может не быть- лишь зияющие отверстия под пайку. Полагаю, тут дело либо в экономии, либо в лени. Более того, между более старыми и более новыми моделями сохраняется протокол управления- это, очевидно, сделано для совместимости аксессуаров. И экономии, конечно же.
А к этим разъемам нужны еще провода, ответные части и т.п. И все это может быть и может НЕ быть в любом кондиционере, в случайном порядке, зависящем от комплектации. К модулю WiFi, например, может идти провод даже в комплектациях, где этот модуль не установлен- типа, "купите отдельно с дополнительной наценкой!". А может и не быть провода вообще, только разъем на плате. А один из пользователей такого кондиционера поделился со мной, что ему достался модуль на халяву- в его комплектации WiFi в комплекте не идет.
Так или иначе, кроме уже, скажем так, "подготовленных к WiFi" кондиционеров есть и те, которые делаются совсем бюджетно, на особо бюджетных платах. Примером могут послужить кондиционеры типа TCL TAC-09CHSA/IF, в которых UART не предусмотрен вообще, нет ни посадочного места на плате, ни даже соответствующих выводов у микроконтроллера. То есть тут только менять плату целиком, но это уже отдельная история. В пределах этих статей будем считать, что кондиционер "подготовлен", а чтобы убедиться в этом, можно посмотреть в 1 части статьи какие кондиционеры уже исправно работают через компонент для Home Assistant. Остается лишь надеяться, что я не забуду обновлять список. На всякий случай, список есть и на github: вот тут. Ну а теперь к делу.
Если есть родной WiFi.
Самый простой и сладкий вариант- если в комплектации кондиционера уже есть модуль WiFi, о чем наверняка красноречиво сообщает куча надписей по всей упаковке. И в ценнике, наверняка, тоже указали об этом. Тогда просто открываем внешнюю крышку внутреннего блока кондиционера и видим что-то вроде этого:
Посмотрим детальнее:
Этот модуль втыкается своим разъемом USB в гнездо USB кондиционера. Помните, что я говорил про него? Это только похоже на USB, на деле не имеет мало общего, по сути общее здесь то, что есть питание модуля и это интерфейс обмена данными. К тому же, еще и контакты перепутаны. Но это и не важно, важно то, что эти самые родные модули бывают разными: есть на сильно замороченных чипах, к которым не понятно, как подбираться, а бывают и такими, что можно перепрограммировать их под Home Assistant. С этим вопросом лучше покопаться в интернетах, я не нашел точной информации о том, как это сделать без нервотрепки. Скажем, камрад Даниил А. сумел нагуглить вот такое: https://developer.tuya.com/en/docs/iot/tcwbrcu1-datasheet?id=Ka012js7hfwoo Надеюсь, пригодится.
Но все же попроще будет открыть 1 часть статьи и по не сложным инструкциям собрать свой модуль управления на коленке. Можно обратиться к радиолюбителям- они смогут все это сделать красиво.
Есть ли способ еще проще? Увы, лишь в процессе, который как-то вяло идет:
Затормозило здоровье: жены, потом мое, а до кучи у меня так и висит вопрос: а оно надо кому вообще? Паять вроде не сложно, да только закупаться надо. А если я буду делать такой девайс и распространять, то какие деньги спрашивать? Но сам пользуюсь именно этим вариантом:
В общем так: будет спрос- буду доделать, буду выложить информацию, буду бамбуча. Иных вариантов я не знаю, не видел и, соответственно, не щупал, возможно, что уже камрад Dudanov сделал модуль для своей интеграции, но я не в курсе. Кстати, заметили, что провод с разъемом не белые, как все вокруг? Сейчас и об этом поговорим.
Если у Вас нет собаки провода
Ну, не беда, в общем-то. Первое, что надо сделать- добраться до платы кондиционера и посмотреть, на месте ли разъем. Где смотреть? Ну, это зависит от модели платы. Вот варианты, листайте галерею:
Только не надо прицеливаться прямо до точности фотографического сходства! В смысле, модель платы- это только база, потому как есть еще варианты, обозначаемые дополнительной буквой, парой букв или обозначением версии, и, в зависимости от варианта, могут меняться местами детали и разъемы. Надо искать сам разъем- он будет 4-хконтактным, рядным (контакты в один ряд), вероятнее всего с обозначениями "CN16" или "WiFI", и может иметь обозначение контактов типа "TXD, RXD, GND, +5V". А может и не иметь. Как тогда узнать, какие контакты где? А просто- начиная от контакта, отмеченного на плате точкой или риской в указанном ранее порядке.
А как-то по-простому можно? Можно, вот рисунок с платой и модулем:
Подключить можно используя разъемы типа "PH2.0 4p". Не пугайтесь китайских разъемов, тут токи минимальные и их слабые контакты не будут помехой, собственно, контакту. Я, к примеру, как-то по случаю приобрел вот такой набор, который и пользую:
Ну а далее, используя конфигурацию из 1 части статьи и используя те же контакты на модуле, просто подключив их напрямую к разъему на плате кондиционера, получаем рабочую тему.
Впрочем, можно и иначе- восстановить, так сказать, аутентичность. Если уже есть готовый модуль управления (типа моего, от Tuya или чьего-то еще со странным расположением контактов) или достался родной модуль и хочется поставить его, то понадобится вот такой вот шнурок:
Увы, такие появляются в продаже редко, и столь же редко мелькают б/у-шные на Avito. К тому же стоят , по какой-то причине, как крыло от боинга, видимо, из-за оригинального разъема. Но нам пофигу, мы можем обойтись и вот таким вот удовольствием из Китая с разъемом PH2.0 4p:
Называется незатейливо: "Кабель USB к 4P PH2.0", заказывал вот здесь: https://aliexpress.ru/item/1005005690645050.html?spm=a2g2w.orderdetail.0.0.5c124aa6UL7siY&sku_id=12000034019732154 Почти то же самое, разница лишь в чуть меньшей длине провода, что никак не помешает его уложить как надо и вывести в родной отсек, потому как оболочка разъема USB вообще как 2 капли воды похожа на оригинал по размерам. Втыкаем такой шнурок в плату, укладываем кабель, втыкаем разъем на свое место а модуль- в разъем. Готово!
Но бывает и похуже.
Если у Вас дырки от бублика разъема
Да, бывает и так. Когда в комплектации нет модуля WiFi, бдящие за предельной экономией китайцы могут и не впаять разъем на полагающееся место. То есть платы такие же, как и раньше, только выглядит нужное место вот так:
Ну, не стоит отчаиваться! Работы, конечно, станет резко больше, ведь придется не только впаять разъем на свое законное место, но сначала извлечь плату из кондиционера, а после пайки поставить плату обратно! И это нетривиальная задача, скажу я вам, количество подключенных к плате проводов велико, многие провода имеют одиночные разъемы, а иногда и цвета проводов сходны! Если возьметесь сами- лучше фотографируйте весь процесс, чтобы по фотографиям вернуть все на место. Так-то ничего сложного нет, конечно, лишь бы провода не перепутать. Потому если есть страх перед нанесением ошибки, и, при этом, возможность обратиться к мастеру по ремонту кондиционеров- лучше так и сделать.
Что касается разъема, как раскопал камрад Dudanov, в оригинале применяется разъем FAF китайской компании KUNSHAN JIAHUA ELECTRONICS CO.,LTD. Такой разъем не достанешь и при наличии ружья, я запрашивал у поставщиков и ответ был "от 8 до 12 недель и по цене по 12 баксов за штуку". Да нафиг оно надо! Достоинство оригинального разъема- наличие защелки-собачки, не позволяющей разъему бесконтрольно рассоединиться в результате вибрации или механического воздействия. Однако, нам же этого не надо, оно все будет стоить на одном месте под крышечкой во внутреннем блоке кондиционера, надежно прикрученном к стене. Так что если и будет вероятность рассоединения разъемов из-за, скажем, падения стены, то у Вас проблемы посерьезнее, чем отцепившийся разъем. А вместо оригинального и дорогостоящего разъема подходит уже описанный ранее PH2.0 4p с алиэкспресса. Тем более, если оригинального провода нет, то именно этот вариант станет лучшим- "Кабель USB к 4P PH2.0" с алиэкспресса как раз имеет такой, так что будет лишь надежнее. И беспокоиться о том, что "если вдруг случиться найти оригинальный провод, то он не влезет" не надо- да, защелка не зацепится, но сам разъем воткнется как надо и все будет работать.
А можно вообще пойти другим путем, и не использовать разъем USB вообще, отрезав ненужную деталь и просто припаяв провода к модулю! Или взять провод, где с одной стороны PH2.0 4p, а с другой- просто провода, которые и припаять к модулю! Но тогда уже с цветами проводов предстоит разбираться самостоятельно- вряд ли порядок будет такой же, как и у провода с разъемом USB.
Ну конечно же, можно и не паять разъем, а сразу напрямую припаять провода к плате, а с другой стороны провода сразу припаять к модулю! А вдруг чего, вдруг отцепить модуль надо будет, а тут вот это вот все? Решать, конечно же, не мне, и я бы так не делал. Но если уж захотелось сделать именно так, например, сэкономив немного рублей на разъемах и проводах, чтобы позже прикупить себе бутылочку пива, а то и упаковку из 4 банок, то имейте ввиду: провода должны быть максимально одинаковой длины, уложены предельно близко или, лучше, скручены между собой, но при всем этом длина не должны превышать 30-40 см! Иначе там сбои будут в предаче данных, еще навернется что-нибудь... Хуже этого не бывает ведь. Или бывает?
"А вот я никак не могу найти нужны разъем на плате, че делать?"
Я попробую угадать, плата вот такая вот?
Ну, могу лишь посочувствовать: это выигрыш в бомж-лоттерею! Нищеброд-удача повернулась своим обветренным и неухоженным лицом! Это реально самая ультра-эконом плата из всех, какие есть, просто мечта эффективных менеджеров и влажная фантазия скупердяев! На ней нет почти ничего, кроме бесконечной тоски и чувства обреченности и уж точно нет ни разъема под модуль управления, ни даже возможности туда его вкрячть- даже микроконтроллер порезанный!
Я как раз купил в комнату старшей дочери кондиционер с такой платой, кондиционер звать TCL TAC-09CHSA/IF- в начале статьи упоминал про него. Причем, там не обязательно будет именно эта плата, но мне "повезло", как и еще нескольким знакомым, которые брали кондиционеры на озоне примерно вместе со мной.
Я изучил эту плату на столько, на сколько это возможно, в том числе нашел даташит на микроконтроллер, нашел где у него выводы UART, но на них пусто- никаких признаков обмена данными. Так что я вижу только один вариант решения вопроса: эвтаназия замена платы. Надо обкашлять еще вопросики с ремонтниками кондиционеров на момент возможности подобной замены (в кондиционерах я не силен), но что-то подсказывает, что железки там очень похожи между собой, а размеры платы схожи с другими версиями, более нашпигованными. Но это, конечно, уже вопрос будущего, на сколько далекого- пока не ясно.
В качестве эпилога
Эх, хотел написать эту часть еще давно, да все никак- то с женой беготня, то у меня опять началась проблема с ногой и я, вдохновившись тем, как смело перенесла операцию жена, сам таки решился подпустить к себе хирурга. Надо отдать должное- хирург сделал все быстро и четко, теперь, будем надеяться, больше проблем с ногой не будет. Обидно было лишь то, что разрез делался сзади и на 6 см вглубь, так что сидеть я не мог вообще, потому скорбел о случившемся полулежа, бегая на перевязки в поликлинику.
Но так или иначе, с подключением должны были разобраться, в следующей части затронем тему конфигурирования компонента с точки софта. А потому подписывайтесь, чтобы не пропустить! Ну и лишний раз напоминаю, что поддержать меня можно либо кнопкой "Поддержать" в конце статьи, либо вот этой ссылкой: dzen.ru/solovey_with_payalnik?donate=true . Но кидайте донаты только добровольно и не в ущерб себе любимому! Это здорово меня вдохновит и поможет продолжать.
До встречи в следующей части!