INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Siemens TC35 GSM
08.11.2015, 13:22
Beitrag #1
Siemens TC35 GSM
Hallo Leute,
ich habe mir vor einiger Zeit ein TC35 SMS-Modul von Siemens gekauft um eine mobile Alarmanlage zu bauen. Einen Code den ich geschrieben habe, hat auch funktioniert jedoch klappt es auf einmal gar nicht mehr.
Aus Testzwecken habe ich dann das hier versucht http://www.instructables.com/id/Sending-.../?ALLSTEPS und habe herausgefunden das, wenn RX und TX richtig angeschlossen sind, dass sich das Modul nicht ins Funknetzeinwählen kann. Sobald ich RX und TX falschrum anschließe/entferne klappt die Verbindung wieder. Wenn ich dann RX und TX wieder richtig anschließe, verliert das Modul die Verbindung wieder.
Das TC35 und der Arduino Uno sind komplett neu da ich sie schon als Fehlerquellen vermutet hatte. Strom bekommt der Arduino über USB und das TC35 ist an dem Arduino angeschlossen. Dieses Setup hat schon einmal funktioniert.
Über jede Hilfe freue ich mich Smile

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 13:53 (Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2015 13:56 von hotsystems.)
Beitrag #2
RE: Siemens TC35 GSM
Du musst zwingend das TC35 mit einer eigenen Spannung versorgen, da die Stromaufnahme des TC35 teilweise deutlich höher ist, als das was der Uno liefern kann.
Und an welche Ports hast du das TC35 am Uno angeschlossen?

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 17:04 (Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2015 17:37 von Arduser.)
Beitrag #3
RE: Siemens TC35 GSM
(08.11.2015 13:53)hotsystems schrieb:  Du musst zwingend das TC35 mit einer eigenen Spannung versorgen, da die Stromaufnahme des TC35 teilweise deutlich höher ist, als das was der Uno liefern kann.
Und an welche Ports hast du das TC35 am Uno angeschlossen?
Vielen Dank für die schnelle Antwort Smile
Ich habe mal ein Bild gemacht:
http://i.imgur.com/snBP3QD.jpg
Ich habe mich bei der Verkabelung an die von GreatScott gehalten:
Schematic
also:
rx Pin 9
tx Pin 8
pin 11 "drückt" den Schalter
Das Netzteil liefert 5V und 1A. Dank deines Tipps konnte ich mich auch mit der richtigen Verkabelung im Funknetz einwählen.
Edit: Es sendet leider immer noch keine SMS. Ich bin mir nicht sicher ob es ein Software oder Hardware Problem ist :/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 18:08
Beitrag #4
RE: Siemens TC35 GSM
Hast du die PIN Angabe deiner SIM Karte deaktiviert?
Zeig mal dein Programm her....

Hier könnte ihre Werbung stehen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 18:23 (Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2015 18:25 von Arduser.)
Beitrag #5
RE: Siemens TC35 GSM
Der PIN ist entfernt und die SIM ist auf einem alten Handy getestet worden.
Zum Testen habe ich diesen Code benutzt:
Code:
#include <SoftwareSerial.h>  
#define rxPin 9  
#define txPin 8  
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);  
char text[150];  
String message="";
int i;  

void setup(){
  
pinMode(11,OUTPUT);  
Serial.begin(9600);  
while (!Serial){}  
mySerial.begin(9600);
digitalWrite(11,0);
delay(1000);
digitalWrite(11,1);
Serial.println("Write your SMS:");  
}  

void loop(){  

i=0;  
while( Serial.available()>0 ){    
text[i] = Serial.read();  
message += text[i];  
i++;  
if (text[i-1]==46){  
  Serial.println("Send SMS......");  
  SendTextMessage();  
  ShowSerialData();  
  delay(1000);  
  Serial.println("\r");
  Serial.println("Success");  
  message="";  
  i=0;  }}}  


void SendTextMessage(){
  
mySerial.print("AT+CMGF=1\r");
delay(1000);  
mySerial.print("AT+CMGS=\"+491781234567\"\r");  
delay(1000);  
mySerial.println(message);  
mySerial.print("\r");  
delay(1000);  
mySerial.println((char)26);  
mySerial.println();  }  


void ShowSerialData(){  

while(mySerial.available()!=0)  
Serial.write(mySerial.read());}

Das ist mein Code der funktioniert hat (das SMS senden wird durch einen Infrarot sensor (PIR) ausgelöst) die LED benutze ich um zu sehen was gerade passiert:
Code:
#include <SoftwareSerial.h>  
const int led = 6;
const int PIR = 7;
const int TC35TXD0= 8;
const int TC35RXD0= 9;
SoftwareSerial mySerial = SoftwareSerial(TC35RXD0, TC35TXD0);  
const int TC35button = 11;  //unlock
int count;

void setup() {
pinMode(TC35button,OUTPUT);
pinMode(PIR,INPUT);
pinMode(led,OUTPUT);
Serial.begin(9600);  
while (!Serial){}  
mySerial.begin(9600);
digitalWrite(TC35button,0);
delay(1000);
digitalWrite(TC35button,1);
delay(9000);                //start Verzögerung
}

void loop() {
int PIRv;

    PIRv = digitalRead(PIR);
    Serial.println(PIRv,DEC);
    delay(250);               //abfragungsrate

  if (PIRv == 1)
  {
    mySerial.print("AT+CMGF=1\r");
    delay(1000);  
    mySerial.print("AT+CMGS=\"+491761234567\"\r");  
    delay(1000);  
    mySerial.println("ALARM" );  
    mySerial.print("\r");  
    delay(1000);  
    mySerial.println((char)26);  
    mySerial.println();
    digitalWrite(led,1);
    delay(1000);
    digitalWrite(led,0);
    delay(500);
    digitalWrite(led,1);
    delay(1800000);       //30min Verzögerung
  }

  if (PIRv == 0)
  {
    digitalWrite(led,1);
  }
}

Vielen Dank schon einmal Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 22:53
Beitrag #6
RE: Siemens TC35 GSM
Hallo,
du schreibst an deinem 2. Sketch, dieser funktioniert.
Jetzt versteh ich dein Problem nicht.
Schildere bitte noch mal, welcher Sketch funktioniert und welcher nicht. Dann sehe ich mir den speziell noch mal an.
Und was ist mit dem "Testsketch"?

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.11.2015, 03:39
Beitrag #7
RE: Siemens TC35 GSM
mal als anregung, hab da noch ein funktionierendes sms sketch gefunden Tongue


viel erfolg noch


Code:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8, 9);

String inData = "";
char last;
#include <DHT.h>
#include <SD.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht1 (DHTPIN, DHTTYPE);
#include <SPI.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
const int chipSelect = 4;
const int analogInPin = A0;
int sensorValue = 0;
int sent = 0;

void setup()  
{

  Wire.begin();
  RTC.begin();
  Serial.begin(9600);
  Serial.println("Starte...");

  mySerial.begin(9600);
  mySerial.println("AT");
  pinMode(10, OUTPUT);

  if (!SD.begin(chipSelect))
  {
    Serial.println("Card failed, or not present");
    return;
  }

  Serial.println("card initialized.");
  Serial.println("");
  delay(1000);
}

void loop()
{

  while (Serial.available() > 0)
  {
    char recieved = Serial.read();
    inData += recieved;

    if (recieved == '\n')
    {
      Serial.print("Arduino Received: ");
      Serial.print(inData);
    }
  }

  DateTime now = RTC.now();

  String dataString = "";

  sensorValue = analogRead(analogInPin);

  float h = dht1.readHumidity();  

  float t = dht1.readTemperature();

  if (isnan(t) || isnan(h))
  {
    Serial.println ("Fehler - Lesen von Luftfeuchte bzw. Temperatur");
    Serial.print("Gaswert ist:    ");    
    Serial.print(sensorValue);
    Serial.println(" ppm");
    Serial.println("");  
  }

  if (inData == "a")
  {
    Serial.print("Feuchte:        ");
    Serial.print(h);
    Serial.println(" %   ");
    Serial.print("Temperatur:     ");
    Serial.print(t);
    Serial.println(" C");
    Serial.print("Gaswert ist:    ");    
    Serial.print(sensorValue);
    Serial.println(".00 ppm");
    Serial.println("");  
    delay(1000);                    
  }

  if (last != now.minute())
  {
    byte a = h;
    byte b = t;
    byte c = sensorValue;
    dataString += String(a);
    dataString += ",";
    dataString += String(b);
    dataString += ",";
    dataString += String(c);
    dataString += ",";
    dataString += String(now.day(), DEC);
    dataString += ".";
    dataString += String(now.month(), DEC);
    dataString += ",";
    dataString += String(now.hour(), DEC);
    dataString += ":";
    dataString += String(now.minute(), DEC);
    dataString += ";";

    File dataFile = SD.open("datalog.txt", FILE_WRITE);

    if (dataFile)
    {
      dataFile.println(dataString);
      dataFile.close();
      Serial.println(dataString);
      Serial.println("Gespeichert - SD: 'datalog.txt'");
    }
    else
    {
      Serial.println("Fehler - Lesen von SD: 'datalog.txt'");
    }

    last = now.minute();

    Serial.println("");
  }
  
if (sent == 0)
{
if ((sensorValue > 80) || (t > 60) || (h > 80) || (inData == "t"))
  {
  mySerial.print("AT+CMGF=1\r");
  delay(100);
  mySerial.println("AT+CMGS=\"HANDYNUMMER\"");
  delay(100);
  mySerial.println("ALARM!");
  mySerial.print("Temp:     ");
  mySerial.print(t);
  mySerial.println(" C");
  mySerial.print("Feuchte: ");
  mySerial.print(h);
  mySerial.println(" %");
  mySerial.print("Gas:        ");
  mySerial.print(sensorValue);
  mySerial.println(".00 ppm");
  delay(100);
  mySerial.println((char)26);
  delay(100);
  Serial.println("SMS an HANDYNUMMER versendet");
  Serial.println("");
  sent = 1;
  }
}
  
  dataString="";
  inData = "";
  delay(100);
}

Nicht denken,...
...nachdenken... Rolleyes
http://capsicum-felicitas.de.tl
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.11.2015, 20:52
Beitrag #8
RE: Siemens TC35 GSM
Also mein Problem ist, das ich keine SMS mehr senden kann. Mein Alarmsketch hat einmal funktioniert jedoch nicht mehr nach dem ich den Arduino und das SMS-Modul transportiert habe. Daraufhin habe ich den Testsketch ausprobiert (ein Sketch von instructables) um den Fehler zu finden. Dabei ist mir das Problem mit dem Funknetzeinwählen aufgefallen, was dank dir behoben wurde. Leider klappt es immer noch nicht Huh Bei dem Sketch von instructables bekomme ich bei der Serielleneingabe nach "Write your SMS:" keine Antwort mehr, obwohl ich einen kurzen Text an das SMS-Modul schicke. Wie schon geschrieben: Der Arduino und das TC35 sind ausgetauscht und neu.

Vielen Dank für die Hilfe!Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  TC35 Siemens bergfrei 4 55 30.11.2016 19:19
Letzter Beitrag: bergfrei
  Siemens GSM Modul am Arduino JanHB 0 1.753 30.07.2013 18:38
Letzter Beitrag: JanHB

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste