Прозрачный канал связи (шлюз) к подключенному к контроллеру прибору

В логе ругался на знак & в коде.

Итого порядок действий может кому пригодится.

  1. Создаем файл например с названием udp-usb

nano /etc/systemd/system/udp-usb.service

  1. В файле пишем следующее, в зависимости от того какой номер порта, сам порт UDP или TCP, скорость, четность и др.:

[Unit]
Description=udp-usb

[Service]
ExecStart=socat /dev/ttyUSB0,rawer,b9600,parenb=0,cstopb=0,cs8 UDP-LISTEN:10012
Type=simple

[Install]
WantedBy=multi-user.target

  1. Pазрешаем и проверяем статус и запускаем файл

systemctl enable udp-usb
systemctl -l status udp-usb
systemctl start udp-usb

  1. Перезагрузился и проверил статус еще раз systemctl -l status udp-usb , получаем:

● udp-usb.service - udp-usb
Loaded: loaded (/etc/systemd/system/udp-usb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-11-08 15:32:19 UTC; 2min 8s ago
Main PID: 313 (socat)
Tasks: 1 (limit: 4790)
Memory: 1.8M
CPU: 41ms
CGroup: /system.slice/udp-usb.service
└─313 socat /dev/ttyUSB0,rawer,b9600,parenb=0,cstopb=0,cs8 UDP-LISTEN:10012


Все работает. Теперь после перезагрузке контроллера порт мой UDP всегда открыт. Теперь контроллер как прозрачный шлюз работает.

1 лайк