Projekt Standheizung

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Thomas_Pfeiffer
Junior Member
**

Beiträge: 9
Registriert seit: Nov 2016
Bewertung: 0
#11
02.12.2016, 20:32

So Arduino schon mal ausgepackt und die ersten Programme drauf gespielt.. Klappt super ️.. Jetzt nur noch auf das GSM Shield warten.. Noch ne blöde Frage.. Wie betreibe ich den am besten im Auto bei 12V?

Gruß

Gesendet von meinem LG-H850 mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#12
03.12.2016, 18:15

Ich würde dafür ein kleines Handy-Ladegerät für den Zigarettenanzünder verwenden. Die dort verbaute Elektronik ist genau passend.
Alternativ kann man natürlich auch selbst etwas bauen. Ein Spannungsregler vom Typ 7805 (http://micro-dev.de/wiki.php?wid=35) könnte das, zusammen mit ein paar passiven Teilen, auch leisten. Der Spannungsregler sollte aber schon so 1 A vertragen und evtl. sogar mit einem Kühlkörper versehen werden. Da der Spannungsunterschied zwischen 12 V und 5 V in Wärme umgewandelt wird.... Das kann dann schon mal warm werden.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2016, 18:18 von Unilein.)
Zitieren
Thomas_Pfeiffer
Junior Member
**

Beiträge: 9
Registriert seit: Nov 2016
Bewertung: 0
#13
12.12.2016, 22:24

Guten Abend,

So habe jetzt das Sim Modul bekommen.. Komme auch drauf und bekomme eine Meldung damit sich das Modul in das Netz einwählt. Will jetzt eigentlich nur realisieren damit mit einer SMS von einer bestimmten Nummer mit dem Text Heizung Ein ein Ausgang für 2 Sekunden schaltet. Bei Heizung Aus soll das Relais abfallen. Außerdem soll bei einem Anruf von der berechtigten Nummer das Relais ebenfalls abfallen bzw. anziehen.

Habe diesen Sketch zum Test drauf.. Vielleicht kann mir ja jemand helfen..

//SIM800 TX is connected to Arduino D8

#include


#define SIM800_TX_PIN 2

//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 3

//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);

void setup() {
  //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  while(!Serial);

  //Being serial communication witj Arduino and SIM800
  serialSIM800.begin(9600);
  delay(1000);

  Serial.println("Setup Complete!");
}

void loop() {
  //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
  if(serialSIM800.available()){
    Serial.write(serialSIM800.read());
  }
  //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800
  if(Serial.available()){
    serialSIM800.write(Serial.read());
  }
}




Gruß




Gesendet von meinem LG-H850 mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#14
13.12.2016, 18:49

Hi,

ich kenne mich mit dem GSM-Modul leider nicht aus, daher kann ich nicht konkret helfen.
Aber der Sketch oben scheint ja Befehle über die serielle Arduino-Schnittstelle entgegen zu nehmen und umgekehrt Daten, die das GSM-Modul empfängt auf der seriellen Arduino-Schnittstelle auszugeben.

So... Du benötigst ja keine Ein- oder Ausgabe auf der seriellen Schnittstelle des Arduino sonder willst ja lediglich die Heizung ein- bzw. ausschalten.

Also in etwa so:
Code:
void loop(){
if(serialSIM800.available) {
   befehl = befehl + serialSIM800.read();
  
   if (befehl == "telefonnummer") {
     heizungAn();
     befehl = "";
   }

   if (befehl == "sms von nummer mit Text Heizung an") {
     heizungAn();
     befehl = "";
   }

   if (befehl == "sms von nummr mit Text Heizung aus") {
     heizungAus();
     befehl ="";
   }
}


Im Unterprogramm heizungAn() könntest Du das Relais einschalten und dann mit delay() 2 Sekunden warten, danach wieder aus. Und im Unterprogramm heizungAus() schaltest Du das Relais ab. Ohne Bedingung.

Ist jetzt natürlich nur ein Ansatz. Ich weiß nicht, wie das GSM-Modul die Daten liefert. Wie sieht eine eintreffende SMS aus? Oder ein eingehender Anruf? Da müsstest Du uns nochmal ein wenig helfen. Mit etwas mehr Information kann ein Sketchvorschlag konkreter werden.

Alternativ hat tesacrep auch schon eine funktionierende Lösung parat....

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2016, 18:50 von Unilein.)
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#15
13.12.2016, 23:30

Hab gerade festgestellt, dass wir das GSM-Thema schon einmal hatten.
Damals ist nix draus geworden: http://micro-dev.de/showthread.php?tid=219
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Thomas_Pfeiffer
Junior Member
**

Beiträge: 9
Registriert seit: Nov 2016
Bewertung: 0
#16
13.12.2016, 23:32

Ok.. Hmm bin jetzt mal am probieren aber komme noch nicht wirklich voran...

Gesendet von meinem LG-H850 mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#17
14.12.2016, 13:38

Zitat:Ok.. Hmm bin jetzt mal am probieren aber komme noch nicht wirklich voran...

Bislang hast Du nur den von Dir geposteten Sketch?

Ich habe mir gerade mal http://www.ayomaonline.com/programming/q...h-arduino/ angesehen. Dort ist der Einstieg recht gut beschrieben.

Erste Hürde: Das Modul verträgt maximal 4,2 Volt (Bescheuert!) Also VORSICHT, bei 5 Volt geht es über die Regenbogenbrücke.

Das Modul kommuniziert seriell (wussten wir ja schon). Und es werden AT-Befehle genutzt. Wer mal mit einem Modem am Computer gearbeitet hat, kennt diese. Auch das ESP8266-Modul (Ein Wifi-Modul für den Arduino) arbeitet damit.

Jetzt wissen wir also, wie man dem SIM800 beibringt, eine SMS zu versenden. Dummerweise wollen wir ja etwas empfangen und nicht senden. Aaaalso... Du hast ja den Sketch, der sowohl empfangen, also auch senden kann (Dein Post mit dem Sketch). SIM800-Modul mit dem Arduino verbinden. Arduino mit dem PC verbinden. Sketch auf den Arduino laden. Seriellen Monitor der Arduino IDE starten.

Und dann schickst Du dem SIM800 eine SMS und schaust, was auf dem seriellen Monitor ankommt.

Danach rufst Du das SIM800 an und schaust wieder, was auf dem Monitor ankommt.

Die Informationen im seriellen Monitor zeigen Dir, worauf Du im Sketch reagieren musst. Am besten, Du postest sie anschließend hier im Thread.

Mit den Informationen können wir hier sicher gemeinsam etwas entwickeln.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Thomas_Pfeiffer
Junior Member
**

Beiträge: 9
Registriert seit: Nov 2016
Bewertung: 0
#18
14.12.2016, 19:53

Guten Abend,

So hab jetzt mal drauf angerufen und im Anhnag ist der Screenshot was im Monitor ankommt. Bei einer SMS steht aber nichts dran nur "SM",Anzahl der gesendeten Nachrichten

MFG


Angehängte Dateien Thumbnail(s)
   
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#19
15.12.2016, 16:56

Ok,

da kommt also nix an.... Muss aber gehen! Deshalb habe ich mal ein wenig gestöbert. Und ich denke, ich bin fündig geworden. Das GSM-Modul muss für den Empfang von Textnachrichten erst konfiguriert werden. Ich habe folgende Seite gefunden: http://www.smssolutions.net/tutorials/gsm/receivesmsat/

So wie es aussieht, kannst Du die SMS entweder von der SIM-Karte lesen, oder auch aus dem Speicher des SIM800 (sofern der einen hat). Von der SIM-Karte geht aber auf jeden Fall!
Wenn Du Dein Modul also zunächst konfigurierst, sollte es gehen. Die Konfiguration nimmst Du im Programmteil "setup()" vor. Und zwar nachdem Du das SIM800 initialisiert hast. Ich vermute, Du nutzt sowieso die GSM-Lib von Arduino? Ich vermute, dass es dort auch passende Befehle gibt, um das Modul passend einzustellen.

und wenn nicht... Dann eben direkt mit den AT-Befehlen ;-)

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Thomas_Pfeiffer
Junior Member
**

Beiträge: 9
Registriert seit: Nov 2016
Bewertung: 0
#20
20.12.2016, 20:48

Guten Abend, Also viel weiter bin ich leider noch nicht. Doch ich kann jetzt ne SMS mit dem Text empfangen :-)...
Muss jetzt nur noch irgendwie den Text auswerten aber weiß nicht genau wie hab schon alles mögliche versucht...

Code:
#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3);

char incoming_char=0;
bool befehl;

void setup()
{
Serial.begin(19200); // for serial monitor
SIM800.begin(19200); // for GSM shield
SIM800power();  // turn on shield
delay(20000);  // give time to log on to network.

SIM800.print("AT+CMGF=1\r");  //Textmodus
delay(100);
SIM800.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);
}

void SIM800power()
// software equivalent of pressing the GSM shield "power" button
{
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(7000);
}

void loop()
  {
  // Text am Seriellen Monitor anzeigen
  if(SIM800.available() >0)
    {
      incoming_char=SIM800.read(); //Get the character from the cellular serial port.
      Serial.print(incoming_char); //Print the incoming character to the terminal.
    }
  }

/*
   befehl = befehl + SIM800.read();
  
   if (befehl == "telefonnummer") {
     heizungAn();
    befehl = "";
   }

   if (befehl == "sms von nummer mit Text Heizung an") {
     heizungAn();
     befehl = "";
   }

   if (befehl == "sms von nummr mit Text Heizung aus") {
   heizungAus();
     befehl ="";
   }

Wenn ich eine SMS mit Heizung Ein sende sieht die Ausgabe so aus..

+CMT: "+491xxxxxxxx","","16/12/20,18:50:07+04"
Heizung Ein


Grüße
Zitieren


Gehe zu:


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