PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SMS-Empfang mit AVR und GSM Modem bzw. Handy



#fritz#
09.12.2011, 20:50
Hallo,
ich bin dabei ein GSM-Modem CT 63 mit einen ATMEGA 162 zu verbinden. Die Programmierung erfolgt in Bascom.
Einiges läuft schon:
Ich kann SMS mit individuellem Text (Messwerte u.s.w.) senden.
Bei Anrufen wird die Nummer des Anrufers erkannt und entsprechend reagiert bzw. zurückgerufen .....

Beim SMS- Empfang komme ich nicht weiter.

Den Haeder der eingegangenen SMS lese ich mit AT+CMGL aus.
Nach dem AT-Befehlssatz des Modems sollte mit "AT+cmgr=<index>" die SMS gelesen werden.
Als Rückmeldung kommt (Textmodus):
"REC READ","0171xxxxxx0",,"11/12/09,13:41:16+04",129,0,32,0,"+491760000443",145,3,5,0
Der eigentliche Inhalt der SMS (der Text) fehlt.
Ich habe mehrmals alle möglichen AT-Befehle probiert. Ich komme nicht an den Text der SMS.

Im PDU-Modus erhalte ich:
+947106004034040B891017732964F02200112190029063400 355B619,5,0
Das lässt sich aber auch nicht entschlüsseln, Einige Zeichen sind da falsch.

Hat jemand Erfahrung mit der Programmierung von Handy oder GSM-Modem über AT-Befehle?
Es muß ja nicht das CT 63 sein. Die Module sind ja ähnlich.
Ich bin für jeden Hinweis dankbar.

Den AVR habe ich so programmiert, dass er mit CHR(13) das Ende der Modemübermittlung per RS232 annimmt.
Könnte es sein, dass das Modem nicht mit chr(13) abschließt und danach noch Zeichen folgen ? Dürfte aber nach meinem Test eigentlich nicht sein.

Den schon funktionierenden Teil stelle ich gerne zur Verfügung.

Danke

mat-sche
10.12.2011, 08:12
Moin Fritz,

hast Du die AT Befehle zum auslesen des Modems über den Kontroller gemacht oder auch über ein Terminalprogramm?
Ich würde das 2. als nächsten Schritt durchführen, um zu schauen, ob auch in dieser Form der SMS Text nicht ausgegeben wird.
Wie initialisierst und mit welchen Konfiguration Du das Modem?
MAT

#fritz#
10.12.2011, 12:03
Hallo,
ich habe den Test mit einem Terminalprogramm gemacht:

Im Textmodus ist das Ergebnis unverändert. Das Modem sendet keinen Textinhalt.

Aber im PDU-Modus kommt ein Ergebnis zurück, welches mit PDUSPY korrekt entschlüsselt werden kann.Dann habe ich auch den Textinhalt der SMS.

Bleibt für mich die Aufgabe, das Bascom-Programm zu optimierten, damit kein Zeichen verloren geht.

Aber wie entschlüsselt man eine SMS im PDU-Format ?
Vielleicht finde ich ja ein fertiges Bascom-Programm.

Ich wollte eigentlich das Textformat verwenden weil es bequemer ist. Wenn da ein Zeichen bei der Übertragung versaut wird, dann kann man wenigstens den Rest lesen.
Im PDU-Modus geht dann gar nichts mehr.

Für mich stellen sich folgende Fragen:

Die wenigsten Handys und Modems bieten das Textformat bei der SMS an.
Ist das Textformat vielleicht noch nicht so ausgereift, dass man es gar nicht verwenden sollte ?

Kann man das Modem während des Betriebes regelmäßig zwischen Text- und PDU-SMS umschalten ?
(Bisher sende ich die SMS im Textmodus. Kann ich dann beim Empfang in PDU wechseln ?)

Muß das richtige Format schon eingestellt sein wenn die SMS ankommt ?

Es ist eben schwer, wenn man ca 500 Seiten AT-Befehle in englisch hat und nur in der Schule vor langer Zeit etwas von englisch mitbekommen hat.

Danke!

mat-sche
11.12.2011, 10:38
Hallo Fritz,

"Aber wie entschlüsselt man eine SMS im PDU-Format ?
Vielleicht finde ich ja ein fertiges Bascom-Programm."

suche mal im Netz, ich hatte schon mal einen Code gefunden, der das PDU Format in Bascom abgearbeitet hat. Leider habe ich die Adresse nicht mehr.

Ich nutze ein 7 Jahre altes Siemens GSM Modem und das kann beide Formate in senden und auch im Empfangen von Text SMS'sen. Ich denke das deine Konfigrations/initialisierung nicht richtig stimmt. Da das Modem noch zu kaufen gibt, gehe ich mal ganz stark davon aus, dass dieses auf dem neuesten Stand ist und beide Formate beherschen sollte. Und das Modem der Nachfolger meines ist, wird es dieser bestimmt können.

Schreib mal wie Deine Initialisierung ist und ja Du musst zu erst alle Einstellungen tätigen und dann weiter arbeiten. Ansonsten kannst Du in Deinem Programm zu jeder Zeit einstellungen per At-Befehle an dem Modem vornehmen.

Grüße MAT