SMS via terminal rs232 über AT+cmgs Problem

Gast #838299
Lesenswert?

Hallo,

Ich habe eine kleine Frage bezüglich dem AT befehl cmgs der eine sms 
senden soll.
Wenn alles soweit funktioniert, soll es später mit in einen mc 
integriert werden. Zunächst die Trockenübung übers Hyperterminal.

Die Verbindung zum Handy (Siemens S35) ist einwandfrei.

Ich habe mit hilfe einer kleiner Software einen "passenden" PDU 
generiert.

PDU: 0021000B801007214365F700000158

PDU LENGTH IS 15 BYTES
NO SMSC ADDRESS PRESENT
MESSAGE HEADER FLAGS
  MESSAGE TYPE :  SMS SUBMIT
  REJECT DUPLICATES :  NO
  VALIDITY PERIOD :  NOT PRESENT
  REPLY PATH :  NO
  USER DATA HEADER :  NO UDH
  REQ. STATUS REPORT :  YES
  MSG REFERENCE NR. :  0 (0x00)

DESTINATION ADDRESS
  NUMBER IS :  01701234567
  TYPE OF NR. :  Unknown
  NPI :  Unknown

PROTOCOL IDENTIFIER  (0x00)
  MESSAGE ENTITIES :  SME-to-SME
  PROTOCOL USED :  Implicit / SC-specific

DATA CODING SCHEME  (0x00)
  AUTO-DELETION :  OFF
  COMPRESSION :  OFF
  MESSAGE CLASS :  NONE
  ALPHABET USED :  7bit default

VALIDITY OF MESSAGE :  NONE GIVEN

USER DATA PART OF SM
  USER DATA LENGTH :  1 septets
  USER DATA (TEXT) :  X

Dann gebe ich doch wie folgt ins terminal ein

at+cmgs=15 //Enter
> 0021000B801007214365F700000158 //Enter und danach passiert nichts mehr. Wieso? 
danach muesste ich doch noch einmal ein > zurueckbekommen und die message 
reference = 0 eingeben, oder?

Wuerde mich sehr ueber Eure Hilfe freuen.

Gruss
Jannik
Gast #839476
Lesenswert?

Ja, wunderbar :) es funktioniert..

Wenn ich das jetzt über den Mikrocontroller realisieren möchte,

Schicke ich ihm folgendes?!

"at+cmgs=15"; //1. String
_delay_ms(1); //Muss man hier abwarten oder etwas abfragen?
"0021000B801007214365F700000158"; //2. String
_delay_ms(1); //Warten oder Abfragen von irgendwelchen Statusbits 
notwenig?
"EOT als ASCII zeichen"; //3. String


Gruß
Jannik
Gast #839849
Lesenswert?

Hi,

das hängt alles etwas davon ab wie Du Dein Handy eingestellt hast.
Würde das ungefähr so initialisieren:
ATZ   (alles Rücksetzen)
ATE0  (kein Echo der Zeichen)
ATV0  (bestätigung als Nummerkennung)

Dann kannst die Delays weglassen.
Probiers einfach in einem Terminal, am besten HTerm oder so aus, da 
siehst auch was so an CR/LF übertragen wird. Das unterscheidet sich gern 
mal von Handy zu Handy bzw von den Einstellungen.
Da siehst dann auch was rein kommt und worauf Du warten musst bzw welche 
Daten abgearbeitet werden müssen.

Gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren