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
Schau mal zur Doku con cmgs, nach dem PDU muss ein Strg+z (ESC) folgen und kein Enter.
Strg+z ist EOT (ASCII 26), nicht ESC (ASCII 27). Ansonsten völlig korrekt.
Ups, sorry. Da bin ich wohl irgendwie verrutscht. Muss natürlich EOT sein...
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
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ß
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.