Ich habe ein GSM-Modem an meinen Computer angeschlossen, ich möchte mit einem Python-Programm, das ich geschrieben habe, Textnachrichten empfangen, frage mich, was die beste Technik ist, um nach Daten zu suchen.
Sollte ich ein Programm schreiben, das eine Endlosschleife hat, die kontinuierlich nach eingehenden SMS sucht, d.h. innerhalb der Schleife, sendet das Programm die AT-Befehle und liest die Eingabedaten. Oder haben Modems eine Möglichkeit, eine Anwendung von eingehenden Daten (SMS) zu signalisieren.
Ich stelle mir vor, ein Handy sei nur ein GSM-Modem, und wenn eine SMS empfangen wird, warnt das Telefon Sie vor dem Ereignis oder hat die Telefonsoftware eine Endlosschleife, die eingehende Daten abfragt.
Ich habe vorher schon etwas Ähnliches geschrieben. Es gibt eine Möglichkeit, AT-Befehle zu verwenden, um dem Modem mitzuteilen, dass es Ihnen jedes Mal signalisieren soll, wenn eine SMS empfangen wird.
Als Referenz habe ich ein Maestro 100 GSM-Modem in einer eingebetteten Anwendung verwendet.
>Zuerst müssen Sie das Modem richtig initialisieren. Ich habe den Textmodus für die SMS verwendet, aber Sie verwenden möglicherweise etwas anderes. Wählen Sie aus diesen, was Sie wollen. AT + CNMI ist das wichtigste.
%Vor%Sie würden dann auf eine Benachrichtigung warten, die so aussieht. (Passen Sie nicht an die Indexnummer an, die sich zwischen den Meldungen unterscheiden könnte)
%Vor%Wenn Sie diese Benachrichtigung erhalten, rufen Sie die ungelesenen SMS auf:
%Vor%Ich würde empfehlen, dass Sie auch eine Umfrage hinzufügen, vielleicht alle fünf Minuten oder so, nur für den Fall, dass Sie eine Benachrichtigung verpassen. Mit serieller Kommunikation können Sie nie sicher sein!
Ich finde, ich kann mich nicht mehr an den AT-Befehlssatz für SMS erinnern. Andre Millers Antwort scheint ein paar Glocken zu läuten. Wie auch immer, du solltest die Dokumentation sehr sorgfältig lesen, ich bin mir sicher, dass es einige Fehler gab.
Meine Empfehlung für die Abfrage ist mindestens alle 5 Sekunden - dies ist nur für Robustheit und Reaktionsfähigkeit angesichts der Trennung.
Ich habe eine Zustandsmaschine verwendet, um zwischen Initialisierung, Lesen und Löschen von Nachrichten zu navigieren.
Tags und Links python at-command gsm modem