вторник, 6 января 2015 г.

Использование телевизора как монитора, через wifi (gemoroi edition)

Вводная: Есть телевизор LG 47LB650V. На него нужно сделать вывод графиков из 1С. в идеале с возможностью управления. То есть использовать телевизор в качестве монитора. Но телевизор подключен к сети через WiFi. Возможности проложить дополнительно провода или установить рядом компьютер-неттоп нет. Из хорошего - частота обновления достаточная для нормальной работы - один раз в минуту, то есть видео не будет.

Поиск решения: Телевизор "умный" - SMART TV, есть магазин приложений и веб-браузер. Но чего-то для удалённого доступа к экрану монитора нет. (VNC, team viewer, RDP и прочее). Заявленный Screen Share также совершенно не работает. Miracast || Intel WiDi также не подошли по причине требования определённого сочетания железа и софта (ну и по невозможности поставить комп рядом). Думал над тем, чтобы выгружать графики в jpeg, а затем транслировать через DLNA - проблема в 1Ске (много графиков + могут меняться). Трансляцию рабочего стола в поток DLNA (к примеру через VLC) не завелась. 

Из за корявого встроенного браузера всевозможные logmein, teamviewer, rdp over web не заработали. Родное VNC over web также не заработало, так как сделано через java, а телек его не поддерживает. То есть не поддерживает вообще ничего - ни джаву, ни флэш, ни activex.

Продолжая гуглинг наткнулся на такой софт ка NoVNC, который работает через Web Sockets, по сути проксируя родной TCP-IP VNC в web-sockets. Далее инструкция по настройке. 

1. Заходим на http://www.tightvnc.com/download.php  и скачиваем TightVNC (в моём случае это был 32 битный инсталлер)

2. Устанавливаем. Я при установке выбрал устанавливать только сервер. Также при установке выбрал устанавливать, как службу и добавить исключение в  файрвол.

3. Затем идём в настройки сервера, вбиваем пароль. Можно отключить встроенный web-доступ (там через джаву). Главное на вкладке Access Control (на вкладе "Administration" в ветке 1.х), установить галочку - "Allow loopback connections"

4. Далее скачиваем websockify https://github.com/downloads/kanaka/websockify/websockify.zip . Данная программа используетя как прокси для доступа к vnc порту через web socket`ы. Распаковываем (в моём примере в папку C:\NoVNC\)

5. Далее скачиваем сервис Windows Websockify Service https://github.com/downloads/kanaka/websockify/Websockify%20Windows%20Service.zip
Распаковываем (в моём примере в папку C:\NoVNC\)

6. Создаём файл install.cmd который сделает установку службы -
sc create "noVNC Websocket Server" binPath= "C:\NoVNC\noVNC Websocket Service.exe" DisplayName= "noVNC Websocket Server"
Запускаем

7. В той же папке создаём файл noVNCConfig.ini и заполняем его примерно так -
:7000 localhost:5900
(7000 порт для вебсокета, localhost - текущий комп, можно сделать перенаправление на другой, но в рамках данной статьи это не рассматривается, 5900 - порт VNC по умолчанию, если вы его меняли установите другой)

8. Далее заходим в оснастку "Управление" запускаем службу  "noVNC Websocket Server" (можно сразу изменить тип запуска на "Авто")

9. Теперь можем заходить на http://novnc.com/ и тестируем соединение указав в качестве хоста наш внешний адрес (можно посмотреть на 2ip.ru, если есть роутер, то нужно настроить перенаправление на порты 5900-5901 и 7000)

10. Если всё работает, то можно копировать novnc на свой сервер - https://github.com/kanaka/noVNC/releases/latest

11. Далее можно настроить прямой доступ на рабочий стол по адресу и добавить в страницу по умолчанию на телевизоре - http://httpserver/noVNC-0.5/vnc_auto.html?autoconnect=true&host=HOSTNAME&port=7000&password=PASSWORD&encrypt=false

Mission complete! 



Комментариев нет:

Отправить комментарий