Forum: Mikrocontroller und Digitale Elektronik Mit SMS ATMega8 ansteuern


von Hendrik X. (wolf77)


Lesenswert?

Hallo Zusammen,

ich muss in Form einen Schulprojektes es schaffen, mit Hilfe eines 
Mikrocontrolers den SMS speicher meines Handys (Siemand S25) auszulesen, 
was bei einem bestimmten Inhalt einer SMS dan dazu führt das meine 
ATMega8 dann einen Ausgang schaltet.

Bei fertigstellung möchte ich dann mit meinem Handy eine SMS versenden, 
was das andere handy, welches mit einem Datenkabel am Atmega8 klemmt, 
dann empfängt und der atmega8 dann den Speicher ausließt und bei 
bestimmtem Inhalt eine Aktion startet.

Doch nun stellen sich mir dort einige Probleme und Fragen in den Weg.

-Ich wollte gerne Testweise das Handy über das Datenkabel (Seriell) am 
PC anschließen und mit hilfe von Hyperterminal mal die AT befehle 
durchprobieren. Doch leider bekomm ich dies nicht hinn, da mein 
Hyperterminal keine Befehle ans Handy sendet, bzw, es warscheinlich 
garnicht erkennt. Nachdem ich einen AT befehl eingebe und abschicke 
passiert einfach nichts und ich weiß nicht woran es liegt :(

Meine Settings im HT:
9600 Bd(habe aber auch andere probiert)
Bits: 8
Party: none
Stopbits: 1
Flowcontrol: none

-Dessweiteren weiß ich nicht genau wie mit was ich die Spannung 
runterregele, wenn ich das Datenkabel mit dem ATmega8 verbinde.
Ich habe in meinem Datenkabel einen Pegelwandler im Stecker, was 
warscheinlich die Orginalspannung vom Handy (ich weiß nicht genau wie 
hoch die ist, könnte so bei 3 V liegen) hoch regelt. Nun muss ich ja 
aber auf die Betriebsspannung vom Mirkocontroler kommen und der fährt 
mit 5V.

Ich währe wirklich sehr sehr dankbar für Hilfe bei meinem Projekt, damit 
ich damit weiterkomme :)

gruß Hendrik

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Hendrik Xyz schrieb:
> Hallo Zusammen,
>
> ich muss in Form einen Schulprojektes es schaffen, mit Hilfe eines
> Mikrocontrolers den SMS speicher meines Handys (Siemand S25) auszulesen,
> was bei einem bestimmten Inhalt einer SMS dan dazu führt das meine
> ATMega8 dann einen Ausgang schaltet.
>
> Bei fertigstellung möchte ich dann mit meinem Handy eine SMS versenden,
> was das andere handy, welches mit einem Datenkabel am Atmega8 klemmt,
> dann empfängt und der atmega8 dann den Speicher ausließt und bei
> bestimmtem Inhalt eine Aktion startet.

Forum schon abgesucht? Ist schon einiges dazu geschrieben worden.

> Doch nun stellen sich mir dort einige Probleme und Fragen in den Weg.
>
> -Ich wollte gerne Testweise das Handy über das Datenkabel (Seriell) am
> PC anschließen und mit hilfe von Hyperterminal mal die AT befehle
> durchprobieren. Doch leider bekomm ich dies nicht hinn, da mein
> Hyperterminal keine Befehle ans Handy sendet, bzw, es warscheinlich
> garnicht erkennt. Nachdem ich einen AT befehl eingebe und abschicke
> passiert einfach nichts und ich weiß nicht woran es liegt :(

Möglicherweise daran, dass der Pegelwandler mit Datenkabel nicht mit 
Strom versorgt wird.

> Meine Settings im HT:
> 9600 Bd(habe aber auch andere probiert)
> Bits: 8
> Party: none
> Stopbits: 1
> Flowcontrol: none

Man teste mit Brays Terminal: 
http://sites.google.com/site/braypp/terminal
Dieses Programm bietet die Möglichkeit per Buttons (unten links) DTR und 
RTS zu schalten (dabei Flowcontrol auf none lassen). Damit kann man 
ausprobieren, ob der Pegalwandler im Datenkabel sich den Strom von der 
seriellen Schnittstelle abzwackt und von welchem Pin (evtl. von beiden).

> -Dessweiteren weiß ich nicht genau wie mit was ich die Spannung
> runterregele, wenn ich das Datenkabel mit dem ATmega8 verbinde.
> Ich habe in meinem Datenkabel einen Pegelwandler im Stecker, was
> warscheinlich die Orginalspannung vom Handy (ich weiß nicht genau wie
> hoch die ist, könnte so bei 3 V liegen) hoch regelt. Nun muss ich ja
> aber auf die Betriebsspannung vom Mirkocontroler kommen und der fährt
> mit 5V.

Habe zumindest einige Datenkabel gesehen, die nicht von "Handy-Seite" 
versorgt werden (s.o.). Also erstmal ausprobieren, woher das Datenkabel 
versorgt wird.

Im ersten Tests kann man dann einen MAX232 o.ä. mit dem AVR verbinden, 
Versorgungsleitungen das Datenkabels kann man über ungenutzten 
RS232-Ausgang des MAX232 auch an D-SUB9 Steckverbinder und damit den 
Pegelwandler im Kabel versorgen. Spart die Bastelei eines eigenen 
Kabels. Später kann man dann den AVR über 5V-3V Pegelwandlung direkt mit 
dem Handy verbinden ohne RS232 hin-zurück dazwischen.

> Ich währe wirklich sehr sehr dankbar für Hilfe bei meinem Projekt, damit
> ich damit weiterkomme :)

Weiteres siehe auch interfacing GSM devices Application Note von 
atmel.com

von Hendrik X. (wolf77)


Lesenswert?

Vielen dank, mit Brays Terminal funktioniert das ganze auch etwas 
handlicher, aber auf jedenfall klappt nun die kommunication zwischen PC 
und Handy!

Sogar mit Hyper Terminal geht es nun, wahren wohl falsche 
konvigurationen.
Mit folgenden einstellung funktioniet es nun:

> Übertragungsrate: 19200 Bd
> Bits: 8
> Party: none
> Stopbits: 1
> Flowcontrol: Xon/Xoff

Hinweis: beim Hyperterminal von Windows darf kein Echo eingeschaltet 
sein!

Nun habe ich ein kleines Problem mit Brays Terminal, und zwar weiß ich 
nicht wie ich den PDU code einer SMS abschicken soll, da dies im HP von 
Windows normalerweise mit Strg-Z realisiert wird. Aber in Brays Terminal 
habe ich anscheinend nur die Möglichkeit auf "Senden" (Enter) zu 
drücken, womit es nicht klappt.

Wie löse ich dies Problem?

gruß Wolf


ps.: zu der Verbindung mit der MCU und der Pegelwandelung komme ich 
etwas später nochmal drauf zurück!

von Niels K. (niels-k)


Lesenswert?

Hallo Hendrik,

das Schalten ist bereits vollständig in diesem Projekt umgesetzt:
Beitrag "GSM GPS - Tracker"

Die PDU- Geschichte ist hier:
Beitrag "SMS in PDU Format konvertieren"
und hier:
Beitrag "SMS im PDU.Format in Text umwandeln"

Grüße Niels

von Hendrik X. (wolf77)


Lesenswert?

Vielen dank Niels, deine seiten sehen Hilfreich aus, ich werde sie mal 
durcharbeiten.

Aber leider weiß ich nun immer noch nicht, wie ich den PDU code in Brays 
Terminal abschicken kann, da ich kein Strg-Z benutzen kann so wie in 
Hyper Terminal

von Karl H. (kbuchegg)


Lesenswert?

Kenne das Brays Terminal nicht.
Aber was passiert, wenn du Control-Z drückst und dann auf 'Abschicken' 
drückst?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Hendrik Xyz schrieb:

> Aber leider weiß ich nun immer noch nicht, wie ich den PDU code in Brays
> Terminal abschicken kann, da ich kein Strg-Z benutzen kann so wie in
> Hyper Terminal

In Brays Terminal kannst du beliebige Zeichen als Hexcode senden. Bsp:
stefan = ste$66an

Dein Control-Z ist entsprechend $1A
http://www-cip.physik.uni-bonn.de/pool/infos/ascii/table.htm

von Niels K. (niels-k)


Lesenswert?

Habe mir Deinen Ausgangsartikel noch mal etwas genauer durchgelesen.

Ich muss sagen, dass ich wirklich überrascht bin, welches Niveau von 
Euch da verlangt wird. Ganz ehrlich (bin ich im Grunde immer): So etwas 
zu fordern ist für eine Schularbeit völlig überzogen. Im Forum wurde das 
Auslesen (vor meinem Projekt) immer nur mit Textmode-fähigen 
Mobiltelefonen umgesetzt. Denn da steckt einiges drinne:

1. SMS schreiben können. Hier ist bereits die Konvertierung ins 
PDU-Format nötig. Die nächste Hürde ist das Absenden. Und da kommt genau 
das, wo Du gerade Probleme mit hast ins Spiel (Strg+Z). Nicht immer wird 
die SMS auch wirklich akzeptiert. Das Zeitfenster, dass Dir das Gerät 
hier lässt ist verdammt klein. Mein Code wurde so optimiert, dass er die 
SMS so lange versendet bis es klappt, dass kann mitunter 30 bis 80 
Versuche lang gehen. Bis ich das raus hatte, verging so seine Zeit.

2. Viel heftiger ist es die SMS zu lesen. Das Ganze ist von vielen 
Faktoren abhängig. Im Grunde müßte man hier elendig lange Seiten an 
Dokumentation lesen. Ich habe es auch nur in abgespeckter Form drinne. 
Die Entwicklung dafür ging recht lange.

3. Eine "Befehlssprache" entwickeln. Ist recht einfach, da man es mit 
einer RS232-Verbindung direkt testen kann.

4. Eine Fehlerkennung. Das ist knallhart. Bei einem extern 
angeschlossenen Gerät, kann so gut wie alles schief gehen. Angefangen 
vom Kommunikationsfehlern bis hin zu kompletten Aufhängern.

5. Wenn das jetzt auch noch in ASM verlangt wird - so war das bei mir 
(Schule), dann sehe ich schwarz, das in einem vernünftigen Zeitrahmen 
umzusetzen.

Mein Fazit: Falls Du Probleme bekommen solltest, kannste Dich gerne mal 
per PN bei mir melden. Ich werde dann versuchen, wo es geht, Antworten 
zu finden.

von Hendrik X. (wolf77)


Lesenswert?

Ich hätte mal eben eine Zwischenfrage, un zwar ob jemand weiß welche 
schnittstellen spannung mein Siemens S25 wohl haben mag? bzw. wo ich 
diese Infos herbekommen, unter Google ist schwer was zu finden.

Das ist für mich wichtig, da ich ja wissen muss ob ich später einen 
Pegel wandler einbauen muss oder nicht?

@Niels: Danke für das Angebot, ich werde mich vieleicht später mal 
melden :)



gruß  Hendrik

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.