Firs (firs_away) wrote,
Firs
firs_away

Category:

Управление телевизорами LG по RS232

Задумали мы тут кое какие картинки выводить на телевизоры.
Выводить нужно в рабочее время, а чтобы по ночам зря экранами не светить, ресурс подсветки не сажать и электричество не тратить, решили процесс включения, выключения экранов автоматизировать.



Купили мы телевизоры марки LG, т.к. большинство телевизоров этого производителя имеют управление по RS232.
Проблема в том, что не все телеки имеют, собственно, сам порт RS232


На многих моделях реализовано подключение либо через миниджек либо через USB порт.



У кого миниджек, тем повезло, а мы взяли модель LG 43LH541V и оказалось, что в наличии имеется только USB.


И вот тут всплывает один неприятный момент. Для управления через USB порт, нужен специальный шнурок USB to RS232.
Фигня вопрос, скажиете Вы, в магазинах таких навалом. И будете не правы. Дело в том, что для подключения к телевизору LG, нужен специальный шнурок, чтобы Vendor ID были такими: VID 0557 / PID 2008, а сам чип Prolific 2303. Это написано в мануале на телевизор:

Так вот, я смог найти только один шнурок с такими VID/PID, это Aten uc232a. Всё, что валом продаётся на ebay, aliexpress и т.д., на чипах PL2303, имеют VID 067B и PID 2303 и телевизор их не понимает.

Однако, решение есть!
Замечательная контора Prolific дала нам позможность менять Vendor ID, правда для этого, как обычно, придётся немного поработать паяльником :)

Для начала, выясняется, что у Prolific есть два чипа PL2303. Подробнее тут: https://sites.google.com/site/elcunit/stati/interfejsy/usb-uart
В кратце:
Есть чип PL-2303HXD и есть PL-2303HXA.
К PL-2303HXA может быть подключена EEPROM, куда записываются те, самые VID / PID. Если же EEPROM не подключена, то используются дефолтные VID 067B / PID 2303. Как раз на 99% китайских USB - TTL переходниках EEPROM не ставится.
К PL-2303HXD EEPROM не подключается, у неё на борту есть, так называемая OTP (One Time Programming) ROM. В которую также можно прописать VID / PID, но, судя по мануалу, сделать это можно всего 2 раза. Для записи нужно притянуть 20 пин (VDD_5) к 6.5V питания (тогда разрешается запись OTPROM). У меня PL-2303HXD в загашниках не нашлось, так что этот способ я не пробовал. Скорее всего можно купить переходник на этой микросхеме, прописать нужные Vendor ID и всё сразу заработает.

Мне пришлось пойти по более сложному пути, т.к. у меня было много переходников на PL-2303HXA, не пропадать же добру.
Как Вы уже поняли, будем подключать к чипу EEPROM.
Саму EEPROM можно использовать самого маленького объёма, например 24c02. Стоит около 10 руб.

Смотрим demo board на микросхему: http://avr.ru/int/Files/Dounload/manual/SCH_PL2303HX_v1.0.pdf


Подключаем EEPROM согласно мануалу.
Я решил навесить прямо к плате "на соплях". Получилось вот так:


Затем берём в руки программку EEWriter, которую скачать можно тут: https://sites.google.com/site/klaasdc/modify-pl2303-pid-vid
И меняем наши Vendor ID.


Проверяем в Диспетчере устройств, что ID поменялись (даже драйвера от Aten подошли :) )


Теперь модифицированый шнурок можно приводить в "юзабельный" вид и подключать к телевизору.
С обратной стороны я припаял Prolific с обычными ID 067B / 2303, т.к. он подключается к компьютеру, и тут прописывать какие-то спецэфические ID не нужно.
Важно не перепутать и соединять RX / TX линии двух адаптеров кроссом, иначе связи не будет.
RX --> TX
TX --> RX


Команды для управления телевизором, легко гуглятся.
Например, в этом документе есть хорошее описание команд: m3701c-ba-rs232c.pdf
Тут тоже некоторые примеры: https://support.justaddpower.com/kb/article/36-lg-rs232-control

Пользоваться довольно просто.
Например, запускаем Putty, выбираем Serial и пишем номер COM порта, который у Вас занял Prolific. Скорость 9600 (в телевизорах по умолчанию стоит 9600).


Затем в терминале пишем команду Mute ON: ke 01 00
Потом Mute OFF: ke 01 01
P.S. То, что при вводе символы не будут отображаться не экране - это нормально :)

Если всё спаяно и подключено правильно, то на телевизоре сначала выключится звук, а при вводе второй команды, звук включится.
Точно также используются все остальные команды.

Мы, в своей инсталяции, в нужное время, командами в скриптах, включаем или выключаем экран телевизора.
Тут стоит обратить внимание, что при USB подключении нельзя использовать команду выключения телевизора, т.к. включить его потом будет невозможно.
USB порт отключается вместе с питанием телевизора, поэтому приходится пользоваться командой Screen Mute.

UPD.
Оказывается, в новых Smart TV LG, с операционкой webOS, тоже работает управление по USB - RS232.
Рассмотрим на примере модели LG 43UN71006LB 43"
По умолчанию, функция управления по RS232 отключена. Включить её можно в сервисном меню.
Как это сделать, можно почитать тут: http://webos-forums.ru/topic3173.html
И так, нам нужно зайти в IN START, выбрать пункт System2 и там пункт RS-232C Control переключить в On.

После чего управление начинает работать.

Tags: lg rs232, lg tv rs232, lg tv serial, lg tv serial control, serial control lg, телевизор LG, управление по RS232, управление телевизором LG
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 11 comments