Dialog NODERED-ARDUINO 433

Hallo zusammen, ich bräuchte etwas Hilfe, denn ich habe meine Grenzen beim Codieren zwischen diesen beiden Plattformen erreicht.
Ich habe es geschafft, MQTT mit NodeRed zu verbinden, das eine Nachricht an den Arduino sendet, damit dieser einen 433er-Code sendet, aber es klappt nicht.
Ich möchte klarstellen, dass der Arduino-Code scheinbar etwas an den Sender sendet, denn ich habe eine LED hinzugefügt, die blinkt, aber mein 433er-Gerät reagiert nicht.

Hier ist der Teil des Flows:
a = ‹ « SendRadioCode » ›
msg.payload=« {"function_name": » + a + « ,"Code": » + msg.payload + « }% »;
return msg;

was zu einem Versand dieser Art führt:
« {« function_name »:« SendRadioCode »,« Code »:5588308}% »

Auf der Arduino-Seite sieht der empfangene Code, übernommen von Gladys V3, so aus:
void executeFunction(String json_data) {
StaticJsonBuffer<200> jsonBuffer;
JsonObject& v = jsonBuffer.parseObject(json_data);
//wir zerlegen die Zeichenkette
if ( v[« function_name »] == String(« SendRadioCode ») ) {
SendRadioCode(v[« code »]);
}
}

et hier bleibt es hängen..
Falls ihr alles versteht und eine brillante Idee habt, bin ich dankbar.. :unamused:

Guten Abend @tiboys
benutzt du ein Rflink?

Ich bin mir nicht sicher, ob ich das verstehe, ich verwende die Bibliothek rcswitch.
War das deine Frage?

Ich fragte dich, ob du eine RFlink-Anlage hast, also eine Arduino Mega, einen Sender und einen Empfänger, und in die Mega lädst du das Rflink-Programm (Open-Source-Projekt).

Entschuldigung, ich hatte das nicht verstanden. Die Installation erfolgt auf einem Arduino Uno mit einem 433-MHz-Sender und -Empfänger.
An jedem Datenkabel habe ich eine LED hinzugefügt, die beim Informationsübertragungsvorgang blinkt.
Der in den Arduino eingefügte Code ist dieser:
https://github.com/GladysAssistant/gladys-radioemitter/blob/master/arduino-code.ino

Der Tutorial war dieser:
https://gladysassistant.com/fr/blog/gerer-les-appareils-electrique/

Ah ja, ich hatte das damals in der V3 flüchtig überflogen, aber dann bin ich über rflink gestolpert und da ich eine Mega hatte, habe ich die Installation gemacht und man hat weniger Kopfschmerzen mit dem Code. Wenn du mit einer Mega 2560 vorbeikommst, habe ich ein Tutorial über Node Red und rflink gemacht, das gut funktioniert (bei mir), es bleibt nur noch ein bisschen unter Node Red zu codieren.

Für deinen Fall kann ich nicht helfen,

Hallo @tiboys! Funktioniert der Arduino alleine gut? Wenn du deinen Arduino nimmst, an deinen Computer anschließt und das Arduino-Programm startest, funktioniert das dann gut?

Hallo @pierre-gilles, das gleiche Problem tritt auf, wenn ich den Arduino an einen lokalen NodeRed anschließe.
Der Empfang ist perfekt mit der Änderung des Buttons in Gladys über MQTT, aber die Übertragung funktioniert nicht.
« {« function_name »:« SendRadioCode »,« Code »:5591380}% »
Die Nachricht wird tatsächlich an den Arduino gesendet und die LED am Sender blinkt, aber die 433-Geräte reagieren nicht.
Das Format des gesendeten Codes scheint jedoch dem zu entsprechen, das der Arduino erwartet, da die LED blinkt, aber es ist unmöglich zu wissen, wo es hakt.
Ich habe es mit einem anderen Arduino zum 433-Empfang getestet, der aber nichts empfängt, als ob der gesendete Code nicht « passend » wäre.

Und ohne Node RED? Nur mit der Arduino-Software?

Bingo, der Befehl im seriellen Monitor des Arduino aktiviert das 433er-Gerät:
{« function_name »:« SendRadioCode »,« code »:« 5588308 »}%

Es muss also zwischen NodeRed und dem Arduino liegen.
Es muss in dieser Anfrage hängen:
a = ‹ « SendRadioCode » ›
msg.payload=« {"function_name": » + a + « ,"code": » + msg.payload + « }% »;
return msg;

Füge Logs in Node-RED hinzu, um den gesendeten Payload zu sehen :slight_smile:

Tut mir leid, aber ich kann das nicht machen .. :unamused:

Schau dir mein Video über Node-RED auf YouTube an, da zeige ich, wie man das macht :slight_smile:

@pierre-gilles, ich habe mir dein sehr lehrreiches Video angesehen.
Mir ist es nicht aufgegangen, aber die Logs, von denen du sprichst, entsprechen dem Debugging.
Ich nutze sie seit Anfang an, um zu sehen, wo es hakt.

Also bin ich wirklich ein Depp. Ich habe gerade bemerkt, dass ich ein Problem mit der Großschreibung in dem « Code » hatte, während die Arduino « code » erwartet hat. Ich war nicht streng genug bei der Groß- und Kleinschreibung der Werte :unamused:

Danke @Psoy für deinen Beitrag, entschuldige, ich hatte deine Antwort nicht gesehen. Ich werde dein Tutorial anschauen und es aufbewahren, falls nötig.
Danke an euch beide.