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
Arduino Anruf tätigen
27.03.2020, 22:33 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2020 22:34 von Matze1.)
Beitrag #81
RE: Arduino Anruf tätigen
Habe es jetzt so, seint zu gehen.
So ein GSM Modul kann ja auch mal abstürzten, ist es da vielleicht gut es aller paar Stunden über pin9 neu starten zu lassen? Um sicher zu gehen das es immer betriebsbereit ist

Macht das Sinn?

Code:
/*  GSM-Steuerung
    Einwahl im Setup und ständiger Anruf

*/

#include <SimpleTimer.h>                                            // https://github.com/jfturcot/SimpleTimer
#include <SoftwareSerial.h>                                         // https://github.com/PaulStoffregen/SoftwareSerial

byte gsmSwitchOn = 9;

unsigned long waitTime = 20000;                                     // Pause zwischen den Anrufen
unsigned long loginTime = 22000;                                    // Pause zum einbuchen

SoftwareSerial mySerial(7, 8);                                      // RX, TX SoftwareSerial

SimpleTimer timer;                                                  // Timer zur Zeitsteuerung

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);                                             //setting baudrate at 9600;

  pinMode(gsmSwitchOn, OUTPUT);
pinMode(2, INPUT);
  timer.setInterval(waitTime, sendPhoneCall);                       // alle xx sek. Anruf senden

  gsmLogon();                                                       // GSM einbuchen
  delay(loginTime);
}

void loop()
{
  timer.run();                                              // simpleTimer starten
}

void gsmLogon(void)
{
  Serial.println("GSM Modem logon");
  digitalWrite(gsmSwitchOn, LOW);
  delay(2000);
  digitalWrite(gsmSwitchOn, HIGH);
  delay(3000);
}


void sendPhoneCall()
{
if (digitalRead(2) == HIGH)
  {
Serial.println("Calling through GSM Modem");
  delay(1000);
  mySerial.println("ATD+491123456789;");
  Serial.println("Called ATD+491123456789");
  delay(10000);
  if (mySerial.available())
  
    Serial.write(mySerial.read());


mySerial.println("ATH"); // WICHTIG! - die Verbindung wieder beenden.
  Serial.println("Anruf an +491123456789 wurde beendet");
}

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.03.2020, 22:42
Beitrag #82
RE: Arduino Anruf tätigen
Ob das Sinn macht, kann ich nicht beurteilen.
Ich habe angenommen, das wird auch mit dem Arduino zusammen mit Spannung versorgt.

Und wozu ist der Taster an Pin 2 ?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.03.2020, 22:54
Beitrag #83
RE: Arduino Anruf tätigen
Wie ich ja Geschieben habe schaltet im Alarmfall ein Relais für 180s was potenzialfreie ist. Über das Relais hab ich bis jetzt eine die Spannung geschickt um den Arduino Starten lassen und die Geschichte lief los.
Es vergeht aber ca. 25 bis 30s bis der ersten Anruf raus geht, weil sich des GSM Modul sich erst einbuchen muss.
Wenn der Arduino immer an ist und des GSM Modul auch eingebucht ist starte ich den Anruf über das potenzialfreie Relais und den Pin2 ganz schnell. Beim Öffnen des Relais hören auch den Anrufe auf und beim schließen starten die Anrufe im Intervall wieder.
Ich muss nur sicher sein das GSM Modul immer bereit ist und nicht abgestürzt ist deswegen könnte man das GSM Modul hin und wieder über Pin9 neu starten lassen. Ist so ein Gedanke?

Der Taster (Schlter) ist im Betrieb das Relais! GSM Modul und Arduino wird über eine Spannung versorgt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.03.2020, 05:39
Beitrag #84
RE: Arduino Anruf tätigen
Ich habe noch mal überlegt, an besten ist eigentlich der UNO selber macht hin und wieder ein Reset, damit wird auch das GSM Modul neu gestartet.
Kann man den UNO über Software neu Starten lassen. Ein Reset Pin gibt es ja.....???
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.03.2020, 13:27
Beitrag #85
RE: Arduino Anruf tätigen
Sorry, aber ich kann dir nicht mehr folgen.

Wenn du dein Projekt, wie es letztendlich werden soll, nochmal verständlich beschreibst, dann kann ich mir evtl. darüber Gedanken machen. An dieser Stelle werde ich erst mal nicht weiter machen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.03.2020, 22:12 (Dieser Beitrag wurde zuletzt bearbeitet: 29.03.2020 22:14 von Matze1.)
Beitrag #86
RE: Arduino Anruf tätigen
1. Arduino und Gsm Modul immer an Spannung
2. GSM Modul wählt sich ein
3. bei schließen von Pin2 auf HIGH
4. Rufnummer wählen
5. 25 sek. Wartezeit
6. Rufnummer wählen
7. 25 sek. Wartezeit
8.
9.
10.
11. öffnen von Pin2
12. gsmReboot aller 60 min
13. Anrufen hören auf
14. bei schließen von Pin2 auf HIGH
15. Rufnummer wählen
16. 25 sek. Wartezeit
17. Rufnummer wählen
18. 25 sek. Wartezeit
19.
20.
21.
22. öffnen von Pin2
23. Anrufen hören auf


Ich habe logintime (Pause zum einbuchen) wird in der Konstellation glaub nicht benötigt.
Habe außerdem ein gsmReboot einmal in der Stunde eingebaut.
Ich weis nicht ob das mit dem gsmReboot Sinn macht, aber wenn das GSM Modul mal abschmiert wird es jedenfalls nach einer Stunden neu eingeloggt ins GSM Netz. Das Teil läuft ja dann immer und ein Ausfall würde man nicht bemerken, außer im Alarmfall.

Besser fänden ich wenn der Arduino automatisch sich nach einer gewissen Zeit neu startet und sich demzufolge das GSM Modul neu einloggt.

Kannst ja mal schauen ob es noch Verbesserungen gibt und ob man den gsmReboot aussetzen kann wenn gerade Anrufe getätigt werden also bei Pin2 HIGH kein Reboot jeglicher Art.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.03.2020, 22:15 (Dieser Beitrag wurde zuletzt bearbeitet: 29.03.2020 22:19 von Matze1.)
Beitrag #87
RE: Arduino Anruf tätigen
Code:
/*  GSM-Steuerung
    Einwahl im Setup und ständiger Anruf

*/

#include <SimpleTimer.h>                                            // https://github.com/jfturcot/SimpleTimer
#include <SoftwareSerial.h>                                         // https://github.com/PaulStoffregen/SoftwareSerial

byte gsmSwitchOn = 9;

unsigned long waitTime = 25000;                                     // Pause zwischen den Anrufen
//unsigned long loginTime = 10000;                                    // Pause zum einbuchen
unsigned long rebootTime = 3600000;                                   // gsm reboot

SoftwareSerial mySerial(7, 8);                                      // RX, TX SoftwareSerial

SimpleTimer timer;                                                  // Timer zur Zeitsteuerung

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);                                             //setting baudrate at 9600;

  pinMode(gsmSwitchOn, OUTPUT);
pinMode(2, INPUT);
  timer.setInterval(waitTime, sendPhoneCall);                       // alle xx sek. Anruf senden
timer.setInterval(rebootTime, gsmReboot);                           // alle xx sek. gsmReboot

  gsmLogon();                                                       // GSM einbuchen
  //delay(loginTime);
}

void loop()
{
  timer.run();                                              // simpleTimer starten
}

void gsmLogon(void)
{
  Serial.println("GSM Modem logon");
  digitalWrite(gsmSwitchOn, LOW);
  delay(2000);
  digitalWrite(gsmSwitchOn, HIGH);
  delay(3000);
}

void gsmReboot(void)
{
  Serial.println("GSM Modem reboot logon");
  digitalWrite(gsmSwitchOn, LOW);
  delay(2000);
  digitalWrite(gsmSwitchOn, HIGH);
  delay(3000);
}

void sendPhoneCall()
{
if (digitalRead(2) == HIGH)
  {
Serial.println("Calling through GSM Modem");
  delay(1000);
  mySerial.println("ATD+491234567890;");
  Serial.println("Called ATD+491234567890");
  delay(20000);
  if (mySerial.available())
  
    Serial.write(mySerial.read());


mySerial.println("ATH"); // WICHTIG! - die Verbindung wieder beenden.
  Serial.println("Anruf an +491234567890 wurde beendet");
}

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


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wert von einem Arduino zu einem zweiten Arduino senden Thorsten_S 9 1.460 14.10.2019 14:48
Letzter Beitrag: Thorsten_S
  Firmata (Daten senden an den Arduino und empfangen vom Arduino) comfan 6 4.626 29.04.2017 14:29
Letzter Beitrag: hotsystems
  Automatischer Anruf bei anschalten des Arduino DarthX 32 5.698 19.04.2017 01:28
Letzter Beitrag: georg01
  Statusabfrage per Anruf dahans 5 1.620 16.04.2016 13:58
Letzter Beitrag: rkuehle
  Arduino Ethernet mit USB 2 Serial Converter/Welche Einstellungen im Arduino-Sketch lociluke 1 4.012 05.05.2015 13:40
Letzter Beitrag: Bitklopfer
  Arduino Mega-Projekt mit EEPROM auf Arduino Due portieren Foto-Ralf 17 10.740 16.03.2015 12:06
Letzter Beitrag: Foto-Ralf

Gehe zu:


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