На самом деле существует множество способов как получить доступ к COM-порту по сети, но некоторые нам не подошли, а некоторые показались скажем так... больше костылями, чем элегантным и понятным решением. В итоге решили использовать remserial. Схема получилась такая:
наше оборудование <----rs232----> наш ПК <----internet---> их ПК <---rs232---> их устройство
На обоих ПК стоял Linux, на которых мы собрали remserial (собирается легко, одной командой: make remserial ).
Далее всё просто, я подключил выход, предназначенный для их устройства к COM-порту своего компьютера и запустил в консоли команду:
$ ./remserial -d -p 23000 -s "115200 raw" /dev/ttyS0 &
где 23000 это номер порта, в кавычках опции -s скорость порта и тип (подходят настройки от
stty), а /dev/ttyS0 это имя порта, к которому я подключил наше оборудование.
И всё, дальше я кинул в аську мой внешний ip и номер порта. Ребята на той стороне подключили свое устройство к ПК. И запустили команду:
Тут отличие от моей команды только в опции -r, с помощью которой указывают к какому ip адресу подключится ( в нашем случае это xxx.xxx.xxx.xxx ;) ). После чего мы увидели что наши устройства подключились и теперь уже можно было отлаживать взаимодействие без лишних встреч. Вот люблю я такие программки - мелочь, а сколько времени сэкономила.
stty), а /dev/ttyS0 это имя порта, к которому я подключил наше оборудование.
И всё, дальше я кинул в аську мой внешний ip и номер порта. Ребята на той стороне подключили свое устройство к ПК. И запустили команду:
$ ./remserial -d -r xxx.xxx.xxx.xxx -p 23000 -s "115200 raw" /dev/ttyUSB0 &
Тут отличие от моей команды только в опции -r, с помощью которой указывают к какому ip адресу подключится ( в нашем случае это xxx.xxx.xxx.xxx ;) ). После чего мы увидели что наши устройства подключились и теперь уже можно было отлаживать взаимодействие без лишних встреч. Вот люблю я такие программки - мелочь, а сколько времени сэкономила.
Комментариев нет:
Отправить комментарий