TC35 Arduino SMS Empfangen

OP #3771659
Lesenswert?

Hallo,

ich hoffe Ihr könnt mir weiter helfen...
Ich knobel schon eine ganze Weil wie ich mit ein Mega-Board und dem TC35 
eine SMS empfangen kann... Leider komme ich nicht wirklich weiter...
Das senden einer SMS ist kein Problem...
Ich kann nur leider nicht eine empfangende SMS anzeigen lassen...
Hat jemand eine Idee??

Hab schon einen Ansatz...
Leider funktioniert das nicht wirklich...


int ledPin=13;

char receivedByte;


void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
pinMode(ledPin,OUTPUT);
Serial.println("\r\nStarten\r\n");

Serial1.print("AT+CMGF=1\r");
delay(400);
Serial1.print("AT+CMGR=1\r");
delay(400);
Serial.println(Serial1.read());
}

void loop()
{
if(Serial1.available()>0)
{
Serial.println(Serial1.read());
digitalWrite(ledPin,HIGH);
}
}
(Firma: guloshop.de) #3771670
Lesenswert?

Mario I. schrieb:
> Serial1.print("AT+CMGR=1\r");

Hallo Mario,

für AT+CMGR musst du erst einmal wissen, in welchem Speicherplatz die 
angekommene SMS gespeichert wurde. Ich bin mir nicht sicher, aber ich 
glaube, dass man nicht davon ausgehen kann, dass jede SMS auf Position 1 
ankommt.

Ich würde eher AT+CMGL verwenden. Mit =1, 2, 3 oder 4. Weiß es nicht 
auswendig, aber in der Doku wirst du rausfinden, welche Zahl für 
"ungelesene SMS", "gelesene SMS", "beides" steht.

Empfangene SMS sollte man dann eventuell auch löschen, nicht dass der 
Speicher irgendwann voll ist. Das geht mit AT+CMGD. Glaub ich. Hab das 
alles mal programmiert, ist aber ein Weilchen her. :-)
(Firma: guloshop.de) #3771730
Lesenswert?

Mario I. schrieb:
> Ich habe aber doch mit Serial1.print("AT+CMGF=1\r"); angegeben das er
> das ergebnis im Klartext anzeigen soll...
> Hmmm

Hm...schau mal hier:
http://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#ASCII-Tabelle

Ausgegeben wird:
OK
ERROR

Wahrscheinlich brauchst du zur Ausgabe von Text eine andere Funktion als 
digitalWrite(ledPin,HIGH);

Welche das ist, weiß ich leider nicht, ich kenne die verwendete 
Bibliothek nicht.
(Firma: guloshop.de) #3771819
Lesenswert?

Mario I. schrieb:
> ok, danke...
> Jetzt bekomme ich das "OK ERROR" angezeigt...
> Jetzt muß ich nur noch raus bekommen warum ich die Nachricht nicht
> angezeigt bekomme...

Siehe oben. Wenn es keine SMS mit der Nummer 1 gibt, kann AT+CMGR auch 
keine lesen. Deswegen kommt für das zweite Kommando auch "ERROR" zurück.

Probier statt AT+CMGR mal das List-Kommando: AT+CMGL=4
Damit müssten alle SMS angezeigt werden, die gespeichert sind.

Doku dazu hier:
http://www.hughes.com/AT_Command_Reference.html#AT_plusCMGL
OP #3772877
Lesenswert?

Hallo...
Ich habe es hin bekommen...
Es gibt da nur noch ein kleines Problem...
Wenn ich den Code im HyperTerminal anzeigen lasse, bekomme ich alles 
angezeigt (siehe Bild).
Wenn ich den gleichen Code über das Arduino anzeigen lasse, fehlt auf 
einmal der Text der SMS. So als ob es nicht angezeigt werden kann (nicht 
genug Zeichen zur Verfügung oder so)
Hat jemand eine Idee wie ich mir den Rest anzeigen lassen kann??

Vielen Dank im Voraus
Mario
Angehängte Dateien:
Gast #3775740
Lesenswert?

also wenn du einfach nur serial1 schreibst und serial schreibst wird 
immer der gleiche pin angesprochen
ich arbeite mit myserial.h

da kann man dann 0,1 für serial belassen und zb 2,3 für den tc35 
benennen
in deinem letzte thread sah es so aus als wenn du alles über die 
gleichen pins laufen lässt....

nur als idee..

gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren