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
  Nano-nRF wie ESP für MQTT? AnFi 7 260 20.07.2021 21:09
Letzter Beitrag: hotsystems
  ESP32Cam und MQTT tenor 1 376 30.06.2021 21:00
Letzter Beitrag: tenor
  ESP32 und WS2812 funktioniert nicht mit WiFi Mirkan 24 2.731 05.06.2021 02:23
Letzter Beitrag: Mirkan
  Wemos d1 Ph Sonde - Hilfe bei Daten per MQTT senden SoerenKaiser99 23 2.464 10.05.2021 21:25
Letzter Beitrag: SoerenKaiser99
  Relay über NFC und Wifi schalten, bitte um Hilfe bei der Programmierung Tirol-Daniel 28 2.624 17.04.2021 13:31
Letzter Beitrag: Tommy56
  Einer RGB-LED am ESP Werte aus MQTT zuweisen. Manny 2 671 15.04.2021 16:50
Letzter Beitrag: Manny
  Erfahrungen mit ESP32 und WLAN/MQTT oder was ich beobachtet habe... Arduino4Fun 23 5.607 09.04.2021 16:15
Letzter Beitrag: amshh
  Suche Erfahrungen und Hilfe mit ESP32-CAM WiFi + Bluetooth Modul Kamera Modul esp32 Christian_Moba-Arduino 28 3.583 04.04.2021 08:24
Letzter Beitrag: amithlon
  BUILTIN_LED vom ESP mit MQTT und NodeRed schalten. Manny 7 1.063 22.03.2021 18:24
Letzter Beitrag: Manny
  Wifi-Modul für Netzteil RD6006 HWH 2 819 07.03.2021 16:50
Letzter Beitrag: Bitklopfer

Gehe zu:


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