Ich verbinde mich mit einem Modem über eine serielle Schnittstelle und versuche herauszufinden, wie man einen AT-Befehl sendet, und füge Bedingungen je nach Ausgabe hinzu. Ich kann mit screen
oder minicom
/dev/ttyAMA0 verbinden und den AT
Befehl senden und die Antwort OK
, aber wenn ichBash Serial Scripting
echo -en "AT" >/dev/ttyAMA0 && cat /dev/ttyAMA0
verwende ich nur sehen, was ich Echo, nicht das, was die Antwort ist. Ich muss in der Lage sein, den AT
Befehl zu senden, zu prüfen, ob die Ausgabe OK ist, oder FEHLER, dann basierend auf dieser Antwort etwas anderes zu tun. Warum bekomme ich vom seriellen Gerät keine Antwort?
Ich versuche, ein Bash-Skript zu erstellen, das eine Verbindung zum Modem herstellen und eine Textnachricht senden kann, aber wissen müssen, ob es Fehler gibt, anstatt nur zu sagen, dass es funktioniert. Gibt es einen besseren Weg, dies zu erreichen?
Ich verstehe nicht, warum ich nicht einfach das Gerät katzen kann? Wenn ich es in zwei Terminals geöffnet habe, sehe ich alle AT-Befehle, die ich in Terminal 1 an Terminal 2 eingegeben habe, bei dem 'cat/dev/ttyAMA0' läuft. Mit dieser Schleife sah ich überhaupt nichts mehr zu der Variablen "read" zurückkehren. – Alan
Ich habe diese Methode verwendet und es hat gut funktioniert. Es tut uns leid, wenn das nicht in allen Fällen universell ist. Und zwischendurch müssen Sie $ str Variable überprüfen –