socat: проброс com портов через tcp/ip

Будем пробрасывать rs232 для работы фискального регистратора ЭЛВЕС-ФР-К. Воспользуемся релеем socat, позволяющим пробрасвать сокеты, вывод в файл и прочее прочее.

Сервер (к нему подключен фискальный регистратор):

socat tcp-l:5555,reuseaddr,fork file:/dev/ttyUSB0,raw


Клиент, на котором из-под wine работает 1С 8 с com 7:

socat pty,link=$HOME/.wine/dosdevices/com7,raw tcp:192.168.1.1:5555,mss=1400


Параметр mss — maximum segment size я использовал, так как были ошибки при передачи данных с регистратором (ошибки были и в remserial и в ser2net).

Linux: подключаем фискальный регистратор через usb-com переходник

Возникла задача подключить фискальный регистратор ЭЛВЕС-ФР-К (ШТРИХ-М) к машине под управление Linux (Debian 6). Так как com порта там нет, я воспользовался переходником vcom usb-rs232 за 350 рублей.

Удивительно, но никаких танцев с бубном для переходника не понадобилось. Подключаем, смотрим в dmesg:

dmesg | tail


[  376.319457] pl2303 2-1:1.0: pl2303 converter detected
[  376.331509] usb 2-1: pl2303 converter now attached to ttyUSB0


Будет создано устройство /dev/ttyUSB0.

Скачиваем драйвер ШТРИХ-М версии 4.9 здесь.

Устанавливаем. При возникновении ошибок с регистрацией dll, выполняем в консоли:

( Читать дальше )

Проброс COM портов в сеть

Помните была статья про VSPE — mtaalamu.ru/blog/admining/1055.html.
Программа хорошая, но у неё есть 2 больших недостатка:
  • Работает только под Windows
  • Бесплатная версия только под 32х битные версии его же (конечно она работает и под 64, но постоянно наглым образом предлагает её купить и при запуске как сервис, наглым образом отказывается работать).
Путём научного гугления мною было найдено несколько альтернатив:
  • COM2TCP — работает только под виндой, но совмещает в себе сервер и клиент.
  • Serproxy — а вот эта небольшая утилита умеет только пробрасывать порты в сеть. Но! Она работает (по крайней мере должна) под всеми платформами. На сайте автора есть как и исходники под GPL лицензией, так и бинарник под Win.
Работоспособность программы проверенна в следующей связке: Win7HB 64 + serproxy + фискальный рег-р < — LAN -> Linux + remserial + 1С8.2 под [email protected]
  • +13
  • 22 февраля 2011, 18:48
  • Mihael
  • 13

Запуск Virtual Serial Ports Emulator как сервис в Windows

В топике Проброс COM портов через TCP/IP с помощью VSPE (Windows) была рассмотрена отличная утилита Virtual Serial Ports Emulator. Все бы хорошо, но в ней нет встроенного сервиса.

Воспользуемся утилитой NSSM — the Non-Sucking Service Manager (от автора logrotate кстати) для того, чтобы создать сервис для VSPE. Перед этим сохраним настройки устройства в файл settings.vspe. Распаковываем NSSM в директорию VSPE.

В консоли:

C:\VSPE>nssm install VSPE "c:\VSPE\VSPEmulator.exe" "settings.vspe -minimize -hide_splash"


При запуске службы ни заставка, ни какие либо сообщения выводиться не будут. Проверить, открыт ли порт 5555 можно проверить с помощью команды netstat. Если устройство не подключено к com порту — TCP/IP порт открыт не будет. Как только устройство будет включено (как, например, происходит с Элвес-ФР-К) сервис заработает автоматически.

Проброс COM портов через TCP/IP с помощью VSPE (Windows)

Возникла задача проброса RS 232 через TCP/IP в пределах локальной сети а так же через VPN с сетью филиала. Компьютер в кассе работает под Windows, к нему подключен фискальный регистратор Элвес-ФР-К (Штрих-М). Подвернулась утилита Virtual Serial Ports Emulator от Eterlogic. Версия для 32 битных систем абсолютно бесплатна. 64 битная версия стоит денег, хотя 32 битная отлично работает и в 64 битных системах (проверено на Windows 7 64).

Фактически, компьютер с подключенным к нему фискальным регистратором выступает в роли сервера:

( Читать дальше )