Forum: Mikrocontroller und Digitale Elektronik 8051 > ser. SS > Nokia 6210 ( SMS )


von Gerald Neuberger (Gast)


Lesenswert?

Hallo,

ich bräuchte Rat - und hoffe, hier ein paar Tipps zu bekommen.

An einem 8051 Mikrocontroller Board inkl. Maxim RS232 will ich über die
serielle Schnittstelle AT Befehle zum Senden einer SMS ausgeben ( im
Text Mode, funktioniert mit dem Nokia 6210 ).

Über das Hyperterminal funktioniert das auch ( Datenkabel = DLR 3 ).

Nur über den µC nicht.

Ich glaube, es liegt an dem Problem, dass ich das 'Carriage Return'
oder das 'Line Feed' irgendwie nicht passen.

Kann es sein, dass das Handy an den µC etwas zurückschickt ( Echo ? )
und kann ( oder muss ) man das unterbinden - so dass der µC dies
ignoriert - kann das ein Fehler sein ?

Generell würde ich mich über einen kleine Quellcode RIESIG freuen (
egal, ob C oder Assembler ), mit dem über die ser. SS ( 9600,8,N ) zum
Beispiel mittels AT Befehl die Ziffer 1 gewählt wird ( AT Command wäre
"ATD1<CR>" - wie gesagt, das 'Carriage Return' weiß ich nicht
wirklich, wie man das rausschickt; dann würd ich allein schon weiter
kommen.

Bin auf eure Antworten gespannt - und hoffe fest darauf !

Lieben Dank

Gerald

von mthomas (Gast)


Lesenswert?

Leider nur wenig Ahnung von 8051ern. Mit dem AVR habe ich einiges
gemacht und das funktioniert auch (SMS im PDU-Mode senden und
empfangen). Der "Standard" sieht vor, dass die AT-Befehle mit 0x0d
($0d) abgeschlossen werden. Vom ME(Handy) kommt dann die Antwort die
mindestens aus OK$0d$0a besteht, den der Befehl korrekt verarbeitet
wurde. (Siemens, andere antworten mglw. nur OK$0d). Man kann diese
Antwort ignorieren (sollte man aber nicht). Auf jeden Fall sollte man
den folgenden Befehl erst nach einem OK vom ME senden oder - Holzhammer
- ein Pause zwischen dem Senden der Befehle einlegen.

Möglichkeiten zur Fehlersuche: serielle Schnittstelle des uC via MAX232
o.ae. mit einem PC verbinden (evtl. ein Null-Modem-Kabel nutzen, falls
auf der uC-Platine ein Stecker fuer das Datenkabel vorhanden ist), auf
PC Terminal-Programm starten (Bray-Terminal ist sehr viel besser als
Hyperterm fuer solche Zwecke), den uC erstmal einfach ein paar Zeichen
senden lassen und schauen, ob die beim PC ankommen. So dies
funktioniert, hat man zumindest Senden vom uC richtig implementiert.

Wenn der Empfang am PC klappt am ME aber nicht (kann man einfach
testen, indem man z.B. den Code zum loeschen einer gespeicherten SMS
sendet und am Handy prueft ob diese geloescht wurde), kann es an der
Stromversorgung des Datenkabels liegen. Beim PC "schmarotzt" das
Datenkabel uebelicherweise seine Versorgungsspannung aus dem RTS PIN.
(teilweise auch anderen, aber RTS scheint kleinster gemeinsamer Nenner,
kenne das Nokia Kabel nicht) Ob es an der Versorgung liegt, kann man
mit dem Bray-Terminal auch sehr gut nachvollziehen (RTS on send, bzw.
RTS ueber Button schalten). Eine Loesung ist dann an RTS 5V anzulegen
oder - sicherer - die freie Ladepumpe des zweiten Ausgangs des 232
Pegelwandlers nutzen, damit erhaelt dann auch ein evtl. im Datenkabel
vorhandener 5V Regler ausreichend Eingangsspannung (Tout an RTS, Tin an
GND). Man kann auch die UART Pins des uC direkt mit dem ME verbinden,
dabei muss man allerdings fuer "kompatible" Spannungen sorgen (bei
Handys oft <5V, evtl. Vorwiderstand/Zener-Diode, wurde in diesem Forum
schon des oefteren diskutiert).

Nun denn, hoffe es hilft fuer den Anfang weiter.

Martin

von Gerald neuberger (Gast)


Lesenswert?

Hallo Martin ( und die anderen ),

habe deine Ratschläge befolgt.

Mit dem BRAY Terminal kann ich mit dem PC und dem Datenkabel DLR-3 und
dem Nokia 6210 KEINE !! AT Befehle absetzen, mit dem Hyperterminal
unter Windows schon.

Es dürfte also tatsächlich mit der Versorgungsspannung des Datenkabels
etwas zu tun haben.

Habe aus den I-Net ( nobbi.com ) einen Schaltplan des DLR-3
runtergeladen - da drinnen ist auch ein MAX232 !! und noch ein bisschen
mehr.

Jedenfalls dürften diese Teile Spannung brauchen, die sie vom
Hyperterminal bekommen - nicht aber über BRAY oder den µC.

Zu deinem Hinweis, wegen der 5V, was meinst du mit Tout und Tin ??

Ist Tout TX und Tin RX ?

Könnte ich vom µC Board +5V und Ground an die Pins am Ausgang (
serielle SS )zum Datenkabel legen ? An welche Pins genau ?

Ich meine, es sollte +5V an Pin 7 ( = RTS ) und Ground auf Pin 5 ( =
GROUND ). Liege ich hier richtig ?

Bitte um deine ( eure ) Antwort - Besten Dank !!

mfG Gerald

von mthomas (Gast)


Lesenswert?

>Mit dem BRAY Terminal kann ich mit dem PC und dem Datenkabel
>DLR-3 und dem Nokia 6210 KEINE !! AT Befehle absetzen, mit dem
>Hyperterminal unter Windows schon.

Probier mal im Bray-Terminal "RTS on send" und den RTS-Knopf
ueber dem Eingabefeld zum senden. Wenn Hyperterm funktioniert,
funktioniert das Bray-Terminal mit richtiger Einstellung auch.

>Es dürfte also tatsächlich mit der Versorgungsspannung des
>Datenkabels etwas zu tun haben.

Dies aus dem verwendeten Terminalprogramm zu schliessen
ist "mutig". Aber es wird wahrscheinlich. "Spiele" mit
den Einstellungen des Bray-Terminals und messe die Spannungen
am COM-Port des PC bei Hyperterm. Das sollte weiterhelfen.

>Habe aus den I-Net ( nobbi.com ) einen Schaltplan des DLR-3
>runtergeladen - da drinnen ist auch ein MAX232 !! und noch ein
>bisschen mehr.

Angesehen. Das DLR-3 scheint nicht nur ein dummer Pegelwendler
sondern auch ein Uebersetzer zwischen dem AT-Standard und
dem Nokia FBUS Protokoll. Whatever, jedenfalls dürften diese Teile
Versorgungsspannung brauchen, aber scheinbar kommt diese Spannung vom
PC und nicht vom ME.

>Zu deinem Hinweis, wegen der 5V, was meinst du mit
>Tout und Tin ??

Die Pins des MAX232 o.ae.

>Ist Tout TX und Tin RX ?

nein, Aus- und Eingang der Sendepegelwandlung und Invertierung des
MAX232 fuer die normale Uebertragung also normalerweise
uC[TX]->MAX202[Tin]->MAX202[Tout]->DSUB-Stecker. Die zweite
Ladepumpe/Inv. des M232 (T2in/Tout2) kann fuer die Spannungsversorgung
des Datenkabels von der uC-Platine genutzt werden, falls 5V nicht
ausreichen.

>Könnte ich vom µC Board +5V und Ground an die Pins am Ausgang (
>serielle SS )zum Datenkabel legen ? An welche Pins genau ?

>Ich meine, es sollte +5V an Pin 7 ( = RTS ) und Ground auf Pin 5 ( =
>GROUND ). Liege ich hier richtig ?

Ground ist ohnehin notwendig. 5V an RTS sollte reichen, ausprobieren
hilft, im Zweifel einfach am PC messen und am uC-Board nachbauen. Wenn
5V nicht reichen, zweite Ladepumpe nutzen.

Martin

von Sebastian Ruhland (Gast)


Lesenswert?

Hallo,
habe mich entschlossen, meine Frage an diesen Thread zu hängen, nachdem
ich schon in zahlreichen Beiträgen "gewühlt" habe.

Irgendwas stimmt nicht und ich probiere jetzt schon seit Tagen.
Nokia(6210)-DLR3-(MAX232)-ATMega8. Über das Hyperterminal funktioniert
,wie fast überall, alles. Wenn ich das ganze mit dem mc probiere kann
ich maximal das Echo vom Handy empfangen und ansonsten tut er einfach
nichts.

mc sendet 'A'
Handy sendet 'A'
mc sendet 'T'
Handy sendet 'T'
mc sendet 0x0d
Handy sendet 0x0d

nun sollte er zumindest ein OK geben. Tut er aber nicht. Vielleicht
habe ihr eine Idee. Das DLR3 habe ich vor 2 Wochen bei Reichelt
gekauft. Aufschrauben geht nicht, das Ding ist aus einem Stück.

Gruß
Sebastian

von Uwe Neubert (Gast)


Lesenswert?

Hi! Hat sich das nun geklärt und kannst du nun SMS per Textmode senden? 
Ich hatte auch lang zu knaubeln und habs rausgefunden wies geht. Dein 
Adapter funktioniert unter Hypeterm und damit auch am Board. Man muss 
die Befehle etwas umschreiben damit das Teil die SMS startet, besteht 
noch Interesse? Dann schick mir mal ne Mail!

MFG Uwe!

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.