Forum: Mikrocontroller und Digitale Elektronik SMS sende vom µC


von Gerald Neuberger (Gast)


Lesenswert?

Liebe Leute !

Ich will eine SMS vom µC schreiben ( es ist ein 80C537 );
Programmiersprache ist Assembler.

Ich habe mich schon mit den AT Befehlen beschäftigt und weiß, dass es
Text Modus und PDU Modus gibt.

Irgendwie ist mir das alles zu hoch ...

Ich habe ein DLR3 Kabel und ein Nokia 6210.

Habt ihr vielleicht einen kleine Source Code für mich, wo ich eine
bestimmte Nachricht ( zB "Hallo Welt" ) als SMS an eine
Mobiltelefonnummer schicken kann ?

Und wie kann man Probleme verhindern, wenn gerade dann, wenn man senden
will, ein Anruf reinkommt - oder eine SMS empfangen wird ?

Kann man hier mit Interrupt Erkennung etwas machen ?

Bitte um eure wie immer wertvollen Tipps.

Danke

mfG Gerald

von Semme (Gast)


Lesenswert?

Besuch mal folgenden Link:
http://www.joern.de/handypc/handypc.htm
Ganz unten auf dieser Seite wird eine SMS mit'm 6210 versendet über
ein Terminalprogramm (Text & PDU Modus). Das Ganze müsstest du halt
noch auf einen µC ummünzen. Sieh dir dazu mal das Tutorial hier auf der
Seite an (speziell "UART").

Außerdem sei natürlich noch http://www.nobbi.com erwähnt!

von [cmp] (Gast)


Lesenswert?

@Gerald
Kurznachrichten auf die perverse Art: ttp://www.nobbi.com/sms_pdu.htm
Ich hab leider auch nur *.inc für Atmel und so im gesamtkontext
verwoben das der code kaum lesbar sein würde...

... aber folgende vorgehensweise:
- erst mit der hand am datenkabel versenden
- standart UART routine schreiben
- datenkabel nachbauen
- schritt 1 auf dem prozessor rausdrücken ...

>Und wie kann man Probleme verhindern,...
Mit dem Textmodus könnte es hier probleme geben,
diese Probleme gibt es nicht mit dem PDU-Mode:
a) das handy regelt IMHO das absenden auch wenn ein anruf reinkommt
   ansonsten ein kleiner chup und der anruf ist gegessen ;-)
b) das "RING" über die Uart stört das absenden nicht wirklich
   (entweder du fängst es ab oder du ignorerst es und drückst
    erstmal die sms raus)
c) eine eingehende SMS ergibt keinen output und wird vom handy
   störungsfrei nebenbei empfangen

>Kann man hier mit Interrupt Erkennung etwas machen ?
bei anruf ja, indem du:
die UART abhörst: "RING", CCR, LF, CCR, LF
annehmen ist dann z.b. "ata", CCR, LF

bei SMS ist das schwieriger:
a) alle x minuten das handy nach neuen nachrichten abfragen
b) einen "handyblinker" oder anderes strahlungsvolatiles
   bauteil an den int klemmen und beim aufwecken die
   neuen nachrichten abfragen...

[b) ist allerdings bullshit weil du damit auch anrufe erkennst
und die tagüber halstündigen reconnects und nachts so alle stunde
und manche sms gar nicht weil die teilweise einen niedrigen
stahlungspegel haben... --> timervariante bevorzugen]

allgemeine Tipps:
finger weg vom siemens irdgendwas 35.
immer nach jedem uartout ein uartin.
nokia in die ecke werfen wegen dem verdammten bus
(ein siemens kannste direkt anschließen ohne max ound pic)
immer einem einfachen "AT" --> "OK" die schnittstelle prüfen.
finger weg vom siemens irdgendwas 35 und 25.
looki looki machen: www.mitpommes.de

viel spass bei der kopie des nokia datenkabels und
wenn du herausgefunden hast wie man aus dem nokia
nichtpulsierenden saft bekommt bei gleichzeitigen
nachladen ohne einen max oder DLR3-chip zu nutzen:
PLZ drop me a line!

greetx, [cmp]

von Juergen (Gast)


Lesenswert?

Ich hab da auch mal eine Frage:
Ich habe auch eine Schaltung aufgebaut, mit der ich mit 'nem
Controller über ein Datenkabel auch erfolgreich sms über ein Siemens
s35 verschicken kann. Allerdings würde ich gerne auch die Antworten vom
Handy ausweten, dabei ist mir aufgefallen, daß ich auf der rx Leitung
auch den Befehl empfange, den ich zum Handy schicke, und direkt da
hinten dran hängt die Antwort des Handys. Zum Vergleich habe ich das
mal mit dem Handy am PC und Hyperterminal ausprobiert, und da kommt
über die rx Leitung nur die Antwort vom Handy (habe mir das mal mit dem
Oszilloskop angeschaut, der gesendete Befehl wird nicht irgendwie vom
Hyperterminal unterdrückt, der wird dort wirklich nicht empfangen).
Kann Ich dieses Verhalten irgenwie Abschalten, so daß ich nur die
Antwort vom Handy erhalte?

von [cmp] (Gast)


Lesenswert?

@jürgen
allgemeine Tipps:
finger weg vom siemens irdgendwas 35.

das 35 ist müll. erstens ladeprobleme, zweitens probleme mit der
zubehörspannung, drittens der nerfige "Error", CCR, LF, CCR, LF mal
so zwischendurch je nach laune, viertens unterschiedliche CCR, LF,
abschlüsse bei AT-kommandos, fünftens die ich_verschluck_die_chars
probleme beim pdu mode, sechstens totladen des akkus in notime,
siebtens ... [das können wir noch die nächsten 2k weitermachen]

>Kann Ich dieses Verhalten irgenwie Abschalten, so daß ich nur die
>Antwort vom Handy erhalte?
klar: AT^SMSO hehe nee aber mal im ernst und abgesehen davon das du
ein 35 hast - reagier einfach auf den fehler - übergehs...

ich dücke einfach die message im pdumode raus:
_uart_out_pdu_hex    ee_message1,    parameter

danach ein lustiges steuerzeichen:
ldi  uart,  26
rcall   upUartOut    ;<-- HIER KEIN UARTIN !!!

So jetzt bekommen wir keinen return und machen gleich weiter:
rcall   uart_in_uart_string   ; 'OK' ? oder 'ERROR'
_cmp_flash_sram   ok_answer,   uart_string
usw...

resultat: abschalten kannst du es nicht, aber einfach nach dem
SUB (DEZ26) nicht einlesen - this does the trick ;-)

greetX, [cmp]

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.