Ok - sieht in der Tat etwas blöd aus…
Hat denn jemand noch eine Idee was ich hier falsch mache bzgl der autostarts?
Wird der Service denn überhaupt gestartet?
Ok - sieht in der Tat etwas blöd aus…
Hat denn jemand noch eine Idee was ich hier falsch mache bzgl der autostarts?
Wird der Service denn überhaupt gestartet?
Nabend,
und was aktuell bei der /dev/ttyUSB0 - Schnittstellen eingestellt ist, kann man sich anzeigen lassen mit:
sudo stty -a -F /dev/ttyUSB0
Ausgabe müsste dann die gewünschten Werte anzeigen (oder auch nicht):
speed 19200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O;
min = 40; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
Gruß Martin
Edit: Hatte die gewünschten Werte im Code-Fenster rot makiert, wird das nicht übernommen oder mache ich den Fehler?
Martin28 Im Grunde schrieb ich das oben schon mal es muss der User angemeldet sein. Es ist egal wie der Befehl lautet oder was angeschlossen ist. Zu diesem Zeitpunkt wird es immer ein I/O Error geben, selbst wenn Du nur vom reinen stty versuchst eine Ausgabe zu bekommen.
Versuchs mal
in der rc-local oder per @reboot als Cronjob und dann mal in der .bashrc!
In der .bashrc aber nicht per SSH oder Terminal nachschauen. Das würde das Ergebnis verfälschen!
Martin28 Im Grunde schrieb ich das oben schon mal es muss der User angemeldet sein. Es ist egal wie der Befehl lautet oder was angeschlossen ist. Zu diesem Zeitpunkt wird es immer ein I/O Error geben, selbst wenn Du nur vom reinen stty versuchst eine Ausgabe zu bekommen.
Sorry, das verstehe ich jetzt nicht? Ist wohl die schlecht Hälfte von meinem Halbwissen.
Gruß Martin
Ist wohl die schlecht Hälfte von meinem Halbwissen.
Ich habe da auch nur Halbwissen und mangels Bedarf noch nie mit stty gearbeitet. Versuchs mal was ich vorgeschlagen hatte!
Vor dem stty
sudo stty -a -F /dev/ttyUSB0
[sudo] Passwort für raspberry.dirk:
speed 19200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc
Display More
nach dem stty
sudo stty -a -F /dev/ttyUSB0
speed 19200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; discard = ^O; min = 40; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
Die Datei rc.___test beinhaltet
9600
also eine falsche Baud Rate
Noch zur Info:
Mein Gerät an dem Seriell zu USB Konverter liefert mir einen HEX code.
Das Gerät braucht obige Serielle Konfig.
Falls das nicht eingestellt wird, kommt diese Zeichenfolge nicht reporduzierbar in IPsymcon an und ist somit nicht auswertbar.
So, habe es nun anders gelöst, da ich mit der stty nicht weiterkomme.
In IPSymcon kann man eine Cutter Instanz anlege, die nach einem HEX String sucht und deine eine Fixe Länge definiert. Damit zerlege ich den immer anders ankommenden HEX code der Seriellen Schnittstelle so, dass ich den weiter verarbeite
Hallo Physman,
habe mir das nochmal angesehen:
Bei dir:
vor dem stty
speed 19200 baud ... min = 1 ... -parenb ... cs8 ... -cstopb
nach dem stty
speed 19200 baud ... min = 40 ... -parenb ... cs8 ... -cstopb
Da hat sich ja was geändert und die dann eingestellten Parameter sind ja so gesetzt wie du sie haben möchtest.
Die Datei rc.___test beinhaltet
9600
also eine falsche Baud Rate
Nö, wenn die Datei angelegt worden ist, sollte der Befehl in der rc.local ausgeführt worden sein.
Und zum angezeigten Wert "9600": Das ist die Baudrate vor der Änderung, die Ausgabe ist abhängig von der Reihenfolge der Parameter speed und N.
Beispiel zur Verdeutlichung:
[root@alarmpi alarm]# stty -F /dev/ttyUSB0
speed 9600 baud; line = 0; # eingestellt ist 9600
-brkint -imaxbel
[root@alarmpi alarm]# stty -F /dev/ttyUSB0 speed 19200 # neu: 19200
9600 # 9600 vor der Änderung
[root@alarmpi alarm]# stty -F /dev/ttyUSB0
speed 19200 baud; line = 0; # jetzt 19200
-brkint -imaxbel
[root@alarmpi alarm]# stty -F /dev/ttyUSB0 2400 speed # Parameter getauscht
2400 # jetzt erst setzen, dann Ausgabe
[root@alarmpi alarm]# stty -F /dev/ttyUSB0
speed 2400 baud; line = 0; # Kontrolle: jetzt 2400
-brkint -imaxbel
Display More
Siehe auch man stty, Parameter speed und Parameter N
So wie ich das deute, funktioniert die Ausführung über rc.local wohl so wie gewollt, wenn du aber auch noch eine andere Möglichkeit gefunden hast, um das Problem zu lösen, ist das ja auch okay.
Wenns läuft, vielleicht hier noch den Thread als erledigt setzten
Gruß Martin