Forum: Projekte & Code SMS in PDU Format konvertieren


von Niels K. (niels-k)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

anbei befindet sich ein Programmcode, mit dem eine SMS in Klarschrift 
erstellt werden kann und anschließend im PDU-Format ausgegeben wird.

Das Programm wurde erfolgreich getestet. PDUspy und ein Siemens A60 
konnten mit dem Ergebnis wie gewünscht umgehen.

Das Programm ist in Bascom geschrieben. Die Ausgabe sieht für folgenden 
Eingabewerte wie folgt aus.

Telefonnummer: "49123456789"
Textnachricht: "Konvertiert Textnachrichten ins PDU Format"
Ergebnis:
AT+CMGW=51
0011000B919421436587F90000AA2ACBB7DB5E96D3D365391D442DE3E9EEF0182D4F8FD1 
F4B21B9476CF41506215647CCBDB613A

Grüße Niels

von Gerhard (Gast)


Lesenswert?

Hallo Niels,

vielen Dank für's Bereitstellen dieses Codes.
Bin grad dabei eine Maschinenüberwachung mit SMS Alarmierung zu basteln,
da kann ich deinen Code sehr gut gebrauchen.
Hätte ich sonst mit PDUspy gemacht , so gefällts mir viel besser.

Gruss Gerhard

von Niels K. (niels-k)


Lesenswert?

Gerhard schrieb:

> Bin grad dabei eine Maschinenüberwachung mit SMS Alarmierung zu basteln,

Aha, ich weise darauf hin, dass ich keine Gewähr auf Funktion des 
Programmes geben kann - wenn es schief gehen sollte, dann möchte ich 
keine Beschwerden hören ;-)

von Niels K. (niels-k)


Lesenswert?

Habe mittlerweile auch den umgekehrten Fall des Auslesens hochgeladen.
Beitrag "SMS im PDU.Format in Text umwandeln"

von Niels K. (niels-k)


Lesenswert?

Auf die Frage, wie die SMS denn abgeschickt wird, ist hier eine 
Ergänzung, die am Ende des Programmes angefügt werden kann.
1
Print "AT+CMGS=" ; Msglen
2
Wait 1
3
Print Ergebnis;
4
Print Chr(26);
5
Wait 20

AT +CMGS versendet die SMS sofort, die SMS wird dennoch in dem im 
Mobiltelefon hinterlegten Speicher hinterlegt. Dieser kann mit "at 
+CPMS=<Speicher>" geändert werden.

Das Telefon liefert dann folgende Ausgabe, wobei die Speicherplatznummer 
varieren kann.

+cmgs:<Speicherplatznummer>
OK

Sollte es Probleme bei der Kommunikation mit dem A60 geben, so kann das 
an der Baudrate liegen. Bei Versuchen wurden die besten Ergebnisse mit 
einer Baudrate von 4800 Bit/s bei 1 000 000 Hz erzielt. Die Abweichung 
ist dabei <0,2% und damit unter den magischen 3%.

von Niels K. (niels-k)


Angehängte Dateien:

Lesenswert?

Es gab einen kleinen Bug in der Software, der verhinderte, dass 
Nachrichten mit einer Laenge groesser als 128 Zeichen gebildet werden 
konnten. Daher im Anhang die aktuelle Version, mit der bis zu 160 
Zeichen möglich sind. Getestet wurde die Funktion mit PDUSpy und einem 
C65.

von MBNalbach (Gast)


Lesenswert?

Danke dir, ich könnt dich knutschen dafür :)

von Niels K. (niels-k)


Lesenswert?

Da die Suche nach PDU und Bascom - unter Verwendung einer bekannten 
Suchmaschine - diesen Thread sehr weit oben platziert, möchte ich noch 
einen kleinen Verweis zur konkreten Anwendung des Codes anbringen (damit 
klar wird, dass es sich nicht um graue Theorie oder unbrauchbare halbe 
Programmschnippsel handelt).

Gegenwärtig werden die Programmabläufe (Lesen und Erstellen von PDUs) im 
Senden und Empfangen- Betrieb im GSM GPS Logger mit SMS Fernschalter 
verwendet.
Beitrag "GSM GPS - Tracker"

Eine reine SMS Senderoutine ist im Bildtransfergerät untergekommen. Dort 
dient der Code als Guthabenstandsabfrage der externen Einheit. Außerdem 
dient ein "artverwandter" Code zur Anzeige von Nachrichten auf einem 
Siemens Mobiltelefon. Die Besonderheit ist hier, dass das Mobiltelefon 
an einem Software-Uart betrieben wird.
Beitrag "IQP 500 GSM Bildübertragung Tonerätzverfahren"
bzw. Beitrag "Text in Siemens Display schreiben"

Beide Programmabläufe sind erprobt und funktionieren mit Siemens 
Geräten, wie dem A60 und dem MC60.

von Daubes (Gast)


Lesenswert?

Hey,
baue gerade die Funktionen in Delphi um... (stelle diese später 
natürlich auch hier rein :-) ) Kamm mir wer sagen was die Zeilen "Ke = 
Md Mod 8" und Shift K1 , Right , Ke" anstellen? Denke eine 8bit wandlung 
und etwas verschieben vielleicht? An dieser stelle bin ich gerade recht 
ratlos... Der Rest geht schon...

Gruß

von Niels K. (niels-k)


Angehängte Dateien:

Lesenswert?

Daubes schrieb:

> baue gerade die Funktionen in Delphi um... (stelle diese später
> natürlich auch hier rein :-) )

Und schon fertig? Hier ist mein Vorschlag. Es kann eine Nummer und ein 
Text eingegeben werden. Anschließend erhält man den PDU-String zum 
Kopieren in ein Terminalprogramm.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.