So jetzt erkläre ichs es also....
Pin dich Radar Modul auf 5V gezogen
Sender sendet zum entfänger ... Oky ? Sendet also
( Alarmsensor-eingang )
Pin wieder 0 ...
Sender hört auf zu senden .....
Den Befehl ( Alarmsensor-eingang)...
Empfänger .... Einfängt das Signal / Text
( Alarmsensor-eingang)
Aber Sender aus wird immer noch ausführt was nicht so soll ...
Das ist das ganze Problem noch...
Hoffe nun kann es vetehen
Bug ist im Code unten entfänger seitens
Neben Melder :
#include <ELECHOUSE_CC1101.h>
int outPin = 3;
int i;
void setup() {
Serial.begin(9600);
ELECHOUSE_cc1101.Init(F_433); // F_433 F_868 F_965 ( Funk Freqeunz in Mhz)
pinMode(outPin, INPUT);
}
void send() {
i++;
String tx_message = "Alarmsensor-eingang" ;
int m_length = tx_message.length();
byte txbyte[m_length];
tx_message.getBytes(txbyte, m_length + 1);
Serial.println((char *)txbyte);
ELECHOUSE_cc1101.SendData(txbyte, m_length);
}
void loop() {
while(digitalRead(outPin)==1){
Serial.println("Funk Melder Radar Erkant");
;send() ;
delay(2000);
}
delay(2000);
Serial.println("Keine Bewegung");
}
Entfänger :
#include <SoftwareSerial.h>
#include <ELECHOUSE_CC1101.h>
#include "RunningMedian.h"
#define _SS_MAX_RX_BUFF 1024
byte buffer[100] = {0};
int outPin = 3;
//int ledPin = 13;
String text2Message;
String textMessage;
String lampState = "LOW";
const int relay = 7;
const byte BatPin = A0;
void getBattery();
RunningMedian median1 = RunningMedian(10);
String data1;
String data2;
String data3;
//GSM Einstelungen
SoftwareSerial mySerial(9, 8); // RX, TX Pins
String apn = "pinternet.interkom.de"; //APN
String url = " server eintragen "; //URL for HTTP-POST-REQUEST
void setup() {
delay(6000);
mySerial.begin(9600);
Serial.begin(9600);
Serial.println("Alarmanlage Start...");
ELECHOUSE_cc1101.Init(F_433); // F_433 F_868 F_965 ( Funk Freqeunz in Mhz)
ELECHOUSE_cc1101.SetReceive();
pinMode(outPin, INPUT);
//pinMode(ledPin, OUTPUT);
pinMode(relay, OUTPUT);
pinMode(BatPin, INPUT_PULLUP);
digitalWrite(relay, LOW);
data1 = "Tor Bewegung";
data3 = "Eingang Bewegung";
while (!mySerial.available()) {
mySerial.println("AT");
delay(6000);
Serial.println("Connecting...");
}
Serial.println("Connected!");
mySerial.println("AT+CMGF=1");
delay(1000);
mySerial.println("AT+CPMS=\"SM\"\r");
delay(1000);
mySerial.println("AT+CNMI=1,2,0,0,0");
delay(1000);
mySerial.println("AT+CMGL=\"REC UNREAD\"");
delay(1000);
}
// Interner Melder Sende Teil
void gsm_sendhttp()
{
Serial.println("!!! Alarm !!! Bewegung erkant Sennde daten an Server...");
Serial.println("GSM GPRS Init erfolgt ...");
mySerial.println("AT");
runsl();
delay(4000);
mySerial.println("AT+CSCLK=0");
runsl();
delay(4000);
mySerial.println("AT+SAPBR=3,1,Contype,GPRS");
runsl();
delay(100);
mySerial.println("AT+SAPBR=3,1,APN," + apn);
runsl();
delay(100);
mySerial.println("AT+SAPBR =1,1");
runsl();
delay(100);
mySerial.println("AT+SAPBR=2,1");
runsl();
delay(2000);
mySerial.println("AT+HTTPINIT");
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=CID,1");
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=URL," + url);
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=CONTENT,application/x-www-form-urlencoded");
runsl();
delay(100);
mySerial.println("AT+HTTPDATA=192,10000");
runsl();
delay(100);
mySerial.println("params=" + data1 + " / " + data2);
runsl();
delay(10000);
mySerial.println("AT+HTTPACTION=1");
runsl();
delay(5000);
mySerial.println("AT+HTTPREAD");
runsl();
delay(100);
mySerial.println("AT+HTTPTERM");
runsl();
delay(100);
//mySerial.println ("AT+CMGR=3");
//gsm_sms();
//delay(100);
mySerial.println("AT+CSCLK=2");
runsl();
delay(100);
}
//Print GSM Status
void runsl() {
while (mySerial.available()) {
Serial.write(mySerial.read());
}
}
// Funk Melder Sende Programm
void gsm_sendhttp2()
{
Serial.println("!!! Alarm !!! Bewegung erkant Sennde daten an Server...");
Serial.println("GSM GPRS Init erfolgt ...");
mySerial.println("AT");
runsl();
delay(4000);
mySerial.println("AT+CSCLK=0");
runsl();
delay(4000);
mySerial.println("AT+SAPBR=3,1,Contype,GPRS");
runsl();
delay(100);
mySerial.println("AT+SAPBR=3,1,APN," + apn);
runsl();
delay(100);
mySerial.println("AT+SAPBR =1,1");
runsl();
delay(100);
mySerial.println("AT+SAPBR=2,1");
runsl();
delay(2000);
mySerial.println("AT+HTTPINIT");
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=CID,1");
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=URL," + url);
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=CONTENT,application/x-www-form-urlencoded");
runsl();
delay(100);
mySerial.println("AT+HTTPDATA=192,10000");
runsl();
delay(100);
mySerial.println("params=" + data3);
runsl();
delay(10000);
mySerial.println("AT+HTTPACTION=1");
runsl();
delay(5000);
mySerial.println("AT+HTTPREAD");
runsl();
delay(100);
mySerial.println("AT+HTTPTERM");
runsl();
delay(100);
//mySerial.println ("AT+CMGR=3");
//gsm_sms();
//delay(100);
mySerial.println("AT+CSCLK=2");
runsl();
delay(100);
}
//SMS
void gsm_sms() {
{
mySerial.println("AT+CMGL=\"ALL\"\r");
textMessage = mySerial.readString();
Serial.print(textMessage);
delay(40);
}
if (textMessage.indexOf("An") >= 0) {
digitalWrite(relay, HIGH);
lampState = "on";
Serial.println("Sierene AN");
textMessage = "";
mySerial.println("AT+CMGD=1,4");
runsl();
}
if (textMessage.indexOf("Aus") >= 0) {
digitalWrite(relay, LOW);
lampState = "off";
Serial.println("Sierene Aus");
textMessage = "";
mySerial.println("AT+CMGD=1,4");
runsl();
}
}
// Anruf Anemen
void gsm_call()
{
delay(500); gsm_sms();
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while (mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
}
}
// Baterie Status
void getBattery()
{
int x = analogRead(BatPin);
median1.add(x);
long m = median1.getMedian();
unsigned long BatValue = m * 100L;
float BatVoltage1 = BatValue * 5 / 1024L;
byte BatRate = map(BatVoltage1, 200, 405, 0, 100);
float BatVoltage = BatVoltage1 / 100.0;
data2 = ("Baterie Stand " + String(BatRate) + "% " + String(BatVoltage) + "V");
}
// Funk Sensor
void funk_sensor()
{
ELECHOUSE_cc1101.ReceiveData(buffer);
String textMessage((char*) buffer);
//Serial.print(textMessage);
ELECHOUSE_cc1101.SetReceive();
{
if (textMessage.indexOf("Alarmsensor-eingang") >= 0) {
Serial.println("Radar Funk Melder");
gsm_sendhttp2();
textMessage = "";
}
}
}
//loop Teil
void loop() {
while (digitalRead(outPin) == 1) {
//digitalWrite(ledPin, HIGH);
gsm_sms();
delay(500);
getBattery();
delay(500);
gsm_sendhttp();
delay(500);
gsm_sms();
delay(2000);
}
//digitalWrite(ledPin, LOW);
delay(2000);
gsm_sms();
gsm_call();
funk_sensor();
}
Hier dann Bug einzeln die Stelle im Code
// Funk Sensor
void funk_sensor()
{
ELECHOUSE_cc1101.ReceiveData(buffer);
String textMessage((char*) buffer);
//Serial.print(textMessage);
ELECHOUSE_cc1101.SetReceive();
{
if (textMessage.indexOf("Alarmsensor-eingang") >= 0) {
Serial.println("Radar Funk Melder");
gsm_sendhttp2();
textMessage = "";
}
}
}
Wenn ihr jetzt immer noch nicht versteht ka dann weiß auch nicht Frage ich nächste Mal Wald um Hilfe oder auf Facebook .....
Dann seit ihr unfähig ... Lerne das schneller als ihr fahr mich warum ich euch Frage wenn so ist als würde Becker um Code fragen