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
433MHz-WiFi-MQTT-Sender
03.01.2021, 13:41 (Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2021 13:52 von RaspiUser0815.)
Beitrag #9
RE: 433MHz-WiFi-MQTT-Sender
Wie schon geschrieben, entspricht deinem letzten Code ... Danke für deine Zeit ...

EDIT:
Noch eine (laienhafte) Beobachtung: Dein Screenshot von VIS aus Beitrag #3 zeigt, dass deine Dezimalcodes 6-stellig sind, meine haben 8 Stellen. Ist das im Sketch von Bedeutung ?!

Code:
/*
  Sketch zum Versenden von 433MHz-Signalen
  für verschiedene handelsübliche Funksteckdosen (nicht alle)
  per MQTT im Dezimalcode
  Die Codes, Angaben zu Bits, Protokoll und Pulslänge werden zuvor
  von der Fernbedienung mit dem Beispiel ReceiveDemo_Advanced.ino
  der RCSwitch-Bibliothek ausgelesen.
*/
#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi
#include <PubSubClient.h> //https://github.com/knolleary/pubsubclient
#include <RCSwitch.h> //https://github.com/sui77/rc-switch

// Hier eigene Daten für WiFi und MQTT-Broker angeben
const char* ssid = "xx";
const char* password = "xx";
const char* mqtt_server = "192.168.178.36";
unsigned int port = 1883;
const char* mqtt_user = "xx";       //Wenn kein Nutzer im Broker vergeben, dann so lassen
const char* mqtt_password = "xx";   //Wenn kein Passwort im Broker vergeben, dann so lassen
#define mqttclient "SmartHome"

//Hier den Pin am D1mini angeben, an dem Signal zum Sender angeschlossen ist
#define senderpin D0

// Hier pro Fernbedienung ein Topic und Einstellungen für Protokoll, Bits und Pulslänge angeben
#define topic_1 "SmartHome/Fernbedienung_1"
#define prot_1 5
#define bits_1 24
#define pulse_1 512

#define topic_2 "SmartHome/Fernbedienung_2"
#define prot_2 5
#define bits_2 24
#define pulse_2 512

WiFiClient Fernbedienung;
PubSubClient client(Fernbedienung);
RCSwitch mySwitch = RCSwitch();

// Hier nichts machen
void setup_wifi() {

  delay(10);
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}
// für weitere Fernbedienungen siehe unten
void callback(char* topic, byte* payload, unsigned int length) {
  long int payloadsend = 0;
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
    payloadsend = payloadsend + (payload[i] - '0') * pow(10, (length - i));
  }
  payloadsend = payloadsend / 10;
  Serial.println();
  Serial.println(payloadsend);

  if (strcmp(topic, topic_1) == 0) {
    mySwitch.setProtocol(prot_1);
    mySwitch.setPulseLength(pulse_1);
    mySwitch.send(payloadsend, bits_1);
    Serial.println("Befehl gesendet");
  }
  if (strcmp(topic, topic_2) == 0) {
    mySwitch.setProtocol(prot_2);
    mySwitch.setPulseLength(pulse_2);
    mySwitch.send(payloadsend, bits_2);
    Serial.println("Befehl gesendet");
  }
  // Hier weitere Fernbienungen gem. obigem Beispiel angeben

}

// für weitere Fernbedienungen siehe weiter unten
void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    if (client.connect(mqttclient, mqtt_user, mqtt_password)) {
      Serial.println("connected");
      client.subscribe(topic_1);
      client.subscribe(topic_2);
      // Hier weitere Fernbedienungen angeben
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      delay(5000);
    }
  }
}

// Hier nichts machen
void setup() {
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, port);
  client.setCallback(callback);
  mySwitch.enableTransmit(senderpin);

}

//Hier nichts machen
void loop() {

  if (!client.connected()) {
    reconnect();
  }
  client.loop();
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2021, 13:59
Beitrag #10
RE: 433MHz-WiFi-MQTT-Sender
Ich bin grad auch etwas überfragt, sieht soweit sauber aus (außer, dass ein Topic bei Dir gereicht hätte, da die Parameter gleich sind. Macht aber nichts).
Könntest Du vielleicht mal den Arduino (ReceiveDdemo_Advance) mit Empfänger in Betrieb nehmen und gucken, ob (und wenn ja, was) der empfängt?
Gruß Jan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2021, 14:14
Beitrag #11
RE: 433MHz-WiFi-MQTT-Sender
Ich habe jetzt 3x hintereinander nur Steckdose A jeweils im Wechsel ON und OFF auf der Fernbedienung gedrückt. Die Codes, die ich bei der ersten Auslese verwendet hatte (s. Screenshot #5, "Kommandos_ESP_Mini_Sender") kommen jetzt nicht mehr bzw. wechseln ständig ...

Code:
Decimal: 16594284 (24Bit) Binary: 111111010011010101101100 Tri-State: not applicable PulseLength: 513 microseconds Protocol: 5
Raw data: 7184,972,560,976,552,972,560,968,564,968,556,972,556,464,1068,972,556,460,1068,4​60,1068,972,560,968,556,464,1064,972,568,452,1072,968,552,464,1068,972,32,92,252​,28,132,72,76,24,32,416,16,312,28,

Decimal: 16461436 (24Bit) Binary: 111110110010111001111100 Tri-State: not applicable PulseLength: 513 microseconds Protocol: 5
Raw data: 7184,972,560,964,560,972,556,968,560,972,556,460,1068,968,560,968,560,460,1064,4​64,1068,964,560,460,1072,964,560,968,564,964,52,20,96,16,152,36,144,88,64,100,56​,204,72,80,40,372,88,156,100,

Decimal: 15752284 (24Bit) Binary: 111100000101110001011100 Tri-State: 1100FF10FF10 PulseLength: 513 microseconds Protocol: 5
Raw data: 7180,980,556,972,556,972,556,976,552,468,1060,468,1064,460,1068,460,1064,464,106​0,976,556,464,1068,972,556,972,552,976,556,468,1060,16,232,32,168,32,24,68,52,36​,140,36,24,28,176,48,32,44,20,

Decimal: 15931532 (24Bit) Binary: 111100110001100010001100 Tri-State: not applicable PulseLength: 513 microseconds Protocol: 5
Raw data: 7180,976,552,976,556,972,560,972,552,464,1064,464,1060,976,560,968,552,468,1064,​460,1064,464,1064,972,556,972,560,460,1060,464,1068,460,240,28,316,184,16,356,16​,816,72,80,16,308,16,112,24,212,28,

Decimal: 16594284 (24Bit) Binary: 111111010011010101101100 Tri-State: not applicable PulseLength: 513 microseconds Protocol: 5
Raw data: 7184,972,556,972,556,972,564,968,560,968,560,968,560,460,1064,972,560,460,1064,4​68,1064,972,560,968,560,460,1068,968,560,460,72,88,40,96,88,268,32,88,112,16,156​,64,104,60,56,92,28,96,32,

Decimal: 16461436 (24Bit) Binary: 111110110010111001111100 Tri-State: not applicable PulseLength: 513 microseconds Protocol: 5
Raw data: 7188,968,560,972,556,972,552,972,560,968,560,460,1068,968,560,968,560,460,1068,4​56,1068,968,560,460,1068,968,560,968,556,972,556,464,1064,460,1064,28,224,80,252​,84,192,16,932,112,76,36,152,36,32,
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2021, 14:24 (Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2021 14:42 von nbk83.)
Beitrag #12
RE: 433MHz-WiFi-MQTT-Sender
(03.01.2021 13:41)RaspiUser0815 schrieb:  EDIT:
Noch eine (laienhafte) Beobachtung: Dein Screenshot von VIS aus Beitrag #3 zeigt, dass deine Dezimalcodes 6-stellig sind, meine haben 8 Stellen. Ist das im Sketch von Bedeutung ?!
Könnte sein. Die 6-stelligen Codes sind von einer 20Bit-Fernbedienung. Meine 24er hat 7 Stellen. Versuch mal einen Deiner Codes ohne die erste '1' zu senden (also z.B. '5931532' oder auch mal '-5931532')

EDIT: dieser Post hat keine Relevanz mehr
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2021, 14:32
Beitrag #13
RE: 433MHz-WiFi-MQTT-Sender
(03.01.2021 14:14)RaspiUser0815 schrieb:  Ich habe jetzt 3x hintereinander nur Steckdose A jeweils im Wechsel ON und OFF auf der Fernbedienung gedrückt. Die Codes, die ich bei der ersten Auslese verwendet hatte (s. Screenshot #5, "Kommandos_ESP_Mini_Sender") kommen jetzt nicht mehr bzw. wechseln ständig ...

Sorry, hatte mich vielleicht missverständlich ausgedrückt. Ich meinte eigentlich, dass du mit dem Empfänger mal versuchen sollst, vom ESP mit Sender etwas zu empfangen.

Meine 24bit Fernbedienung schickt auch pro Taste 4 unterschiedliche Codes raus, die sich wiederholen. Es funktionieren aber alle, also habe ich mir einen der vier ausgesucht Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2021, 14:35
Beitrag #14
RE: 433MHz-WiFi-MQTT-Sender
... jetzt habe den ARDUINO Sender nochmal in Betrieb genommen. Dieser Sketch, mit meinen ursprünglichen Dezimalcodes (also die, die auch beim ESP Sketch Verwendung finden) funktioniert.

Hilft das irgendwie weiter !?

Code:
/*
  Example for different sending methods
  
  https://github.com/sui77/rc-switch/
  
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {

  Serial.begin(9600);
  
  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);
  
  // Optional set protocol (default is 1, will work for most outlets)
  mySwitch.setProtocol(5);

  // Optional set pulse length.
  mySwitch.setPulseLength(512);
  
  // Optional set number of transmission repetitions.
  // mySwitch.setRepeatTransmit(15);
  
}

void loop() {

  /* See Example: TypeA_WithDIPSwitches */
  //mySwitch.switchOn("11111", "00010");
  //delay(1000);
  //mySwitch.switchOff("11111", "00010");
  //delay(1000);

  /* Same switch as above, but using decimal code */
  mySwitch.send(15752284, 24);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);  
  mySwitch.send(15931532, 24);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);  

  /* Same switch as above, but using binary code */
  //mySwitch.send("111100000101110001011100");
  //delay(1000);  
  //mySwitch.send("111100110001100010001100");
  //digitalWrite(LED_BUILTIN, LOW);
  //delay(1000);

  /* Same switch as above, but tri-state code */
  //mySwitch.sendTriState("00000FFF0F0F");
  //delay(1000);  
  //mySwitch.sendTriState("00000FFF0FF0");
  //delay(1000);

  delay(2000);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2021, 14:47
Beitrag #15
RE: 433MHz-WiFi-MQTT-Sender
(03.01.2021 14:35)RaspiUser0815 schrieb:  ... jetzt habe den ARDUINO Sender nochmal in Betrieb genommen. Dieser Sketch, mit meinen ursprünglichen Dezimalcodes (also die, die auch beim ESP Sketch Verwendung finden) funktioniert.

Hilft das irgendwie weiter !?

Das hilft schon mal sehr weiter, die Codes und Parameter scheinen alle richtig zu sein. Meine Vermutung ist, dass der Sender am ESP nicht sendet. Daher auch die Bitte, mal mit dem Arduino mit Empfänger mitzuschneiden, ob der ESP überhaupt sendet, und wenn ja, was.
Am 5V Pin liegen auch 5V an?

Gruß Jan
p.s.: meine nächste Antwort wird etwas dauern, meine Mädels werden grade wach Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2021, 16:38
Beitrag #16
RE: 433MHz-WiFi-MQTT-Sender
(03.01.2021 14:47)nbk83 schrieb:  
Zitat:Am 5V Pin liegen auch 5V an?
Jein ... es sind 4,6V.

Zitat:Könnte sein. Die 6-stelligen Codes sind von einer 20Bit-Fernbedienung. Meine 24er hat 7 Stellen. Versuch mal einen Deiner Codes ohne die erste '1' zu senden (also z.B. '5931532' oder auch mal '-5931532')
Nö, keine Änderung ...

Zitat:Meine 24bit Fernbedienung schickt auch pro Taste 4 unterschiedliche Codes raus, die sich wiederholen. Es funktionieren aber alle, also habe ich mir einen der vier ausgesucht
Wiederholt sich bei mir auch nach dem 4ten Mal ...

Zitat:Meine Vermutung ist, dass der Sender am ESP nicht sendet. Daher auch die Bitte, mal mit dem Arduino mit Empfänger mitzuschneiden, ob der ESP überhaupt sendet, und wenn ja, was.
Ich habe heute "keine Kraft" mehr ...

Danke soweit für deine Hilfe, ich melde mich wieder.
Außerdem brauchen die Mädels den Papa bestimmt mehr Wink

Schönen Sonntag.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  MQTT Topic abbonieren? Steinspiel 18 357 Gestern 22:57
Letzter Beitrag: Steinspiel
  Erfahrungen mit ESP32 und WLAN/MQTT oder was ich beobachtet habe... Arduino4Fun 13 814 10.01.2021 14:18
Letzter Beitrag: nbk83
  Wo MQTT LogIn Daten einfügen? Steinspiel 10 539 28.12.2020 14:32
Letzter Beitrag: Tommy56
  433MHz Sendercode mit ESP-01 auslesen RaspiUser0815 24 1.188 28.12.2020 11:45
Letzter Beitrag: hotsystems
  Wifi Manager NeuHierAufDerSucheNachHilfe 1 279 21.12.2020 21:54
Letzter Beitrag: Tommy56
  Sensorausgabe mit MQTT publishen ? Steinspiel 14 905 16.12.2020 13:06
Letzter Beitrag: biologist
  Wifi Reconnect - nicht blockierend Arduino4Fun 6 569 29.11.2020 10:32
Letzter Beitrag: Arduino4Fun
  WiFi Verbindung zu lokalem Webserver wonk 4 493 21.11.2020 13:55
Letzter Beitrag: wonk
  Hilfe bei async-mqtt-client für ESP32 amshh 7 523 12.11.2020 09:19
Letzter Beitrag: amithlon
  DHT11 Daten via MQTT an Raspi senden Hanibal_Smith 5 482 10.11.2020 16:24
Letzter Beitrag: biologist

Gehe zu:


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