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
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.
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.
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.
Als erste ist http://www.nobbi.com/ zu nennen. Dort findet man viele Informationen zu AT und PUD. Außerdem gibt es eine APP-Note von Atmel (AVR323), die sich genau mit deiner Problematik beschäftigt.
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
Dieses PDU-Format ist außerordentlich vergrießgnaddelt... Ich bin auch gerade dabei, so etwas zu bauen. Hier ein Link, in dem es gut erklärt wird: http://www.wilke.de/downloads/applicationnotes/PDF/Applikationsbericht_056_WilkeTechnology.pdf ab Seite 9 und hier: http://mschrod.de/Elektronik/AVR/Projekte/HandyS45/SMS_Versand.html MfG Paul
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
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?
Matthias schrieb:
> Kann mir hier jenamd helfen?
Nicht wenn Du den bereits vorhandenen Sourcecode vor uns versteckst.
Hallo Ich stehe momentan am schlauch. was meinst du mit Sourcecode? mfg Matthias
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.
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 !
schau mal hier vorbei: http://www.mikrocontroller.net/articles/Versenden_von_SMS_mittels_Mobiltelefon Da hab ich die relativ leicht verständlichen Routinen für das PDU Format erläutert/raingestellt
Matthias schrieb: > Hallo > > Ich stehe momentan am schlauch. > was meinst du mit Sourcecode? > > mfg > Matthias Sourcecode = Quelltext. Also den Programmcode im Original, in den Du das Versenden der SMS einbauen willst.
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
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
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
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.