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
Alarmmelder
18.01.2015, 20:08
Beitrag #1
Alarmmelder
Hallo,
ich möchte mir anhand eines gsm shield eine art Alarmelder bauen.

es sollen später folgende funktionen machbar sein.
-bei Alarm Anrufen oder SMS auf mein Handy (Alarm wird per Magnet Schalter ausgelöst)
-Taster zur Auswahl ob Anruf oder SMS
-mehrere Telefonnummern bei Alarm benachrichtigen
-Akkustand per SMS abfragen
-Signal Qualität abfragen
-bei niedrigen Akkustand SMS Benachrichtigung
-per Anruf/SMS neue Kontakte hinzufügen und löschen
-bei Hinzufügen eines neuen Kontaktes Bestätigung per SMS erhalten
-Reset Taste zurücksetzen (alle Kontakte löschen)
-könnten noch paar punkte dazu kommen

Code:
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
#include "call.h"
int Reed = 10;// Magnetschalter

CallGSM call;
SMSGSM sms;

int numdata;
char inSerial[40];
int i=0;


void setup()
{
     //Serial connection.
     Serial.begin(9600);
     pinMode(Reed, INPUT);
     Serial.println("GSM Shield testing.");
     //Start configuration of shield with baudrate.
     //For http uses is raccomanded to use 4800 or slower.
     if (gsm.begin(9600))
          Serial.println("\nstatus=READY");
     else Serial.println("\nstatus=IDLE");
};

void loop()
{
     //Read for new byte on serial hardware,
     //and write them on NewSoftSerial.
     serialhwread();
     //Read for new byte on NewSoftSerial.
     serialswread();
};

void serialhwread()
{
     i=0;
     if (Serial.available() > 0) {
          while (Serial.available() > 0) {
               inSerial[i]=(Serial.read());
               delay(10);
               i++;
          }

          inSerial[i]='\0';
          if(!strcmp(inSerial,"/END")) {
               Serial.println("_");
               inSerial[0]=0x1a;
               inSerial[1]='\0';
               gsm.SimpleWriteln(inSerial);
          }
          //Send a saved AT command using serial port.
          if(!strcmp(inSerial,"A")) {
               Serial.println("Anrufen");
               gsm.SimpleWriteln("ATD+49123456789;"); //tel. nr.
          } else {
               Serial.println(inSerial);
               gsm.SimpleWriteln(inSerial);
          }
          if(!strcmp(inSerial,"B")) {
               Serial.println("Auflegen");
               gsm.SimpleWriteln("AT+CHUP");
          } else {
               Serial.println(inSerial);
               gsm.SimpleWriteln(inSerial);
          }
          if(!strcmp(inSerial,"C")) {
               Serial.println("Batterie Status");
               gsm.SimpleWriteln("AT+CBC");
          } else {
               Serial.println(inSerial);
               gsm.SimpleWriteln(inSerial);
          }
          if(!strcmp(inSerial,"D")) {
               Serial.println("Signal Qualität");
               gsm.SimpleWriteln("AT+CSQ");
          } else {
               Serial.println(inSerial);
               gsm.SimpleWriteln(inSerial);
          }
          inSerial[0]='\0';
     }
}

void serialswread()
{
     gsm.SimpleRead();
}

Ich habe da ja paar sachen unter A, B, C und D hinterlegt sobald ich nun im Serial Monitor ein A tippe werde ich angerufen tippe ich ein "B" lege ich auf. Dies soll natürlich nun über den Reed schalter gesteuert werden wie kann ich es hin bekommen das wenn der Schalter schaltet das im Serial Monitor z.b. das "A" hinterlegt wird.
Ich habe es mit Serial.write und Serial.println versucht nur leider ohne erfolg.
Und wie bekomme ich eine Sms gesendet.
Falls mir wer bei dem Projekt helfen könnte wäre ich dankbar.

p.s. Rechtschreibfehler könnt ihr behalten Smile

Gruß Alex Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


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