mikrocontroller.net

Forum: Projekte & Code SMS in PDU Format konvertieren


Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Niels Keller (niels-k)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Niels Keller (niels-k)
Datum:

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

Autor: Niels Keller (niels-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf die Frage, wie die SMS denn abgeschickt wird, ist hier eine 
Ergänzung, die am Ende des Programmes angefügt werden kann.
Print "AT+CMGS=" ; Msglen
Wait 1
Print Ergebnis;
Print Chr(26);
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%.

Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: MBNalbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke dir, ich könnt dich knutschen dafür :)

Autor: Niels Keller (niels-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Daubes (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.