Сервис ser2net: установка и настройка шлюза Serial-to-TCP порт
МиниПК: BananaPiPro
Операционная система: ARMBIAN 5.38 stable Debian GNU/Linux 9 (stretch) 4.14.18-sunxi
Установка ОС по ссылке
Материал к статье по ссылке
Чтобы установить ser2net на BananaPiPro, достаточно выполнить команду:
# apt-get install ser2net
После установки пакета в конфигурационном файле необходимо добавить интересующее устройство и описать параметры подключения. Редактируем файл конфигурации /etc/ser2net.conf. Основное тело после установки такое:
...
BANNER:banner:\r\nser2net port \p device \d [\s] (Debian GNU/Linux)\r\n\r\n
2000:telnet:600:/dev/ttyS0:9600 8DATABITS NONE 1STOPBIT banner
2001:telnet:600:/dev/ttyS1:9600 8DATABITS NONE 1STOPBIT banner
3000:telnet:600:/dev/ttyS0:19200 8DATABITS NONE 1STOPBIT banner
3001:telnet:600:/dev/ttyS1:19200 8DATABITS NONE 1STOPBIT banner
Здесь:
BANNER - описывает опцию banner - строку, которая будет выводиться в порт при подключении.
Cледующие строки описаны в формате:
TCP port : state : timeout : device : options (option1 option2 - через пробел)
где:
TCP port - TCP порт который служба будет слушать и в который будет писать данные
state - по сути тип подключения, может принимать значения raw, rawlp, telnet или off
timeout - время в секундах, по истечению которого порт закроет соединение при отсутствии активности. Значение 0 отключает эту функцию
device - имя устройства к которому подключается порт. Это должно быть устройство из /dev/tty... Например, может быть UART - /dev/ttySx или USB - /dev/ttyUSBx
options - список параметров для последовательного порта. Значение:
В итоге, комментируем все строки (ибо не нужны) и пишем свою конфигурацию.
Будем подключать /dev/ttyUSB0 (в данном примере это USB to UART конвертер) к TCP порту. Список номеров портов, используемых протоколами TCP/IP транспортного уровня для установки соединения между двумя хостами можно посмотреть здесь. Выбрал 1884 т.к. не занят и рядом с MQTT. Редактируем файл конфигурации /etc/ser2net.conf:
...
1884:raw:0:/dev/ttyUSB0:19200 NONE 2STOPBITS 8DATABITS -XONXOFF -RTSCTS LOCAL
Скорость в 19200 и 2-а стоп-бита обусловлено использование порта для Modbus (ну что-бы было по фэн-шую).
После настройки перезапускаем службу:
# service ser2net restart
Что-бы убедиться что порт прослушивается выполнить:
# ss -l | grep 1884
Омск, Россия
На форуме: Almanah