So senden / empfangen Sie SMS mit AT-Befehlen?

8

Kann jemand mir helfen, SMS mit AT-Befehlen in Python zu senden und zu empfangen?

Wenn es darauf ankommt, benutze ich Fedora 8.

Welches Telefon wird besser mit Linux (Nokia, Sony Ericson, Samsung, .....)? Werden alle Telefone das Senden und Empfangen von SMS mit AT-Befehlen unterstützen?

    
RSK 29.01.2010, 10:13
quelle

4 Antworten

4

Hier ist ein Beispielcode, mit dem Sie beginnen können (in Python 3000):

%Vor%

Sie müssen zwei zusätzliche Dinge tun:

  • Kodieren Sie die Nachricht im passenden Format (meist GSM 03.38 , es gibt ein handliches Übersetzungstabelle auf unicode.org). Wenn Sie sich für andere Zeichen als ASCII nicht interessieren, können Sie einfach überprüfen, ob sich jedes Zeichen in string.printable befindet.

  • Überprüfen Sie die Länge der Nachricht (ich bin mir nicht sicher, ob es mit der Codierung zu tun hat, aber es sind manchmal 140 Zeichen, manchmal 160).

Sie können phone.readall() verwenden, um nach Fehlern zu suchen. Am besten stellen Sie jedoch sicher, dass Ihre Nachricht in Ordnung ist, bevor Sie sie an das Telefon senden. Beachten Sie auch, dass die Betten notwendig scheinen.

Die meisten Handys werden das verstehen. Um mein altes Nokia C5 dazu zu bringen, die serielle Verbindung zu öffnen, musste ich "PC Suite" aus dem Menü wählen, das beim Einstecken des USB-Kabels erscheint. Dies sollte auch über Bluetooth funktionieren.

Der Code verwendet das Paket PySerial , das für Python 2 und 3 verfügbar ist.

Siehe auch:

Stefano Palazzo 28.07.2011, 16:58
quelle
3

um zu sehen, senden SMS mit At Befehl wird dies helfen.

%Vor%

Um SMS mit dem Befehl At zu erhalten, sollte dies helfen

%Vor%     
Transformer 21.10.2013 15:18
quelle
1

Mit dem Telefon zu sprechen ist einfach. Sie müssen nur das entsprechende /dev/ttyACM* -Gerät öffnen und mit ihm sprechen. Welches Telefon ist kniffliger? Jedes Telefon, das "Tethering" und den vollen AT-Befehl für SMS-Nachrichten unterstützt, sollte in Ordnung sein.

    
Ignacio Vazquez-Abrams 29.01.2010 10:31
quelle
0

Ich würde vorschlagen, ersetzen Sie die time.sleep mit Bedingung Schleife wartet auf die Antwort vom Modem "OK" vor dem nächsten Zustand fortzusetzen.

    
Kelvin Koh 31.01.2018 13:16
quelle

Tags und Links