Forum: Mikrocontroller und Digitale Elektronik AT-Befehle


von Tom (Gast)


Lesenswert?

Hallo Leute,
ich hab folgendes Problem:
Ich muss über nen uContoller (AT89C4051) einen AT-Befehl an ein SIEMENS
S35 senden. Andere AT- Befehle wie etwa die eingabe des Pins
funktionieren ohne problem.
Was ich nun tun möchte ist, ein SMS vom SMS-Speicher aus auf eine Handy
nummer zu senden. Ich habs mit:

AT+CMSS=1,"+41795854030",145 ENTER

versucht, jedoch ohne erfolg.
kann mir jemand weiter helfen?

folgendes noch, das handy empfängt die Daten, verschickt jedoch nichts.

grüsse Tom


Mein Code:
void msg_send_alarm(void)
{
/*code unsigned char array []={AT+CMSS=1,"+41795854030",145 ENTER};
*/

code unsigned char array
[]={0x41,0x54,0x2B,0x43,0x4D,0x53,0x53,0x3D,0x32,0x2C,
0x22,0x2B,0x34,0x31,0x37,0x39,0x35,0x38,0x35,0x34,
0x30,0x33,0x30, 0x22,0x2C,0x31,0x34,0x35,0x0D};

unsigned char i;
for( i=0; i<=28; i++ )
{
SBUF=array [i];
while( TI == 0 )
{
}
TI=0;
_DEL_10MS(1);
}

}

von Marcin K. (Gast)


Lesenswert?

die Nummer scheint als erstes Falsch zu sein.
Falls das ein deutsches Handy mit einer 0179 nummer ist, dann musst Du
an +49179...nicht an +4179 senden

Gruß,
Marcin

von Tom (Gast)


Lesenswert?

es ist eben ne schweizer nummer :)
+41 (vorwahl schweiz) 79 (079 => Swisscom)

von Marcin K. (Gast)


Lesenswert?

ach so...
Ich versende SMS so. Allerdings nicht aus dem SIM Speicher, sonder
direkt.


// in den TextMode Schalten
At+CMGF=1
// Nachricht versenden
AT+CMGS = "+41795854030" // + cr lf
Hier kommt die Nachricht // zum Abschließen Ctrl-Z also 0x1A

Marcin

von Tom (Gast)


Lesenswert?

Versteh ich nicht, musst du die Nachricht nicht im PDU-Code schreiben?

von Marcin K. (Gast)


Lesenswert?

Mist, die GSM Module mit TextMode haben mich zu sehr verwöhnt...
Das S35 hat glaube ich gar kein Text Mode...
Dann geht das wohl so
AT+CMGF=0  // PDU Mode
AT+CMGS=23
// warten auf ">"
0021000B911497854530F000000AC8309BFD0651CB733A
// ctrl-z (0x1A) zum Abschluß,
sollte "Hallo Test" an die oben genannte Nummer senden.
Am besten zuerst im Terminal Programm ausprobieren.

von Tom (Gast)


Lesenswert?

Und wie wurde der generiert? kannst du mir da helfen?
sollte nämlich eine eigene Nachricht schreiben... :/

von Tom (Gast)


Lesenswert?

Oder gibts da n programm dazu?

von Jörn (Gast)


Lesenswert?

Schau mal bei www.nobbi.com nach dem PDU Spy. Mit dem kannst Du PDU
Nachrichten erstellen.

Gruss Jörn

von Marcin K. (Gast)


Lesenswert?


von Tom (Gast)


Lesenswert?

So viele verwirrende Einstellungen... :(

von mthomas (Gast)


Lesenswert?

Fuer das "Dummherum" um die PDU (Zieladresse etc.) gibt es ein
Dokument von Siemens ("SMS with the SMS PDU mode"), dies sollte
google finden. Es ist etwas uebersichtlicher aber nicht ganz so
vollständig wie die ansonsten sehr informativen Standards 3GPP TS
23.038 und TS 23.040, erläutert aber bis auf die Textcodierung alles
notwendige. Fuer Informationen zur Codierung des Nachrichtentexts
("7-bit Zeichenfolge" in "8-bit byte-Array", "fehlt" im genannten
Text von Siemens) sind die Erläuterungung auf den bereits genannten
"nobbi-seiten" ganz brauchbar.

von Tom (Gast)


Lesenswert?

Ok, das dokument hab isch shcon seit längerem, und dort stehen auch die
genannten befehle, aber s funzt immer no nicht... :(

von daniel (Gast)


Lesenswert?

wenn du willst kann ich dir mein prog schicken zum testen ich habe auch
ein S35 benutzt
funzt alles super

von daniel (Gast)


Lesenswert?

ich habe das prog in VB5 geschrieben hier ist die kommunikation mit dem
S35i über Rs232 des PC und eines Datenkabels aber ich kann dir die.exe
schicken meld ich einfach
im notfall kann ich dir auch bei der PDU schreibweise helfen wenn du
konkrete fragen hast

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.