SMS verschicken

Gast #1614107
Hallo Leute,

Ich bin schon seit längerem dabei ein AVR Programm zu schreiben, bei dem 
ich über meinen Mirocontroller eine SMS zu meinen Handy senden kann 
sobald der Microcontroller bei einen Eingang ein signal bekommt.

Ich weiß aber nicht wie ich mit den AT befehlen eine SMS formulieren und 
eine Handynummer einbinden soll.

Kann mir da jamand weiter helfen?

mfg

Matthias
Gast
Eine SMS ist nicht kostenlos!
Ich würde dir empfehlen einen Webserver der E-Mails versenden kann zu 
bauen. Projekte gibts da genug.
Eine SMS zu versenden würde vielleicht über deinen Emailaccount gehen, 
indem dein AT sich dort anmeldet und eine SMS schreibt, also einen 
Browser simuliert! Frag mich aber nicht wie.
Gast
Ich habe ein Siemens ME45 und einen ATMega32 Prototype Board.

>Ein Manual zum Mobiltelephon liegt vor ?
Wenn sie ein Handbuch meinen. Ja, das liegt vor.

>Eine SMS ist nicht kostenlos!
Dies soll nur eine Überwachung werden die vielleicht 1 bis 2 mal im jahr 
eine meldung auf mein Handy schicken soll fals der Microcontroller ein 
Signal bekommt.
Gast
Nein, aber anscheinend vernünftig zu antworten....und eine SMS zu 
verschicken ist echt nicht so einfach, weil man sich da mit dem PDU 
Format auseinandersetzen muss. Ich habe vor Jahren die Vitocom 100 für 
Viessmann entwickelt, da konnte die Heizungssteuerung per SMS 
Nachrichten versenden bzw. man konnte über das Handy die Heizung 
steuern. Es gab da 2 oder 3 brauchbare Webseiten, wo das PDU Format 
recht gut erklärt war, müsstest also danach bitte mal googlen.
Gast
Hallo
Ich habe noch ein paar fragen zum PDU.

Was heißt SMSC und was ist das für eine Nummer?
Also was muss man da für eine Nummer angeben?

Und was bedeutet bei dem Befehl die 28 in der ersten Zeile und die 37 in 
der dritten Zeile bzw. wie kommt man auf die Ziffern?
Sind die ganzen Buchstaben in jeden solchen Befehl so vorhanden oder 
muss muss man da jedesmal was neues hinschreiben, von z.B. der dritten 
und der vierten Zeile?

at+cmgs=28
> 079194712272303325000C91947112325476000008D4F29C4E2FE3E9
+CMGS: 37
OK

mfg
Matthias
Gast
Hallo

Ich habe jetzt meine PDU Zeile fertig und möchte es nun in mein Programm 
einbinden.
Genügt es wenn man folgendes schreibt:

at+cmgs=28
079194710167000025000C9194710000000000000BCE325E1FAECFCE61361B

und wie mache ich es das es nur eine sms pro Fehler bekomme?

mfg
Matthias
Gast
Hallo

Ich habe jetzt die at Befehle in mein Programm geschrieben und da kommt 
immer ein paar fehler. Ich weis aber nicht wie ich diese beheben soll?

Zum Beispiel:
../WvS-Sample.c:77: error: 'at' undeclared (first use in this function)
../WvS-Sample.c:77: error: (Each undeclared identifier is reported only 
once
../WvS-Sample.c:77: error: for each function it appears in.)
../WvS-Sample.c:77: error: 'cmgs' undeclared (first use in this 
function)


Kann mir hier jenamd helfen?
Mit mehr Informationen könnte ich dir ohne Probleme helfen. Ich habe ein 
Projekt bei dem ich SMS im PDU Format verschicken kann, empfangene SMS 
einlese, bei bestimmten Schlüsselwörtern eine festgelegt Aktion/Funktion 
ausführe, Text auf dem Display anzeigen lassen kann, das Datum und die 
Zeit des Handy auslese....

Hab dir mal einen kurzen Auszug aus meiner Projektarbeit angehängt. 
Evtl. hilft ja das schon.
Angehängte Dateien:
Gast
SMS kann man im PDU-Mode oder im TEXT-Mode verschicken.

Leider beherrschen viele Geräte den sehr einfachen TEXT-Mode nicht
und PDU ist, freundlich ausgedrückt, ne verdammte Sch...-Bitschieberei !
Gast
Hallo
Dies wäre mein entwurf.
ich weiß aber nicht was da noch fehlen könnte?

mfg
Matthias


Programm:

#include "global.h"
// #include "i2cmaster.h"

void init(void)
{

  wdt_disable();

  DDRB= 0xFF;

  DDRA= 0x00;

  PORTB= 0x00;

        timer0Init();

  sei();

        uartInit();

  uartSetBaudRate(19200);

  rprintfInit(uartSendByte);

}

int main (void)
{

    char x;

    init();

    char sms_init;


sms_init(void)

    while(1)
  {
         if (bit_is_clear (PINA, PINA0))

    {

        at+cmgs=23
  >079194710167000025000C9194711182392300000BD4F29C4E2FE3E9BA4D19
    }
  }
}
Matthias schrieb:
> {
>
>         at+cmgs=23
>   >079194710167000025000C9194711182392300000BD4F29C4E2FE3E9BA4D19
>     }

Das wird so nicht funktionieren. Das ist ja kein C code. Das musst du 
schon über die serielle Schnittstelle ausgeben und die entsprechenden 
Steuerzeichen beachten (die fehlen noch). Ich hab oben schon einmal den 
Hinweis zu dem Artikel gegeben, da steht alles drin (auch der richtige 
code). Zudem solltest du größere Codefragmente in den Anhang posten und 
wenn du schon etwas postest, dann bitte alles (am besten als fertiges 
Projekt). Dadurch ist es leichter nachvollziehbar. Bei dem was du hier 
gepostet hast, weiß z.B. keiner was rprintfInit macht.

Zudem, scheint der PDU Teil auch falsch zu sein. Ich habe es mal eben 
durch den encoder gejagt und erhalte "r9:z2<:ÑM2@@" als Ergebnis. Evtl. 
solltest du beim nächsten mal auch darüber nachdenken, deine 
Telefonnummer nicht im Internet zu posten^^

encoder zum schnellen Überprüfen:
http://twit88.com/home/utility/sms-pdu-encode-decode
Gast
danke für die ganzen tipps.
schön langsam komm ich auf nen grünen zweig.
die ganzen errors und warungen sind weg.
ich würde mich dann nochmal melden wenn noch unklarheiten auftreten.
und auch wenn ich mein Programm zum laufen gebracht habe.

mfg
Matthias
Gast
Hallo
ich habe jetzt mein Programm auf den Mirocontoller überspielt aber es 
funktioniert nicht.
kann ich das originale datenkabel von meinen me45 an die rs232 des 
prototype board atmega32 anschließen oder muss ich eine neu auflöten und 
verdrahten?
wenn ja hat jemand einen schaltplan?

mfg
Matthias

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.