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:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Siemens TC35 GSM
24.08.2014, 10:23
Beitrag #9
RE: Siemens TC35 GSM
he danke erstmal für alle pns codes und so weiter...

allerdings verzweifle ich bald

mein code steht und funktioniert so:

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;



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 call(String n)
{
  mySerial.print("ATD");
  mySerial.print(n);
  mySerial.println(";");
  Serial.println("Starte Anruf...");
  delay(10000);
  mySerial.println("ATH");
  Serial.print("Anruf an ");
  Serial.print(n);
  Serial.println(" beendet");
}

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();

  if (inData == "d")
  {
    Serial.print(now.day(), DEC);
    Serial.print('.');  
    Serial.print(now.month(), DEC);
    Serial.print('.');
    Serial.print(now.year(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.println(now.second(), DEC);
    Serial.println();
  }

  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.println("Gaswert soll: < 100");
    Serial.print("Gaswert ist:  < ");    
    Serial.println(sensorValue);
    Serial.println("");  
  }

  if (inData == "a")
  {
    Serial.print("Feuchte:        ");
    Serial.print(h);
    Serial.println(" %   ");
    Serial.print("Temperatur:     ");
    Serial.print(t);
    Serial.println(" C");
    Serial.println("Gaswert soll: < 100");
    Serial.print("Gaswert ist:  < ");    
    Serial.println(sensorValue);
    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.year(), 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 (inData == "c")
  {
    call("x");
  }

  if (inData.length() > 4)
  {
    call(inData);
  }

  dataString="";
  inData = "";
  delay(100);
    
}


wenn ich jetzt an diesem code aber was ändere, sei es eine zeile in call() oder ich setzte, was ich gerne hätte folgenden code egal wohin in meinen sketch, sagt er fehler beim sd karte lesen...

Code:
if ((sensorValue > 60) || (t > 50) || h > 80))
  {
  mySerial.print("AT+CMGF=1\r");
  delay(100);
  mySerial.println("AT+CMGS=\"xxxxxx\"");
  delay(100);
  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(" C");
  delay(100);
  mySerial.println((char)26);
  }


also auch wenn ich etwas unerhebliches ändere streikt er sofort, ich verstehe es einfach nicht, vollkommen gleichgültig ob ich den code nach oder vor der speicheranweisung setzte, sofort geht das speichern nicht mehr...


kann mir da bitte einer helfen, vlt wirke ich ja irgendwie auf den speicherprozess ein, allerdings reicht es auch schon nur in call() etwas zu verändern, eine kleinigkeit und er streikt...

hilfe

Nicht denken,...
...nachdenken... Rolleyes
http://capsicum-felicitas.de.tl
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.08.2014, 18:13
Beitrag #10
RE: Siemens TC35 GSM
schien ein internes speicherproblem gewesen zu sein, durch reduzierung des codes ist das problem nun gelöst,
vielen dank trotzde für allen gehirnschmalz der geflossen ist Wink

Nicht denken,...
...nachdenken... Rolleyes
http://capsicum-felicitas.de.tl
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  SMS Fernsteuerung Siemens TC35 evil76 6 993 28.10.2015 15:26
Letzter Beitrag: evil76
  Modbus Siemens Sinamics V20 Diggsn 3 667 17.09.2015 11:41
Letzter Beitrag: Scherheinz
  GSM TC35 - SMS versenden ecco 0 979 02.02.2015 22:58
Letzter Beitrag: ecco

Gehe zu:


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