Dvi switch своими руками

Содержание
  1. SDR и Ретро от RA3PKJ
  2. Вы на странице: Ручной коммутатор монитора
  3. Ручной коммутатор монитора
  4. Создайте тему (если она ещё не создана) на моём форуме http://ra3pkj.keyforum.ru (кликабельно)
  5. Чистые платы для различного применения от Юрия (R3KBL) на его сайте http://sdrham.ru (кликабельно)
  6. Описание
  7. Простой переключатель компьютерных консолей на транзисторе и реле (KVM Switch)
  8. Принципиальная схема
  9. Как изготовить kvm свитча своими руками. Обзор KVM переключателя из Китая. Выходим в прямой эфир
  10. Заливаем дистрибутив
  11. Передача видео
  12. Передача управления
  13. Прошивка Atmega16u2
  14. Приступаем к прошивке arduino
  15. Финишная прямая
  16. Подключение
  17. Запуск
  18. Плюсы:
  19. Минусы:
  20. План мероприятия таков:
  21. LKV373A, предыстория
  22. Передатчик
  23. Ищем LKV373A в сети
  24. Прошиваем
  25. Подключаемся через телнет
  26. Веб интерфейс
  27. Приемник
  28. Windows
  29. Linux
  30. Выходим в прямой эфир!
  31. Передача управления
  32. Выбор комплектующих
  33. ESP8266
  34. Прошивка
  35. Подведем итоги
  36. Плюсы:
  37. Минусы:

SDR и Ретро от RA3PKJ

Вы на странице: Ручной коммутатор монитора

Ручной коммутатор монитора

Создайте тему (если она ещё не создана) на моём форуме http://ra3pkj.keyforum.ru (кликабельно)

Чистые платы для различного применения от Юрия (R3KBL) на его сайте http://sdrham.ru (кликабельно)

Описание

Однажды давно, после изготовления SDR-моноблока пришлось мне озаботиться проблемой коммутации единственного на тот момент VGA-монитора (с аналоговым входом), призванного работать на два фронта — на моноблок и на основной компьютер. Изготовленный коммутатор позволяет переключаться «на ходу» при работающем оборудовании. Естественно, с массовым внедрением мониторов с цифровым входом HDMI или DVI, данная статья вероятно потеряет актуальность.

Эстетичная коробочка у монитора (бывшая мыльница):

Для комплектации коммутатора требуются три 15-контактные розетки (контакты в три ряда). Так как у меня не оказалось под рукой нужных разъёмов, то пришлось позаимствовать разъёмы от не нужных «VGA-удлинителей»:

Переключатель использован от старого катушечного магнитофона. Скачать фото монтажа коммутатора: kommutator_3.jpg

Извиняюсь за рукописную схему, но нет времени окультуривать. Тем более, что схема незамысловатая и читается хорошо.

Скачать показанную выше схему (130кБайт) : kommutator_shema.gif

Обратите внимание, что стандартный VGA-кабель имеет на обоих концах 15-контактные вилки (контакты в три ряда). Но существуют так называемые VGA-удлинители, имеющие на концах вилку и розетку. Последние встречаются в продаже не так часто. Стандартный кабель показан ниже (ферритовые кольца примастырил я):

Кстати, 15-контактные разъёмы существуют в природе с двумя рядами контактов и имеют увеличенную длину. Естественно, что такие разъёмы для комплектации коммутатора не годятся, не ошибитесь при покупке.

Источник

Простой переключатель компьютерных консолей на транзисторе и реле (KVM Switch)

Если вы уже, длительное время пользуетесь персональным компьютером, то вам приходится периодически обновлять не только программное обеспечение, но и «железо», тоесть, сам компьютер. А что делать со старым? Особенно, если от него остается только системный блок (монитор «перебрался» к новому). Приобретенный десять лет назад «486DX33», который был тогда последним достижением техники, сейчас уже продать невозможно.

Да и жалко, — ведь он за свою долгую (по компьютерным меркам) жизнь успел обрости программаторами микроконтроллеров и ППЗУ, на нем стоят (и хорошо работают) различные радиолюбительские и радиотехнические программы. Вот только, для работы в интернете он не пригоден (потому и был приобретен новый).

Устанавливать всю эту «архитектуру» на новый проблематично, — не хватает портов СОМ и LPT (в старом было три СОМ и два LPT), а с портами USB нового ничего из старой периферии работать не может. Вот и было решено сохранить два системных блока и две «мышки».

И переключать между ними монитор и клавиатуру. Тем более, для этих целей в продаже бывают (отвратительные, как выяснилось) переключатели рабочих мест.

Приобретенный механический переключатель рабочих мест «Мaxtro» проработал не более месяца. Потом начались «выкрутасы» — то клавиатура неправильно работает, то на мониторе не все цвета. Приходится все-время его рукоятку как-то пододвигать, подталкивать, чтобы поймать момент, когда все будет работать нормально.

После продолжительных мучений с ним было решено сделать самодельный переключатель рабочих мест, но не на тайванском «галетнике”, контакты которого просто облезли, а на советстких реле РЭС-22, управляемый двумя кнопками.

На удивление, «Мaxtro» переключал все контакты разъемов клавиатуры и монитора, потому и в нем было так много контактных. На самом деле, для таких переключений достаточно семи контактных групп, потому что все «GND» можно соединить вместе, а питание клавиатуры коммутировать двумя диодами. Каждое РЭС-22 имеет по четыре контактные группы, поэтому, даже остается одна из них, которую можно использовать для управления самими реле (триггерный эффект реле).

Принципиальная схема

Схема сделана так, что она опознает включенный компьютер 2 по поступлению от него напряжения питания +5 V на клавиатуру. Если включить компьютер 2, то напряжение +5V поступит через конденсатор С2 на базу транзистора VT1, который откроется и включит реле.

Оно самоблокируется свободной контактной группой К1.4 и после окончания зарядки С2 останется включенным. В таком состоянии клавиатура и монитор переключатся на компьютер 2. В обесточенном состоянии клавиатура и монитор переключены на старый компьютер 1.

Рис. 1. Принципиальная схема коммутатора консолей.

Все детали собраны в железном корпусе от переключателя «Maxtro». «Мышки» используются отдельные для каждого из компьютеров. Питается переключатель от сетевого адаптера от неисправного принтера.

Проблема переключения принтера между двумя компьютерами решена иначе. Принтер (Samsung 1210) имеет два порта — LPT и USB. Порт LPT подключен к старому системному блоку, a USB — к новому.

Источник

Как изготовить kvm свитча своими руками. Обзор KVM переключателя из Китая. Выходим в прямой эфир

Эта статья написана под впечатлением от другой — большое спасибо автору! В этой статье почти удалось сделать собственный IP KVM Switch, и это круто! Но объясню, почему почти. Да, там все работает как и написал автор… До момента перезагрузки в биос — там вся магия рассеивается и сколько не старайся, ничего не происходит.

Решено было исправить это досадное недоразумение и как можно дешевле и компактней. Начнем со стереотипов Raspberry Pi и Arduino, а в следующей статье будет продолжение уже на другом железе.

Итак, что нам понадобится:

1. Плата видеозахвата обязательно с поддержкой UVC драйвера, вроде этой.Вариантов
полно на алиекспрессе и других китайских магазинах.

UVC это стандартизированный открытый драйвер который по умолчанию входит в большинство линукс дистрибутивов, с другими драйверами могут быть проблемы.

2. VGA to AV Конвертер:

Обратите внимание! Нужен именно VGA to AV, а не наоборот.

3. Arduino UNO, именно UNO, так как на ней есть чип Atmega16u2, он нас интересует в первую очередь. Вот он рядом с USB портом, так же бывают ардуины с чипом Atmega8u2 подойдут и с тем и с тем.

Читайте также:  Декор дверной коробки своими руками

4. Ну и конечно Raspberry Pi, у меня был версии 2 b поэтому все написанное в этой статье актуально именно для него, но в целом думаю не должно возникнуть особых сложностей и с другими моделями малины.

Заливаем дистрибутив

Подключаем плату видеозахвата к распберри, подключать лучше напрямую к USB не используя USB удлинителей особенно того что идет в комплекте с платой, иначе может возникнуть торможение видео, подвисания распберри и т.д.

Переходим в консоль, обновляем пакеты:

Sudo apt-get update && sudo apt-get upgrade –y

Передача видео

Ls /dev/video*
Должно выдать что-то вроде: /dev/video0.

Устанавливаем Motion, трансляцию захваченного изображения будем вести именно через него:

Sudo apt-get install motion -y
Редактируем конфиг автозапуска:

Sudo nano /etc/default/motion
В строке start_motion_daemon ставим ‘yes’. Сохраняем изменения Ctrl + x, y, Enter.

Редактируем конфиг самого motion(а):

Sudo nano /etc/motion/motion.conf
Меняем значения параметров как указано далее:

Параметр определяет запуск приложения в качестве службы:

Daemon on
Эти параметры определяют разрешение передаваемого изображения, смысла ставить большее разрешение нет, т.к. захват видео ограничен стандартами PAL или SECAM, разрешение коих 720х576. Это кстати досадный недостаток, но об этом позднее.

Width 800 height 600
Частота захвата кадров:

Framerate 25
Отключаем сохранение скриншотов:

Output_normal off
Качество передачи изображения:

Webcam_quality 100
Частота передачи кадров:

Webcam_maxrate 25
Отмена ограничения на подключение с других ip

Webcam_localhost off
Сохраняем изменения Ctrl + x, y, Enter.

Sudo reboot
Ждем пару минут если все сделали правильно должен загореться светодиод на плате видео захвата.

Подключаемся браузером к порту 8081 распберри и видим серый или синий прямоугольник с бегущим снизу временем.

Процесс пошел, ищем жертву для захвата сигнала с VGA порта, подключаем к порту “VGA IN” конвертера, а плату видеозахвата к “VIDEO OUT”. Должна получиться примерно такая картинка, не пугайтесь у меня плохой кабель поэтому изображение «двоит», пробовал с другим изображение было лучше, но разрешение не изменить. 720х576 это ограничение конвертера и платы видео захвата, которое при всем желании не преодолеть.

Что ж передавать изображение научились, осталось дело за малым — передать управление.

Передача управления

Прошивка Atmega16u2

Инструкция в данной статье написана для windows, линуксоиды же могут воспользоваться этой .

И так приступим, для прошивки потребуется утилита от производителя под названием Flip . Качаем, устанавливаем, запускаем и вот перед нами окно программы:

Сначала кнопки(галки) не активны, это нормально, подключаем ардуину к компьютеру и замыкаем – размыкаем два крайних контакта со стороны USB порта, RESET и GND.

В системе должно появиться новое устройство под названием, как ни странно, ATmega16u2 устанавливаем драйвер(в папке с программой), выбираем в программе flip вкладку «Settings» → «Communication» → «USB» → «open», кнопки должны стать активны. На всякий случай можно сделать бэкап прошивки, чтоб можно было все вернуть на место. В меню «File» нажимаем «Load HEX File», программа требовательна к путям, лучше всего положить файл прошивки в корень диска C:, выбираем нужный hex файл с прошивкой, проверяем стоят ли галки «Erase», «Program», «Verify» и нажимаем «Run». Отключаем — подключаем arduino и вуаля… Теперь мы больше не сможем загружать прошивки в ардуино через встроенный USB, зато получили отличную клавиатуру без кнопок.

Не переживайте по поводу прошивки arduino, прошивку можно будет загрузить из Arduino IDE через отдельный USB To TTL адаптер, хотя надо сказать, теперь это будет менее удобно.

Подключаем USB To TTL адаптер, например такой:

Нам понадобятся Белый, зеленый и черный контакты это RX, TX и GND соответственно, подключаем их к пинам с такими же обозначениями на ардуине, только наоборот RX к TX, а TX к RX. Красный контакт использовать не следует!

Подключаем USB To TTL к компьютеру, устанавливаем драйвера, в диспетчере устройств должен появиться новый COM Port. Открываем arduino IDE и выставляем: Плата — Arduino/Genuino Uno, Порт – наш новоиспеченный последовательный порт.

Приступаем к прошивке arduino

Подготовка закончена, переходим непосредственно к прошивке. Копируем мою писанину:

вставляем в arduino IDE и нажимаем кнопку проверки. Вот сейчас начнется самый ответственный этап, тут самое главное поймать момент, мало у кого получается с первого раза. Нажимаем кнопку загрузки в arduino IDE, сначала побегут белые строчки с логом компиляции, за ними последуют оранжевые, это уже установка соединения с последовательным портом, вот этот самый момент надо поймать и успеть нажать на плате ардуины кнопку RESET. Должна произойти загрузка прошивки, если все удачно вы увидите надпись вроде этой

Avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.34s avrdude: verifying . avrdude: 2934 bytes of flash verified avrdude done. Thank you.
Если после нескольких попыток загрузка прошивки так и не произошла, попробуйте поменять местами контакты RX и TX, а также проверьте надежно ли подключен контакт GND.

Финишная прямая

Sudo raspi-config
Откроется меню настройки распберри, выбираем «Advanced Options» → «Serial» и выбираем «No».

Возможно эти манипуляции и не понадобятся, так, перестраховка. Этот параметр определяет, будет ли ОС на малине взаимодействовать с serial портом, это взаимодействие нужно в основном для отладки, так что смело отключаем, нам оно будет только мешать, т.к. с ардуиной мы будем общаться именно через этот порт, а система будет засорять эфир.

Устанавливаем программу minicom.

Minicom — простенькая программа для работы с serial портом.

Sudo apt-get install minicom -y
Задаем права на доступ к устройству, /dev/ttyAMA0 — это тот самый сериал порт.

Sudo chown pi /dev/ttyAMA0 sudo chmod 744 /dev/ttyAMA0
Запускаем minicom:

Sudo minicom -s
Откроется меню программы, выбираем пункт «Serial port setup», откроется еще одно меню, выбираем «Serial Device» нажатием на клавишу A, прописываем /dev/ttyAMA0, нажимаем Enter, далее выбираем пункт Bps/Par/Bits под буквой E, появляется очередное меню нажимаем C и Q строчка Current: должна выглядеть вот так «9600 8N1» нажимаем Enter. Убедимся что в строчках F — Hardware Flow Control: и G — Software Flow Control: стоит No, в общем все должно быть как на скриншоте ниже, нажимаем Enter.

Сохраним эти настройки как настройки по умолчанию «Save setup as dfl» и закрываем «Exit from Minicom».

Подключение

Здесь есть один момент, у ардуино и распберри разные уровни напряжения и по идее их нужно согласовать, советую ознакомиться со статьей .

Хотя у меня все заработало напрямую без согласования, не следует подражать плохому примеру и приобрести преобразователь логических уровней, самый простой выглядит так:

Или хотя бы собрать делитель напряжения на резисторах.

Запуск

Проверяем все соединения, вкючаем raspberry pi, переходим в консоль малины, запускаем minicom. Сразу оговорюсь я подключался к малине через ssh, в качестве клиента использовал KiTTY(модифицированную версию PuTTY), это важно т.к. с другими терминалами значения передаваемых клавиш могут быть иными и соответственно нужно будет сделать поправку на ветер — поменять номер перехода switch case.

Читайте также:  Как сделать слайм снег своими руками

В общем передаю вам в руки как говорится «as is». Что ж на этом пожалуй закончу, самодельный IP KVM готов.

Плюсы:

— Тонкая настройка
Можно перехватывать практически любые комбинации и назначать на них практически любые клавиши вплоть до KEYBOARDPOWER и VOLUMEUP, кстати возможные значения можно посмотреть в заголовочном файле HIDKeyboard.h, а можно и добавить свои.

Минусы:

Теги: Добавить метки

Здравствуйте друзья! Для подключения двух компьютеров к одному интерфейсу, я приобрёл на Aliexpress-е за 4$ вот такой, самый простой KVM VGA переключатель.

Выбор пал на VGA, так как мой монитор не имел HDMI входа, а по входу DVI не захотел работать через адаптер.

Предположение, что на печатной плате хватит места на ещё два переключателя для коммутации аудио и USB разъёмов, полностью оправдалось.

Конечно, можно было бы приобрести уже готовый переключатель, но я не нашёл ни одной полностью удовлетворяющей моим запросам модели. Это касалось, как расположения кабелей, так и необходимости использования, либо специальных кабелей, либо USB и аудио кабелей с двумя разъёмами.

Так что, я решил, что будет проще и дешевле переделать именно вот этот девайс под свои запросы.

Правда, пришлось заменить переключатель мониторов, так как мне попался усечённый вариант KVM VGA, где не хватало одной группы контактов. Как потом выяснилось, нужно было выбирать вариант, где в технических данных было прописано разрешение Full HD. Но, и тут трудностей не возникло, так как необходимые дорожки были проложены на плате и осталось просто заменить П2К.

Два дополнительных переключателя распаял в пистонах, запрессованных в печатную плату.

Для дополнительных кнопок пришлось просверлить в лицевой панели два отверстия.

Ещё шесть отверстий просверлил в задней стенке для соединительных кабелей.

USB кабели тоже изготовил самостоятельно.

Для усиления резьбы, соединяющей половинки корпуса, запрессовал две буксы, чтобы с помощью дополнительных угольников можно было надёжно закрепить переключатель.

Вот что у меня получилось в результате.

С помощью этого KVM переключателя, я коммутировал интерфейсы двух ноутбуков, работающих десктопами.

Переключатель закрепил на полке, расположенной над столом. На этой фотографии видно, что кнопки переключения мониторов были заменены. Оригинальные кнопки оказались слишком короткими и их было неудобно нажимать.

Это уже третья вариация на тему IP KVM»а, на этот раз концепт полностью пересмотрен, начнем строить нечто новенькое. Будет много интересного, не отходите от экрана. Появится еще один необычный девайс, отбросим почти все старые компоненты, вернемся обратно к родной ардуино и немножко поиграем в хакера.

Для тех, кто только что присоединился, краткое содержание предыдущих серий:

  • Собирали IP KVM на Arduino и Raspberry Pi, получилось дорого и с плохим качеством видео.
  • OrangePI и Atmega16u2, поучилось дешево, но качество изображения всё также отвратительно.

И вот, наконец, в этой статье будут исправлены все минусы предыдущих. Особый упор будет сделан на максимальное снижение стоимости компонентов.

По традиции рассмотрим составные части собираемого устройства:

1. Наша старая знакомая Atmega16u2:

Это единственный компонент, который перейдет из предыдущих статей.

2. Небезызвестный ESP8266, в данном случае ESP8266-12e:

Можно использовать и другую версию ESP8266, только необходимо учитывать количество и расположение портов.

3. И, собственно, виновник торжества LKV373A

Благодаря этому устройству стало возможным передавать видео по локальной сети, с высоким
разрешением вплоть до full-HD.

План мероприятия таков:

  1. Игра в прятки: Ищем LKV373A куда он спрятался в сети под каким ip адресом
  2. Игра в хакера: Заливаем прошивку, сбрасываем пароли и настраиваем LKV373A
  3. Заводим новых друзей: ESP8266, Arduino IDE и веселые картинки
  4. Финал торжества. Подключаем все компоненты и передаем нажатия клавиш через telnet

LKV373A, предыстория

Итак, приступим! LKV373A или HDMI Extender устройство для захвата изображения прямо с порта hdmi и трансляции в локальную сеть, эти устройства еще называют hdmi удлинителями. По задумке производителей комплект подобных устройств должен состоять из transmitter (передатчика) и receiver (приемника), обозначение TX и RX соответственно. Использоваться они должны, вероятно, для того, чтобы приносить производителю больше прибыли, только в паре. Но нашелся человек, под ником Danman вот ссылка на его блог, которому стало интересно как это работает. Открыл он Wireshark, поснифал трафик передаваемый TX устройством, что же оказалось?

Видеопоток передается без какого-либо шифрования, и при помощи VLC Player»a можно посмотреть его без лишних усилий. Но на этом он не остановился, «пощупал»: и веб интерфейс, и TTL, и телнет, и даже прошивку программатором стянул. Об этом он в подробностях рассказал в своем блоге. Там же была выложена прошивка, которая интересует нас в первую очередь: IPTV_TX_PKG_v4_0_0_0_20160427.PKG. В этой прошивке веб интерфейс с расширенными настройками, а не как у стандартной только кнопка обновить. К тому же, в этой прошивке есть телнет с множеством команд для настройки. Именно при помощи этой прошивки мы перенастроим HDMI Extender под наши задачи. Прошивку и все необходимое я выложил на github вот ссылка , она понадобится нам позднее, а пока заканчиваем с теорией. Переходим к практике.

Передатчик

Ищем LKV373A в сети

Мне попался в руки такой же extender что и Danman(у). Все что будет изложено далее подходит именно для HDMI Extender LKV373A версии V3.0!

Подключаем LKV373A к локальной сети, включаем питание. Теперь попробуем удостовериться, что устройство видно в сети ping 192.168.1.238 .

192.168.1.238 это IP-адрес по умолчанию. Если на extender»ре старая прошивка адрес не изменится, независимо от того, присутствует DHCP сервер в сети или нет. Более новые версии прошивки используют IP по умолчанию только, если устройство не смогло получить адрес от DHCP. Если на ping запрос получили ответ, продолжаем дальше. Если нет, не отчаивайтесь, попробуйте подключить extender напрямую к LAN порту компьютера и воспользоваться сниффером.

Прошиваем

HDMI Extender нашли, перейдем к прошивке. Зайдем на гитхаб и скачаем все, что там выложено. Теперь откроем веб интерфейс extender»а через браузер и увидим такую картину:

Нажимаем «Browse…», выбираем прошивку, файл с названием IPTV_TX_PKG_v4_0_0_0_20160427.PKG, и нажимаем «Upgrade». Тадам! Прошивка завершена, теперь подключимся к LKV373A по телнету, чтобы сбросить пароль.

Команда для подключения будет выглядеть примерно так Telnet 192.168.1.238 9999, где 9999 — это порт для подключения. КЭП предупреждает: адрес полученный от DHCP можно узнать при помощи сканера сети.

Подключаемся через телнет

При подключении должно появиться следующее сообщение:

Читайте также:  Как сделать бумагу с цветами своими руками

Пишем list . В ответ получаем список команд:

============================== ========IPTV TX Server======== ============================== input>list set_group_id get_group_id set_dhcp get_dhcp set_uart_baudrate get_uart_baudrate set_static_ip get_static_ip set_mac_address get_mac_address get_lan_status get_hdcp get_video_lock get_ip_config set_session_key set_device_name get_device_name set_video_bitrate get_video_bitrate set_downscale_mode get_downscale_mode set_video_out_mode get_video_out_mode set_streaming_mode get_streaming_mode get_fw_version get_company_id factory_reset reboot list exit

Для сброса всех настроек и пароля используем команду factory_reset . Пишем команду, нажимаем enter и получаем такую картину:

Input>factory_reset Processing factory reset! System will reboot after few seconds! Connection closed by foreign host.

Веб интерфейс

Теперь мы можем настраивать устройство как нужно нам. Зайдем в веб интерфейс. Используем стандартные логин:admin пароль:123456 и вот он, «желанный» веб интерфейс с дополнительными пунктами настройки:

Хотя возможностей в веб интерфейсе прибавилось, но их всё же для наших целей недостаточно. Особенно не хватает более свободных настроек в части стриминга, там жестко задан, далеко не самый удобный, список ip-адресов на которые можно стримить. Есть конечно мультикаст, но это лучше оставить для телевидения. Ограничения можно обойти, об этом немного позднее.

Вот, устройство в сети нашли, прошивку «накатили», пароли сбросили. Передатчик почти готов перейдем к приемнику.

Приемник

Давайте определимся, на устройство, под управлением какой операционной системы, будем передавать поток. Муки выбора думаю испытывать не будете, варианта всего два:

Windows

Для виндовс попробовал несколько плееров, но результаты получились так себе. При захвате и последующем воспроизведении видеопотока появляется задержка, которая в первую очередь зависит от плеера воспроизводящего поток. На различных плеерах задержка варьировалась от одной секунды, до пяти и даже больше. Лучше всех, на виндовс, показал себя VLC Player.

Перейдем к делу. Запустим VLC Player, сверху в выпадающем меню «Медиа» выбираем пункт «Открыть URL…» в поле сетевого адреса пишем udp://@:5004 , ставим галку в чекбоксе «Показать дополнительные параметры» и в поле «Кэширование» ставим свое значение, этот параметр определяется индивидуально. Чем меньше значение в этом поле, тем меньше задержка, но слишком малое значение может привести к «артефактам» и выпадениям кадров, все будет зависеть от инфраструктуры локальной сети. Лучшие результаты, которых смог добиться, это задержка около одной секунды. На линуксе же, результаты получились гораздо лучше около 200-300 миллисекунд.

Linux

Как показывает практика, лучшие результаты получаются при использовании связки программ socat и mplayer. На моем компьютере установлена Ubuntu, поэтому команда для установки socat будет выглядеть так:

Sudo apt-get install socat

Mplayer устанавливается аналогично:

Sudo apt-get install mplayer

Ну, и прислушаемся совету Danman»а:

Sudo iptables -t raw -A PREROUTING -p udp -m length —length 28 -j DROP

Эта команда нужна для того что бы убрать из потока так называемые «Zero Length UDP Packets» — пакеты нулевого размера, которые «засоряют» поток.

Выходим в прямой эфир!

Приемник готов, можно запускать трансляцию! Набираем в консоли принимающего компьютера ifconfig или ipconfig в зависимости от операционной системы, Запоминаем IP-адрес приемника и вернемся к веб интерфейсу передатчика. Откроем веб-интерфейс, если вдруг уже закрыли, введем логин, пароль и прямо в адресной строке браузера пишем:

Подставляем свои IP-адреса и нажимаем enter. Эта строка настроит HDMI Extender для трансляции захваченного видео на выбранный вами ip и выключит мультикаст.

Запускаем VLC в Windows. Или в терминале Linux пишем:

Socat UDP-RECV:5004 — | mplayer –

Абра кадабра! И вот наш, или не наш, рабочий стол в прямом эфире.

Вот так, при помощи немного хакерских методов, мы заставили устройство выполнять то, что нам требуется.

С передачей видео разобрались, переходим к удаленному управлению.

Передача управления

Выбор комплектующих

Т.к. стоимость HDMI Extender»а невысока, около 1800 рублей, а так же из-за комментариев что, мол, дороговато, выдвигаю лозунг: «Даешь IP KVM за 2000 рублей!». На верность этого утверждения будет сильно влиять курс рубля, но не будем о грустном, хочется верить в светлое будущее. Для достижения цели нам понадобятся очень дешевые элементы, мой выбор пал: на ESP8266 в качестве контроллера, и все того же Atmega(8/16/32)u2 в качестве исполнительного устройства.

Можно конечно рассмотреть и другие кандидатуры на роль исполнительного устройства(клавиатуры). Прошивка, эмулирующая клавиатуру, написана на библиотеке LUFA(вроде как). Эта библиотека может использоваться для всего семейства AVR с возможностью подключения к USB. Из этого следует, что в качестве эмулятора клавиатуры можно подобрать, возможно более дешевый, микроконтроллер. Это информация к размышлению, а сейчас продолжим.

Приобрести ESP8266 можно примерно за 90 рублей, Atmega(8/16/32)u2 примерно за 100 рублей, и даже дешевле, если брать небольшими партиями по 5, или больше штук. Конечно, нужны будут расходные материалы для обвязки микроконтроллеров, но стоимость их крайне мала, поэтому рассматривать их не буду.

ESP8266

Это чудо китайской промышленности не нуждается в представлении, посему скажу только, что в этом проекте я использовал версию ESP8266-12e. Использовать другие версии конечно можно, только нужно учитывать расположение портов, т.к. в данном варианте один из портов ESP8266 используется для включения питания на Atmega(8/16/32)u2, ниже будет указано на схеме.

Прошивка

Прошивка для ESP8266 написана в среде ArduinoIDE так что давайте скачаем свежую версию с сайта разработчика . Далее нужно добавить поддержку ESP8266 — самый простой способ можете найти по этой ссылке . На той же странице можно найти много полезной информации, например схема подключения к питанию и TTL. Для тех, кто не в курсе ESP8266 использует строго 3.3 вольта! Если не уверены в собственных силах, лучше использовать вариант платы адаптированный для USB, вроде NodeMCU:

Если все готово открываем ArduinoIDE и копируем мой скетч:

Все готово, можем проверять работу созданного нами устройства. Напомню возможные комбинации для нажатий «Alt + Tab», «Ctrl + Alt + Del» и д.р. можете посмотреть в скетче. Вот и все, третья инкарнация DIY IP KVM»а готова.

Подведем итоги

Плюсы:

  • Вероятно самый важный плюс это цена, получилось уложиться в 2000 рублей
  • К качеству видео теперь никаких претензий быть не должно, без проблем можно стримить вплоть до Full HD
  • Возможность расширить функционал, добавив до четырех реле или другие исполнительные устройства.

Минусы:

  • Необходимость в подключении и по Wi-Fi, и по Lan кабелю
  • При использовании с VGA необходим переходник, что естественно отразится на себестоимости

В общем и целом, устройство получилось достойное внимания, конечно, оно не конкурент серийным IP KVM»ам со всеми их «плюшками», но зато сильно выигрывает в цене. И для домашнего использования, а может и не только, вполне подходит.

Пользуясь случаем хотел поблагодарить пользователя DaylightIsBurning ! Этот добрый человек подсказал верное направление, в котором нужно вести раскопки.

Источник

Оцените статью