Serial to TCP

Z Poznámkový blok
Verze z 15. 8. 2026, 11:05, kterou vytvořil Tydyt (diskuse | příspěvky) (Jednorázové spusštění)
Přejít na: navigace, hledání

Úvod

Pro možnost připojení na sériový port přes TCP je vhodné použít socat. Následně pak bude port dostupný přes TCP na nastaveném portě.

Instalace

sudo apt update
sudo apt install socat

Jednorázové spusštění

Prvně potřebujeme zjistit, kde se požadovaný port nachází:

  • /dev/ttyACM0 (nebo /dev/ttyUSB0)
  • UART / GPIO: /dev/serial0 (nebo /dev/ttyAMA0)

Zjistěte také přenosovou rychlost (baud rate), např. 9600 nebo 115200.

Poté můžeme provést spusštění

socat TCP-LISTEN:5000,reuseaddr,fork /dev/ttyACM0,b115200
  • TCP-LISTEN:5000 – vytvoří TCP server na portu 5000.
  • fork – umožní připojení více klientů nebo opakované připojení.
  • /dev/ttyACM0 – cesta k vašemu sériovému portu (upravte podle sebe).
  • b115200 – rychlost sériové sběrnice (upravte podle vašeho modulu).

(používané přenosové rychlosti: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200)

Systemd

Pokud chceme, aby se spouštěl propojení vždy, vytvoříme systemd.

sudo nano /etc/systemd/system/serial-socat.service
[Unit]
Description=Serial TCP Bridge via socat
After=network.target

[Service]
ExecStart=/usr/bin/socat TCP-LISTEN:5000,reuseaddr,fork /dev/ttyACM0,b115200
Restart=always

[Install]
WantedBy=multi-user.target

Poté službu povolíme

sudo systemctl daemon-reload
sudo systemctl enable --now gps-socat.service