Virtuální port pomocí socat na RPi

Virtuální port pomocí socat na RPi
« kdy: 07. 02. 2026, 17:06:38 »
Hojte hošani.
Jsem to zkoušel přes claude.ai a zjistil, že bez Vás to nepůjde.
Mam můj program a arduino ID, které používám bud jeden nebo druhý na ttyUSB0.
Tento USB port bych chtěl zachovat a vytvořit virtuální, aby také komunikoval v obou směrech.

AL toho vymyslel spoustu ale bud se sekal  ttyUSB0 nebo fungoval ale nevytvářel se ten virtualni.
Pomůže někdo?
Děkuji.

Kód: [Vybrat]
[Unit]
Description=Serial Port Spy
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/socat -d -d /dev/ttyUSB0,raw,echo=0,b9600,clocal,cread,cs8,-parenb,-cstopb,-crtscts PTY,link=/tmp/vserial,raw,echo=0,mode=666,b9600,clocal,cread,cs8,-parenb,-cstopb,-crtscts
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target




Re:socat na raspi
« Odpověď #1 kdy: 07. 02. 2026, 17:20:47 »
Třeba toto.
Virtualni port vserial jede furt ale USB0 zachyti 10 dat a zamrzne.

Kód: [Vybrat]
[Unit]
Description=Serial Port Spy
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/socat /dev/ttyUSB0,b9600,raw,echo=0 PTY,link=/tmp/vserial,raw,echo=0,mode=666
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

tecka

  • ***
  • 179
    • Zobrazit profil
    • E-mail
Re:Virtuální port pomocí socat na RPi
« Odpověď #2 kdy: Dnes v 05:27:16 »
Myslím, že ty parametry chceš opačně: socat pty... tty.... A pak bych k pty přidal volbu wait-slave, aby se ten port neblokoval, když k němu není nikdo připojený.

Ale socat neumí vytvořit port. Dostaneš "rouru", přes kterou se budou přelévat data mezi pseudo-tty a serial-tty. To pty nebude mít některé vlastnosti specifické pro sériák, což většinou nevadí, ale celkově se změny nastavení pty neaplikují na tty, což často vadí. Záleží na tom, co konkrétní program potřebuje.

Zřejmě ti jde jen o logování přenášených dat a existuje projekt "interceptty". Je hodně starý, ale v některých distrech pořád je, tak asi funguje. Ale netuším, jestli i na RPi.

tecka

  • ***
  • 179
    • Zobrazit profil
    • E-mail
Re:Virtuální port pomocí socat na RPi
« Odpověď #3 kdy: Dnes v 05:41:42 »
Tak jsem koukl na zdroják toho interceptty a to je úplně k ničemu :) Koukni se přes strace na čem ti ten program failuje a to pak řeš.

Re:Virtuální port pomocí socat na RPi
« Odpověď #4 kdy: Dnes v 08:48:44 »
Zas tak dobrý nejsem ale vyzkoušel jsem spoustu možnosti a furt stejný problem.
USB0 funguje, dokud nespustim virtual port  cat /tmp/vserial
Když ho shodim, tak zas začne USB0 fungovat.

Jde vubec docilit toho co chci?
Děkuji.

« Poslední změna: Dnes v 08:50:49 od BigSandy »