Протокол обмена Ethernet-RS232

Тема в разделе "WASM.NETWORKS", создана пользователем IOne, 29 апр 2011.

  1. IOne

    IOne New Member

    Публикаций:
    0
    Регистрация:
    4 апр 2011
    Сообщения:
    5
    Нужно передать с ноутбука с отечественной ОС данные через Ethernet к преобразователю Ethernet-RS232.
    На сколько я знаю, все такие преобразователи имеют свой софт для Windows/Linux, в т.ч. драйвер виртуального COM-порта.
    Можно ли передать ему данные по Ethernet из любой операционки, а не только из поддерживаемых его софтом? Может есть какой-нибудь стандартный протокол обмена Ethernet-RS232?
    Если нет, то реально ли самому написать к нему софт для своей операционки? Есть ли исходники софта для FreeBSD, datasheet?
     
  2. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    IOne
    Самому преобразователю глубоко фиолетово из какой операционной системы к нему придут данные. Главное чтобы они имели правильный формат. А вот для выяснения как он выглядит тебе понадобится программа типа Wireshark. Подключаешь к компу своё устройство, от отстального мира лучше отсоединиться, чтобы в сети было меньше мусора. Ну а дальше пишешь тестовую программу которая открывает/закрывает последорвательный порт с различными параметрами(количеством бит, скоростью и так далее), отправляешь некоторое количество данных и смотришь что меняется при этом в ethernet пакетах. В первую очередь тебе нужно выяснить по какому протоколу в итоге идёть обмен с устройством, скорее всего это будет tcp, но может оказаться и udp, в этом случае придётся выяснять как делается защита от потерь и повторных передач. В случае tcp скорее всего после создания соединения будет отправляться некоторая структурка с параметрами порта, а дальше будут сами данные с заголовками говорящими устройству сколько чего нужно принять или передать, сколько времени ждать ответ и тому подобное. Ког7да разберёшься как настраивать порт на нужную скорость и как передавать данные можнопереходить к выяснению того, как утсройство сообщает от принятых данных, нужно ли емиу отправлять для этого какой-то запрос или в обратную сторону данные идут асинхронно с какими-то заголовками.
    Общий метод заключается в том, чтобы составить список нужных для работы с последовательным портом функций, а затем в цикле выполнять одну из них (или минимально рабочую последовательность, к примеру установка параметров порта скорее всего вызовет какую-то реакцию в сети только после его открытия, а чтобы установить новые параметры придётся порт закрыть) и наблюдение за пакетами в сети. По очереди меняя параметры вызываемых функций ищем куда они попадают в сетевых пакетах(смотрим на различия пакетов). Если используется протокол tcp, то в один пакет может попадать несколько команд для устройства или команда может попадать в несколько пакетов, в этом случае принятые данные собираем вместе и смотрим где они начинают повторяться.