serielle Schnittstelle in bash / Linux stty

Gast #2109443
Lesenswert?

Hallo,

ich will über ein bash script einen Befehl an einen microcontroller 
übertragen.

Wie geht das denn mit stty? werde da nicht schlau draus.

z.b wenn ich hallo übertragen will

stty -F /dev/ttyS0 ispeed 9600 ospeed 9600 -echo hallo

ist das korrekt so ??

Und wie kann ich was lesen wenn der controller antwortet?
Gast #2109462
Lesenswert?

Bei mir gehts so (Ich verwende einen USB-Seriell-Wandler, deshalb 
ttyUSB0)

1.Konfiguration:
stty 9600 -crtscts -echo -ixoff -F /dev/ttyUSB0
Wichtig war glaube ich das crtscts: Damit wird das hardware handshaking 
deaktiviert.

2.Senden:
echo -n 1  >>/dev/ttyUSB0 (sendet 1 ohne linefeed)
#2110658
Lesenswert?

Oder so,
1. in eine Textdatei den gewünschten Text schreiben.
2. cat [Datei mit Text] > /dev/ttyUSB0 bzw. bei einer "echten" seriellen 
Schnittstelle ttyS0.

stty dient zum parametrieren der Schnittstelle also zum einstellen der 
Übertragungsgeschwindigkeit und ob ein Paritätsbit etc. gesendet wird.
Gast #2112477
Lesenswert?

und man sollte Mitglied der dialout Gruppe sein.

$ ls -l /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 0 21. Mär 09:33 /dev/ttyUSB0
$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 21. Mär 09:33 /dev/ttyS0
Gast #2112847
Lesenswert?

Ich verwende screen(1), sitze aber gerade nicht an diesem Rechner. Wenn 
ich mich richtig erinnere, sieht der Aufruf in etwa so aus:
1
screen /dev/ttyUSB12345 115200

Damit ist bi-direktionale Kommunikation kein Problem. Mit stty & co 
musste ich so noch nie rumfummeln.
Gast #2112883
Lesenswert?

Interessant, kenn' ich eigentlich nur von UNIX.
Allerdings, group uucp habe ich hier in Lenny auch.

Aber keine Devices mit group uucp,
  cd /dev
  grep "uucp" MAKEDEV
  find . -ls|grep "uucp"
sowie
  grep -R "uucp" * in /etc
haben auch keine sinnvollen Treffer gelandet.

Bei welcher Linux Distribution werden Devices mit uucp group angelegt?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren