ich versuche nun schon seit 2 Tagen mein Siemens TC35 GSM Modul dazu zu bewegen mir eine SMS an zu zeigen.
Senden einer SMS und einen Anruf machen funktioniert einwandfrei aber ich schaffe es nicht eine eingehende SMS
zu lesen.
Er springt einfach nicht in die If-Anweisung ( gsmSerial.available() > 0 ) wenn was kommt ?
Hat jemand eine Idee.
#include <SoftwareSerial.h>
char gsm_char=0;
SoftwareSerial gsmSerial(2,3);
void setup()
{
Serial.begin(9600);
gsmSerial.begin(9600);
Serial.println("Starting TC35 and debug Communication...");
}
void loop() {
if(gsmSerial.available() > 0)
{
gsm_char=gsmSerial.read(); //Store the char in gsm_char.
Serial.print(gsm_char); //Print it to debug serial
}
}
das könnte damit zusammenhängen wie das Modem konfiguriert ist, da gab es mal eine Änderung wo die SMS gespeichert wrden (also SIM bzw. Gerät). Ich hatte auch mal genau dieses Problem und nach ein paar AT-Befehlen ging es dann wie gewünscht, leider finde ich diese Notiz nicht mehr, aber google findet einiges zu diesem Thema, z.B. hier: http://www.unitronics.com/forum/topic.asp?TOPIC_ID=339
Wobei es dann auch noch einen Unterschied macht ob TC35 oder TC35i...
also ich bekomme es einfach nicht hin, wenn ich folgenden Code starte sollte ich doch eine OK zurück
bekommen, stattdessen kommt ein -1.
Hat jemand eine Idee ??
#include <SoftwareSerial.h>
SoftwareSerial gsmSerial(2,3);
char receivedByte;
void setup(){
Serial.begin(9600);
gsmSerial.begin(9600);
Serial.println("\r\nCommunication started\r\n");
gsmSerial.print("AT\r");
delay(400);
Serial.println(gsmSerial.read()); //hier sollte doch OK zurück kommen
}
void loop(){
if(gsmSerial.available()>0){
Serial.println(gsmSerial.read());
}
}
"OK" zwar nicht, aber wenigstens 79 ( = 0x4F = 'O' ).
read() liefert ein int zurück, und print(int) schreibt eine Dezimalzahl.
-1 ist das gleiche wie available() == 0 : nichts gekommen.
"AT\n" oder "AT\r\n" hast du auch schon probiert?
Senden einer SMS und einen Anruf machen funktioniert einwandfrei
Richtig angeschlossen scheint es ja dann zu sein. Liefert SoftwareSerial gsmSerial(2,3); überhaupt mal was ?
Gibt öfters mal Hinweise, dass AltSoftSerial viel besser sein soll ...
mit AltSoftSerial kommt jetzt was an Yeeepiiii , jetzt muss ich nur noch rausfinden mit welchem AT-Befehl er mir was an die Serielle Schnittstelle beim empfang einer SMS schickt.
Muss jetzt erst mal auf Arbeit aber heute abend teste ich weiter, danke.