Здравствуйте. У меня есть пульт который подключается к специальному контроллеру через ethernet кабель. Пульт состоит из двух кнопок, а в кабеле имеется только 3 провода. Я хочу подключить компьютеру к контроллеру, что бы компьютер выполнял функции пульта.
План был такой:
Сперва я хотел подключить пульт к компьютеру и узнать какого рода команды он подаёт контроллеру нажимая на кнопки. Далее написать не большой код на основе полученной информации, который давал бы команды на контроллер. Потом уже добавил бы те функции программе которые не мог выполнять пульт.
Проблема в том, что у меня и так не большой опыт в программировании на c++, а о работе с портами я вообще не чего не знаю.
Вопрос: Что потребуется для написания программы которая будет отображать сигнал поступающий на ethernet порт компьютера? Как отправлять сигнал на ethernet порт с помощью c++? Возможно ли вообще всё это?
Ниже приведена "схема" подключений. 1011 символизирует информацию. (1. Нынешнее подключение. 2. Получение сигнала от пульта на компьютер. 3. Отправка сигнала с компьютера на контроллер)
Также фотография пульта с обратной стороны.
Заранее спасибо!
Ответ
Как уже выяснили в комментариях, это не Ethernet. И даже не com. По-моему, эта вещичка устроена так:
На средний провод подаётся постоянное напряжение, а кнопки замыкают соответствующие цепи, и тогда напряжение появляется на других линиях. Из интерфейсов, существующих в компьютере, здесь подойдёт только LPT-порт: центральный провод соединить с линией strobe и подать на него высокий уровень (логическую единицу). Другие линии соединить с любой из линий состояния и постоянно проверять на них логический уровень.
Проблема в том, что на современных компьютерах такого порта давно уже нет. Поэтому я могу посоветовать брать свой контроллер (например, STM32F103), с его помощью проверять состояние кнопок. Это легко делается через порты GPIO. На компьютер можно передавать данные с помощью USB, который встроен в этот контроллер. Но USB - штука довольно сложная, поэтому вам легче будет воспользоваться преобразователем USB-UART, например, CP2102.
Комментариев нет:
Отправить комментарий