Forum: Mikrocontroller und Digitale Elektronik AT -Befehle Siemens C35


von Alex (Gast)


Lesenswert?

Hallo..
Ich möchte gern mit meinem Avr eine Alarmanlage realisieren, bei einem
Notfall sollen verschiedene Nummern aus dem telefonbuch angerufen
werden. Im siemens AT-Commands Manual steht der befehl
ATD><mem><n>  mem für telfonbuchspeicher und n für den Eintrag an der
Stelle z.b. 5.. Habe schon einige varianten ausprobiert aber das handy
wählt dann immer nur die nummer n (also z.b. eine 5).
Wie muss der Befehl denn aussehen?

Danke schon mal im voraus

von Rufus T. Firefly (Gast)


Lesenswert?

"mem" muss wahrscheinlich die Nummer des Telephonbuches sein.

Hast Du mal die einfache Variante
 ATD<n
ausprobiert?

also

 ATD<3

für den dritten Eintrag des aktuellen Telephonbuches; welches das ist,
wird mit at+cpbs ausgewählt:

  AT+CPBS=SM

aus Dokumentation der AT-Kommandos:

  ”FD” SIM fix-dialing phonebook
  ”SM” SIM phonebook
  ”ME” ME phonebook
  ”DC” ME Dialled Calls List
  ”ON” SIM (or ME) own numbers (MSISDNs) list
  ”LD” SIM last-dialling phonebook
  "MC" ME missed (unanswered received) calls list
  "RC" ME received calls list


Die Beschreibung von ATD< ist wirklich mies.

von Alex (Gast)


Lesenswert?

ja hab add<3 (oder so hab ich probiert) aber das handy wählt dann nur
die 3. das einzigste was funktioniert ist atds=0. allerdings weiß ich
nicht wie ich die nummer an diesem speicherplatz ändern kann. bei
modems geschieht das über den befehl at&zn=0160.....
dieser befehl ist bei handys scheinbar nicht verfügbar.

von Rufus T. Firefly (Gast)


Lesenswert?

Du könntest alternativ versuchen, die Einträge des Telephonbuches mit
den entsprechenden AT+irgendwas-Kommandos auszulesen,
zwischenzuspeichern und als normalen Wählstring mit dem "klassischen"
ATD an das Teil zurückzusenden.
Damit umgehst Du ATD< (wie auch immer dessen genaue Syntax aussehen
mag) und Du musst beim Testen nicht immer irgendwo anrufen :-)

Das sollte mit

  AT+CPBR=? bzw AT+CPBR=n (n ist ein wie auch immer definierter Index)

machbar sein.
Mal mit 'nem Terminal ausprobieren; ich hab' grad' kein Datenkabel
für mein S35 da.

von Alex (Gast)


Lesenswert?

ja ok wäre ne möglichkeit. wäre aber trotzdem nicht schlecht wenn mein
avr bei dem jeweiligen ereignis auf genau die vordefinierte
speicherstelle des telefons zugreift. ich möchte mir gern offen lassen
das die telefonnummern später geändert werden können (telefonseitig)
....ständiges ändern des programm-code, sprich der konstanten (also der
nummern) und neuprogrammieren des controllers ist unvorteilhaft..
hat evtl. noch jemand eine idee?

von Rufus T. Firefly (Gast)


Lesenswert?

Das soll schon Dein AVR übernehmen. Vor dem Wählen schickt er das
Kommando zum Auslesen des betreffenden Telephonbucheintrags an das
Telephon und wählt die zurückgegebene Nummer.
Da ist bei Änderungen des Telephonbuches kein Programmcode zu ändern,
da ja der AVR das Telephonbuch vor jedem Wählen abfragt.

Das ist natürlich nur ein Workaround, aber solange nicht klar ist, wie
exakt die Syntax des ATD< aufgebaut ist, wohl ein gangbarer Weg.

von Alex (Gast)


Lesenswert?

na gut überredet,ist eigentlich doch eine ganz ordentliche möglichkeit
an die nummern zu gelangen.jetzt muss ich mich nur mal damit
beschäftigen wie beim avr und seinem uart das einlesen von daten
abläuft...die nummer wird ja auf grund ihrer länge sicherlich auf dem
stack abgelegt werden müssen oder?

von Alex (Gast)


Lesenswert?

@Rufus
hast du schon mal solch ein programm realisiert?

von Bent Rössing (Gast)


Lesenswert?

hier für S35 - > FUNZT °

ath
OK
atd>16;
OK
ath
OK
at+cpbr=16
+CPBR: 16,"+49XXXXXXXXXXXXXXXXX",145,"Bent Funk"

OK
atd>16; (achte auf die Richtung des Pfeiles!)
wählt Eintrag 16 an als Voice-Call --> ;

mfg Bent

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.