im BusyBox
command MICROCOM für Linux den Befehl microcom
existiert mit einem seriellen Modem zu kommunizieren:Umleiten von AT-Befehle Befehl unter Linux
BusyBox v1.13.2 (2012-05-10 17:13:08 CEST) multi-call binary
Usage: microcom [-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY
Copy bytes for stdin to TTY and from TTY to stdout
Options:
-d Wait up to DELAY ms for TTY output before sending every next byte to it
-t Exit if both stdin and TTY are silent for TIMEOUT ms
-s Set serial line to SPEED
-X Disable special meaning of NUL and Ctrl-X from stdin
Statt stdin der Verwendung der AT-Befehle Ich möchte legen Sie sie insise eingeben eine Textdatei und leite den Inhalt dieser Datei als stdin für den obigen Befehl um. Zum Beispiel habe ich eine Datei
/tmp/at.txt
mit dem AT-Befehl AT
, die in der Regel durch die TTY mit einem OK
bestätigt werden. Eine Standard-Sitzung mit stdin wie folgt aussieht:
microcom -t 3000 -X /dev/ttyS5
at
OK
, in dem die Zeichenfolge at
wurde direkt auf der Tastatur eingegeben. Um den Inhalt der Datei zu verwenden /tmp/at.txt
(enthält nur 'at \ n'). Um dies zu tun,. Ich habe die folgenden Variationen versucht:
microcom -t 3000 -X /dev/ttyS5 < /tmp/at.txt
microcom -t 3000 /dev/ttyS5 < /tmp/at.txt
cat /tmp/at.txt | microcom -t 3000 /dev/ttyS5
tail -f /tmp/at.txt | microcom -t 3000 /dev/ttyS5
cat /tmp/at.txt | microcom -t 3000 /dev/ttyS5 -X
tail -f /tmp/at.txt | microcom -t 3000 /dev/ttyS5 -X
und keiner von ihnen gearbeitet, das heißt keiner dieser Befehle hat den Text ‚OK‘ auf dem Bildschirm zurückzukehren. Ich folge daher, dass ein Problem darin besteht, den Inhalt der Datei /tmp/at.txt
als stdin für den Befehl microcom
umzuleiten. Vielleicht hat es damit zu tun, wie das Zeilenende interpretiert wird oder das Ende der Datei. Wenn jemand eine Idee hat, würde ich mich über Hilfe freuen.
Danke,
Alex
Welche Shell Sie verwenden funktioniert? – tMC