kann jemand helfen

finde den fehler nicht :frowning:

#include <ELECHOUSE_CC1101.h>
String textMessage;
byte buffer[100] = {0};

void setup()
{
Serial.begin(9600);
Serial.println(“Rx”);
ELECHOUSE_cc1101.Init(F_433);
ELECHOUSE_cc1101.SetReceive();
}

void read_txt() {
{
textMessage = Serial.readString();
Serial.print(textMessage);
delay(40);
}
if (textMessage.indexOf(“Alarmsensor-eingang”) >= 0) {
Serial.println(“Sierene AN”);
textMessage = “”;
}

void loop()
{
if (ELECHOUSE_cc1101.CheckReceiveFlag()) {
ELECHOUSE_cc1101.ReceiveData(buffer);
String str((char*) buffer);
Serial.println(str);
ELECHOUSE_cc1101.SetReceive();
read_txt();
}

(deleted)

Kannst du bitte mal einen vernünftigen Titel schreiben.
Dann kann man den Thread auch besser finden und du hast mehr Helfer.
Das kannst du auch noch direkt machen.

computerbastler:
finde den fehler nicht :frowning:

Zwei Hinweise die BEIDE notwendig sind:

Du musst die Kompilerwarnmeldungen einschalten.
Datei - Voreinstellungen - Ausführliche Warnungen aktivieren (Kompiler)

Du solltest Deinen Code mit STRG-T formatieren, das hilft bei der Fehlersuche ungemein

Hinweis für die Fragestellung hier:
Wenn Du den Code im Forum-Editorfenster markierst und mit </> einstellst, kann den jeder lesen.

Dein Fehler ist hier:
void read_txt()
{
{

computerbastler:
naja die nachricht die vom modul kommt

Alarmsensor-eingang

qausi in stink schreiben dann schalten zb relias

Geht das auch verständlicher ?

Ich verstehe es nicht.

Welchen Fehler gibt der Compiler denn aus?

Hallo....warum ignorierst du unsere Posts ?
Kein Bedarf an Hilfe ?

lieber Computerbastler,

du könntest es den anderen Usern wesentlich leichter machen wenn du den Code als Code-Section einfügst.
Dazu gibt es oberhalb des Texteingabefenster einen Button der ist so beschriftet <|>.
Wenn dieser Button oberhalb des Texteingabefensters nicht zu sehen ist statt der Quickreply-Funktion die richtige Reply-Funktion benutzen.

Eine zweite ganz wesentliche Erleichterung wäre wenn du statt code und Beschreibung zu vermischen zunächst einmal in einfachen Worten beschreibst was dein Code machen soll.

Wenn es besondes schnell gehen soll - geht es in Wirklichkeit besonders laaaaaangsaaaaaam. Wir sind jetzt bei Post Nummer 9 es sind 4 Stunden vergangen und es ist immer noch nicht klar was du genau möchtest.

Also bitte: ausführlich beschreiben was dein Projekt machen soll und an welcher Stelle es auf welche Art und Weise vom Sollzustand abweicht.

viele Grüße Stefan

ich möchte wenn nachricht rein kommt

Alarmsensor-eingang was auch geht das als ausgabe Sierene AN

dann würde es hin bauen wenn in terminal eingebe Alarmsensor-eingang bekomme als augabe Sierene AN

sorum geht das ...

hengt nur dran das was entfangen wird nicht in varibale kommt prüfft ob text der ankommt Alarmsensor-eingang qausi dann zu ausgabe Sierene AN führt wäre genial wo bug ist ka

Aber dein Code ist immer noch nicht in Code-Tags gesetzt.
Damit ist der schwer zu lesen. Wenn wir helfen sollen, müssen wir den lesen können.

Ok, bastler, ich sehe das mal so, du hast kein Interesse mehr, dass wir dir helfen.
Sonst würdest du ja unseren Bitten nachkommen und auch bessere Informationen liefern.

Wo liegt da dein Problem ?

HotSystems:
Wo liegt da dein Problem ?

Dieter... Nicht so hektisch
Nachrichten, WAF, ...

:wink:

my_xy_projekt:
Dieter... Nicht so hektisch
Nachrichten, WAF, ...

:wink:

Wo bin ich denn hektisch ?
Gut, evtl. bin ich etwas ungeduldig. :wink:

Kann aber nicht verstehen, das so einfache Dinge nicht sofort erledigt werden.

noiasca:
Dir kann man nur helfen wenn
Du den Code in codetags postest
Wenn du genau beschreibst was dr Sketch machen soll
Und wenn du beschreibst was falsch läuft.

Dennoch helft ihr ihm. Inkonsequent von euch.

Closed…

leuft alles wie es soll …

wer es optmieren mag gerne doch :slight_smile:

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");
}

Zentralle :

#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();
  }

urdaino:
Dennoch helft ihr ihm. Inkonsequent von euch.

Wir helfen immer, selbst wenn sich jemand total verweigert, so wie der TO.

Natürlich nur in begrenzter Weise. :wink:

danke dir habe vor 48h erste mal audrino aus gepackt los gelegt ohne je mals was damit zu machen mit google und 48h ohne schlafen durch gebissen

werde erst mal schlafen gehen war davor möbel aus fenster zu werfen vor furst haste immer so phasen xD

computerbastler:
danke dir habe vor 48h erste mal audrino aus gepackt los gelegt ohne je mals was damit zu machen mit google und 48h ohne schlafen durch gebissen

werde erst mal schlafen gehen war davor möbel aus fenster zu werfen vor furst haste immer so phasen xD

Ach und deshalb kann man nicht den Bitten der Helfer nachkommen ?

Aber deinen PC haste noch behalten ?

Leute gib's .... :o ::slight_smile: :grin: :wink: :smiley: ;D der menschliche Geist ist ein unerschöpflicher Fundus von ..... :-\ :-X :stuck_out_tongue: 8) :fearful: :neutral_face: :wink: :stuck_out_tongue_closed_eyes: :grinning: :grin: :cold_sweat: :roll_eyes: :money_mouth_face: :slight_smile: :sweat_smile: :open_mouth: :slightly_smiling_face:. Das ist so - herzerfrischend -- -- anders. Piet Glocke könnte es auch nicht besser. - YouTube

void funk_sensor()
{
    ELECHOUSE_cc1101.ReceiveData(text2Message);
    String text2Message((char*) buffer);
    Serial.print(text2Message);
    ELECHOUSE_cc1101.SetReceive();
    {
    if (text2Message.indexOf("Alarmsensor-eingang") >= 0) {
    Serial.println("Radar Funk Melder");
    //gsm_sendhttp2();
    text2Message = "";
    }
    }
    }

jemand ide wie endlose schleife raus bekommen also was im speicher liegt Alarmsensor-eingang

sobald signal rein kamm renn der dann in dauer schleife ....