On Mon, 2 Nov 2015 14:07, Jürgen Hochwald <jh@...> wrote:
Am 02.11.2015 um 08:05 schrieb Joerg Thuemmler:
Am 01.11.2015 um 13:31 schrieb Jürgen Hochwald:
Hallo, [snip] tee </dev/ttyUSB... logdatei
und dann das Teil anstecken.... passiert da was? Irgendwelche Zeichen in der logdatei? Irgendeine Reaktion auf
echo "abc123" >/dev/ttyUSB.... am Gerät (LED blinkt kurz oder so was)
Was sind denn so die Kommandos? Ich habe hier serielle Barcodeleser, die werden mit Steuerzeichen 0x02 (STX) und 0x03 (ETX) gesteuert, von denen lasse ich z.B. mit folgendem Script:
echo "Schnittstelle $TTY initialisieren...">$LOGTTY stty -F $TTY $INIT stty -aF $TTY >$LOGTTY echo "Lesen von Schnittstelle starten...">$LOGTTY cat <$TTY | awk '{print $1 strftime("%Y%m%d%H%M%S") | "tee -a $LOG" ; }'
$LOGTTY echo "Scanner initialisieren...">$LOGTTY echo -e "\000211\0003" >$TTY # Start echo -e "\000214\0003" >$TTY # DataGroupMode echo -e "\00024?ID\0003" >$TTY # ID echo -e "\00024?DD\0003" >$TTY # DataInputs echo -e "\0002SF000\0003" >$TTY # SelfTest echo -e "\000211\0003" >$TTY # Start reading echo "Scancodes lesen...">$LOGTTY
[snip]
Hallo, so sieht die Kommunikation bei mir aus. Das Gerät ist ein Meteosick (Funkempfänger für eine Wetterstation).
Willkommen zu minicom 2.6.1
Optionen: I18n Port /dev/meteostick
Drücken Sie CTRL-A Z für Hilfe zu speziellen Tasten # MeteoStick Version 2.3b1 (Apr 24 2015 12:14:04), Free RAM 723, SN:XXX # License Information: # MeteoStick (c) 2014-2015 by smartbedded.com ? # Meteostick Version 2.3b1 t2 # listening to transmitter 2 o1 # output computed values m1 # chip authentication ok: 14 # frequency band 868MHz (EU) B 21.8 1019.40 O 2 1 21.3 -53 O 2 2 21.8 -51 L 2 1 0 -53 L 2 2 0 -53 O 2 1 21.3 -52 O 2 2 21.8 -57 L 2 1 0 -54 L 2 2 0 -52 O 2 1 21.3 -56 O 2 2 21.8 -54 (usw.)
Das Empfangen der Daten funktioniert, wenn ich vorher alles mit Minicon eingestellt habe (in test.txt steht dann das selbe):
cfjh@bastau:~/projects/wst/reader_dev> tee < /dev/meteostick test.txt B 23.7 1019.51 44.4% L 2 2 0 -56 O 2 1 21.1 -52 O 2 2 21.6 -52 L 2 1 0 -55 L 2 2 0 -53 O 2 1 21.1 -52 O 2 2 21.6 -53
Was nicht funktioniert, ist das Senden der Kommandos. Der Befehl "o0" sollte zB. das Ausgabeformat auf binär umstellen, tut es aber nicht.
cfjh@bastau:~/projects/wst/reader_dev> echo -e "o0" /dev/meteostick o0 /dev/meteostick
Tröt! Fehler hier: keine Umleitung! (>) Das sollte heisen: [code] echo -e "o0" >/dev/meteostick [/code]
Unklar ist mir dabei, ob ich noch explizit ein cr und/oder lf mitsenden muß. Alle Kombinationen mit "\x0D","\x0A" oder "\r","\n" führten bisher nicht zum Erfolg.
"echo" als normaler Aufruf endet mit "lf" aka "\n"
cfjh@bastau:~/projects/wst/reader_dev> echo -e "o0\x0D\x0A" /dev/meteostick o0 /dev/meteostick
und wieder das Ding mit der Umleitung.
cfjh@bastau:~/projects/wst/reader_dev> tee < /dev/ttyUSB0 test.txt L 2 1 0 -56
Wenn ich das Senden der Kommandos noch hinbekomme, könnte ich darauf meine Auswertung aufbauen. Aber was ist beim Senden noch falsch ?
Jürgen
Allgemein: Ein-/Ausgabeumleitung. 1. Standard-Ausgabe umleiten in Datei, falls Datei existiert, überschreiben. Befehl >Datei 2. Standard-Ausgabe umleiten in Datei, falls Datei existiert, anhängen. Befehl >>Datei 3. Standard-Eingabe umleiten, Datei an Befehl senden. Befehl <Datei "man bash", dann suchen nach "Umleitung" (falls man-page in deutsch), oder "redirect" (falls man-page in englisch) - Yamaban.