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:
  • 2 Bewertungen - 3 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
standheizung per gsmmodul bedienen :(
07.11.2015, 16:56
Beitrag #25
RE: standheizung per gsmmodul bedienen :(
(07.11.2015 14:54)hoer173 schrieb:  jetzt heulste rum? ich weis ja nicht wo dein problem ist.. bist du in der realität genauso? minderwertigkeits komplexe? junge du hast doch garkeine interesse ernsthaft zu helfen.. wo ist dein dein beispiel deklariert?

anstatt produktiv zu helfen laberste rum! das seh ich zurzeit.

und ja die sms geschichte funktioniert soweit nur würde man mal einfach den sketch in ne ide kopieren würde man das ja auch vor sich haben was da defekt ist. und könnte dann mal korrigiert wieder posten.. so sieht hilfe in meinen augen aus aber du zerpflückst hier den thread und im anderen forum.. warum relais und kein optokoppler usw?


muss ich dazu schreiben das ich n uln2003 an den i/o hab und mit i2c n portexpander? es geht um.die reine funktion aber du krüppelst hier rum.. wie alt bist du bitte

dann halte dich einfach bedeckt oder sei kooperativ wie wäre das?

Hallo Hoer,
so nun halt mal die Luft an.
Hier kommt alle Tage ein Neuling rein mit den Worten "ich habe da ein Problem bitte helft mir"...
Wenn sich dann herausstellt das der Neue weder Lust hat sich die Postings der Kollegen durchzuarbeiten noch auf Fragen in der notwendigen Ausführlichkeit antwortet dann kriegen wir schnell genug vom helfen und dann brauchste nicht die beleidigte Leberwurst hier abgeben.
Wir haben alle irgendwann mal damit angefangen uns mit Mikrokontrollern zu beschäftigen und die Kenntnise dazu sind nun mal recht Umfangreich und fallen nicht vom Himmel. Deshalb sollte man sich seine eigene Erfahrung so langsam steigern bevor man komplexere Themen angeht.

lgbk
Moderator

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.11.2015, 18:16
Beitrag #26
RE: standheizung per gsmmodul bedienen :(
Also wenn das so weiter geht, bleibt der Hintern kalt.
Man könnte ja jetzt erstmal auf diversen Komfort verzichten, dafür ne Menge Ärger, Rätselraten und vor allem Zeit sparen:

Eine Standheizung ist vorhanden, soll nun aus Distanz aktiviert werden.
Wozu braucht der Arduino die Information, wie lange die Heizung laufen soll?
Da könnte ebensogut nen Temp-Sensor sagen "warm genug, mach ma wieder aus"

Gleichzeitig kommt das Gesamte Programm ins Wanken, wenn der Text der SMS auch nur um ein einziges Zeichen vom Standard abweicht.


Ich würde einfach nur da anrufen, die Anrufe auswerten auf anrufende Nummer und dann los.
10 Minuten vorheizen, dann zusätzlich Lüftung einschalten.
Als Anrufer hörst Du ein Klingelzeichen, damit bist Du auf der Sicheren Seite, das Dein "Startbefehl" angekommen ist.

Willst Du zusätzlichen Komfort, wäre die Erfassung von Kraftstoffpegel und Batteriespannung viel sinnvoller, aber das nimm Dir besser erst für den nächsten Winter vor Smile

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.11.2015, 18:53
Beitrag #27
RE: standheizung per gsmmodul bedienen :(
ich sitz grad davor.. hab mir.. ihr lacht eh drüber auser stadtbücherrei 3 bücher zum arduino geholt..

auf meinem diagnose kfz notebook die arduino ide... auf meinem mac noch paar pdfs... wtf!

ich kann sie jetzt per sms ein und ausschalten... und die lüftung ein und ausschalten... aber nur an und aus!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 03:31 (Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2015 03:36 von hoer173.)
Beitrag #28
RE: standheizung per gsmmodul bedienen :(
Code:
#include <SoftwareSerial.h>


// Kontrolle der sms Länge auf mindestens 8 Zeichen und alles immer in //Kleinbuchstaben und pin 9 gsm einschalten
// gsm modul auswerten
// die ersten beiden zeichen auswerten für an und aus

// Portdefinition
const int heizung = 10;    //out
const int lueftung = 6;   //out
const int gsm = 9;        //out

unsigned long LoopAnfang;
unsigned long heizungGestartet;

bool lueftungIstAn;
bool heizungLauft;

char inchar; // enthält Zeichen vom GSM shield
String smstext = "";

SoftwareSerial SIM900(7, 8);

void setup()
  {
  // gsm taster
  pinMode( gsm , OUTPUT );
  delay(100); // mal kurz warten
  digitalWrite(gsm, HIGH);
  delay(100); // mal kurz warten
  digitalWrite(gsm, LOW);
  delay(1000); // 1 Sekunde warten
  digitalWrite(gsm, HIGH);
  delay(5000); // 5 Sekunde warten reicht das zum Booten des GSM Moduls ??  

  // setup gsm shield
  Serial.begin(19200);
  // GSM shield aufwecken
  SIM900.begin(19200);
  delay(20000); // pause zum Login ins Mobilnetz.
  SIM900.print("AT+CMGF=1\r"); // setze SMS mode zu text
  delay(100); // warte
  SIM900.print("AT+CNMI=2,2,0,0,0\r");
  // blurt out contents of new SMS upon receipt to the GSM shield's serial out
  delay(100);
  Serial.println("GSM ready...");
  
  smstext = "";
  

  // setup Heizung etc
  pinMode(heizung, OUTPUT);
  pinMode(lueftung, OUTPUT);

  digitalWrite (heizung, LOW);
  digitalWrite (lueftung, LOW);
  LoopAnfang = 0;
  heizungGestartet = 0;
  // müste man eigentlich Status des Autos auswerten
  lueftungIstAn = false;
  heizungLauft = false;
  
  }

void loop()
{
  int x = 0;
  int y = 0;
  String xtext = "";
  String ytext = "";
  long Startzeit;
  long LaufzeitHeizung = 0;
  long LaufzeitLueftung = 0;
  long StartzeitLueftung = 0;
  
  // smstext lesen
  if( lesegsm() > 0 )// schauen ob es eine sms gibt
    {
    // smstext auswerten die ersten zwei Buchstaben
    xtext = smstext.substring(1,2);
    if (xtext == "au")
      {
      // alles ausschalten
      Ausschalten;
      }  // ende ausschalten
    else
    if (xtext == "an" )
      {  
      // rausfinden wie lange
      xtext = smstext.substring(4, 5);
      x = xtext.toInt();
      ytext = smstext.substring(7, 8);
      y = ytext.toInt();
      // nun warten wir erst mal kurz delay(1000) = 1 Sekunde
      delay(1000);
      // Startzeit merken
      Startzeit = millis();
      
      if ( x > 0 )
        {
        Heizungan;
        Serial.println("Heizung an");
        // ausrechnen wann Heizung aus soll
        LaufzeitHeizung = Startzeit + (1000 * x);
        }        
      if ( y > 0 )
        {
        // Heizung laeuft laenger wie Lüeftung dann fängt Lüftung später an
          if ( x > y )
            {
            StartzeitLueftung = Startzeit + (1000 *(x - y));
            }
           else
             {
             StartzeitLueftung = Startzeit; // nee sofort starten
             }
            
        // ausrechnen wann Lüftung aus soll, dabei Startzeit beachten
        LaufzeitLueftung = StartzeitLueftung + (1000 * y);
        }
      } // ende an
    } // ende lese sms  
  
  // Soll Lüeftung schon an ?
  if (StartzeitLueftung < millis() )
    {
    Lueftungan;
    Serial.println("Lüftung an");
    }
    
  // so nun müssen wir warten wie die Zeit vergeht
  if (LaufzeitHeizung < millis())
     {
     Serial.println("Heizung aus");
     Heizungaus;
     }
    
  if (LaufzeitLueftung < millis())
     {
     Serial.println("Heizung aus");
     Lueftungaus;
     }
  
  // mal eine Minute warten, ist ja sonst alles zu anstrengend ;-)
  delay(1000 * 60);
}


void Ausschalten()
  {
  // alles ausschalten
  digitalWrite(lueftung, LOW);
  lueftungIstAn = false;
  digitalWrite(heizung, LOW);
  heizungLauft = false ;
  Serial.println("Alles aus");
  }

void Lueftungan()
  {
  digitalWrite(lueftung, HIGH);
  lueftungIstAn = true;
  }

void Lueftungaus()
  {
  digitalWrite(lueftung, LOW);
  lueftungIstAn = false;
  }
  
void Heizungan()
  {
  digitalWrite (heizung, HIGH);
  heizungLauft = true;
  }

void Heizungaus()
  {
  digitalWrite (heizung, LOW);
  heizungLauft = false;
  }

int lesegsm()
  {
  int ergebnis = 0;  
  //Wenn Zeichen verfügbar...
  if(SIM900.available() >0)
    {
    ergebnis = 1; // wir haben eine sms
    smstext = ""; // alte smstext löschen
    while( SIM900.available() > 0)
      {
      inchar=SIM900.read();
      smstext = smstext + inchar;
      delay(10);
      }
    SIM900.println("AT+CMGD=1,4"); // SMS löschen
    }
   // Kontrolle der Länge der sms
   if (smstext.length() < 8 )
     {
     smstext = smstext + "00000000";
     }
   // und alles in Kleinbuchstaben ändern
   smstext.toLowerCase();
  
   // diagnoseausgabe
   Serial.println(smstext);
   return ergebnis; // 0 nix , 1 wir haben sms text !!
  } // ende lesegsm


; // Programmende


nun hab ich das problem das diese gesamte geschichte toll aussieht keine fehler setzt aber das system nicht funktioniert....

ich hab einen aufbau mir 2 leds für lüftung und heizung.. ich krig sie nicht zum laufen per sms egal was ich sende...

ich hoffe das man mir diesmal hilft weil in mein augen steckt da schon gute arbeit drin.. aber weiterkommen..allein?
vllt überseh ich ja etwas!

kann mir das jemand vllt aufarbeiten das ich auf dem serial monitor zumindestens die eingehende sms sehe?!!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 12:19
Beitrag #29
RE: standheizung per gsmmodul bedienen :(
Also das Semikolon ganz unten mit dem Kommentar "Programmende" verwirrt mich.

Ein ; kommt ans Ende eines Funktionsaufruf, da unten hat - wenn überhaupt - eine } was zu suchen.

Du willst wissen, was der Inhalt Deiner SMS ist und weis nicht wie?
Wenn das eine ernste Frage ist, frage ich mich, wie Du überhaupt soweit gekommen bist.


Serial.println(smstext);

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 14:00
Beitrag #30
RE: standheizung per gsmmodul bedienen :(
das hab ich drin kommt nix aufem monitor an!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 14:15
Beitrag #31
RE: standheizung per gsmmodul bedienen :(
Mahlzeit,
sach mal...beim obigen Code bedienst du den gsm Portpin...den schaltest erst Zweimal ein und wieder aus...zu was soll das gut sein ? Also wenn ich da GSM Modul wäre und das der Powerschalter ist würde es mir schlecht werden....Big Grin danach schaltest du ein und wartest hintereinander einmal 5 Sekunden und dann nochmal 20 Sekunden... wozu das Zweigeteilt ?
Außerdem würde ich die Seriellen Schnittstellen gleich nach dem Mode einstellen der Ports initialisieren und zwar am Stück....und dann erst auf die Peripherie zugehen.
Wobei dies eher Schönheitsansichten sind...Funktional muß das nicht unbedingt was bewirken.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.11.2015, 15:12
Beitrag #32
RE: standheizung per gsmmodul bedienen :(
(08.11.2015 14:00)hoer173 schrieb:  das hab ich drin kommt nix aufem monitor an!

Na, wenn da nix auf den Bildschirm kommt, kann das nicht viele Ursachen haben.

Der Arduino läuft garnicht
Die Verbindung Arduino <-> Serieller Monitor steht nicht
Das "Serial.println(smstext);" wird im Programm garnicht aufgerufen.
Die Variable ist leer (""), dann kommt auch nix auf den Bildschirm, klar.

Wenn man Dir jetzt noch erklären muss, wie Du hier den Fehler einkreisen kannst, dann mach besser die Kladde zu und Verkauf Deine Arduino Teile.

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Standheizung mit SMS steuern Mreichart 5 1.185 06.08.2015 11:58
Letzter Beitrag: Mreichart
  Motoren anhand von Wii Nunchuck bedienen? Cyberxgirl 1 421 10.06.2015 08:20
Letzter Beitrag: Thorsten Pferdekämper
  Standheizung mit GSM schalten strobo 9 2.939 11.07.2014 08:15
Letzter Beitrag: rkuehle

Gehe zu:


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