Serial to TCP: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Založena nová stránka s textem „== Ú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 por…“)
 
(Systemd)
Řádka 30: Řádka 30:
 
  ExecStart=/usr/bin/socat TCP-LISTEN:5000,reuseaddr,fork /dev/ttyACM0,b115200
 
  ExecStart=/usr/bin/socat TCP-LISTEN:5000,reuseaddr,fork /dev/ttyACM0,b115200
 
  Restart=always
 
  Restart=always
 
+
 
  [Install]
 
  [Install]
 
  WantedBy=multi-user.target
 
  WantedBy=multi-user.target

Verze z 15. 8. 2026, 11:01

Ú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).

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