Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dreamy1
    antwortet
    Keine Ahnung, ich habe mit dem Zeug nix am Hut...habe mich nur erinnert, dass da irgendwas war...steht irgendwo hier im Forum.

    Einen Kommentar schreiben:


  • netzlaff
    antwortet
    Dieser Parameter lässt sich nur mit Things verwenden, richtig? Ich nutze noch OH2.1 mit dem 1.x Bindings ohne Things.

    Einen Kommentar schreiben:


  • dreamy1
    antwortet
    War da nicht was, dass man in Openhab das "pinginterval" von 600 auf 0 setzen muss?

    Einen Kommentar schreiben:


  • netzlaff
    antwortet
    Hallo zusammen.

    Ich habe auch mal eine Frage. Aktuell teste ich mit einem Arduino Pro Micro an einem Siemens 5WG1 117-1AB12. Mir gelingt es per GA Pins vom Arduino zu schalten und danach einen Status auf den Bus zu legen. Sprich KNX_COMMAND_WRITE.
    Nur scheitere ich beim KNX_COMMAND_READ. Ich habe eine GA, welche per knx.addListenGroupAddress(R1_STATE_GA); lauscht. Wenn eine Anfrage auf diese GA kommt, dann läuft das Sketch auch bis dahin und antwortet entsprechen. Im Busmonitor kann ich die Antwort auch sehen. Komischerweise will Openhab2 davon gar nichts wissen. Openhab2 fragt diese GA ab, das Sketch erkennt diese Abfrage und antwortet. Alles nachvollziehbar in ETS. Nur Openhab landet in einem Timeout. Gibt es beim Antworten nich etwas zu beachten?

    Code:
    if (telegram->getCommand() == KNX_COMMAND_READ) {
    
     // R1
      if (target == R1_STATE_GA) {
       Serial.print("R1:State Read");
       if (digitalRead(R1) == HIGH) {
        knx.groupAnswerBool(R1_STATE_GA, false);
       }
       else {
        knx.groupAnswerBool(R1_STATE_GA, true);
       }
      }
     }

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von Sonnengruesser Beitrag anzeigen
    Da fehlen wohl einige Bilder um weiterhelfen zu können. Wie sehen denn die KNX Rohdaten auf dem Bus aus? Wie berechnest du den Wert? Wie ist der DPT im Sketch konfiguriert?
    Sorry, aber ein Teil der Bilder ist bei Hochladen "verlorengegangen" !

    Inzwischen habe ich das Problem gelöst: Der VES6075 UV-Sensor war offensichtlich defekt und hat nicht zuverlässig Daten gesendet !
    Korrektur: der Sensor war nicht defekt, jedoch der Stromverbrauch zu hoch !
    Die Anbindung über Busankoppler/ Dummy etc. funktioniert problemlos !

    Vielen Dank !!!
    Zuletzt geändert von ak68; 01.05.2020, 15:36.

    Einen Kommentar schreiben:


  • Sonnengruesser
    antwortet
    Zitat von ak68 Beitrag anzeigen
    Ein Problem habe ich aber:
    Da fehlen wohl einige Bilder um weiterhelfen zu können. Wie sehen denn die KNX Rohdaten auf dem Bus aus? Wie berechnest du den Wert? Wie ist der DPT im Sketch konfiguriert?

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von boots Beitrag anzeigen
    Nein, macht keinen Sinn. Hatte den selben Fehler.
    Lösung kauft dir einen Arduino Uno. Weiter oben steht mit welchen Boards das funktioniert.
    Wenn ich es richtig weiß, sind die 2 Pull-up Widerstände schuld daran.
    VG Bernhard
    Du hast Recht, habe den NodeMCU ausgemustert, hat zu viele Probleme gemacht, nicht nur mit der KNX-Library.

    Mit einem ProMini läuft die Software korrekt !!!

    Ein Problem habe ich aber:

    Die Datentypen von Uv... stimmen wohl nicht überein Float = 2ByteFloat =2-ByteGleitkomma (DPT 9.x),
    der Bool-Wert 6/7/7) wird hingegen korrekt übertragen.




    In KNX/ Ediomi weder aber keine Werte angezeigt, obwohl diese im Seriellen Monitor sichtbar sind (bei daktivierter KNX-Tp.UART):

    2020_04_18_16_30_24_Window.png

    Was mache ich falsch bei den Datentypen ?
    Zuletzt geändert von ak68; 18.04.2020, 15:37.

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Übrigens, beim ESP8266 kann man Serialpins durch Serial.swap() ummappen. Dann soll CH340 nicht stören.
    ABER VORSICHT, ESP verträgt nur 3.3V, Siemens BCU hat aber 5V am TX Pin. Ohne Pegelwandler kann man ESP also zerstören!

    Zum eigentlichen Problem kann ich leider nichts beitragen.

    Einen Kommentar schreiben:


  • boots
    antwortet
    Nein, macht keinen Sinn. Hatte den selben Fehler.
    Lösung kauft dir einen Arduino Uno. Weiter oben steht mit welchen Boards das funktioniert.
    Wenn ich es richtig weiß, sind die 2 Pull-up Widerstände schuld daran.
    VG Bernhard

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Ich versuche ohne Erfolg, das simple Beispiel von raphaelhuber aus #1171 mit einem NodeMCU V3 umzusetzen:

    Code:
    // Test constellation = NodeMCU V3 <-> 5WG1 117-2AB12
    
    // GND    GND (PIN 1)
    // 5V        VCC (PIN 5)
    // RX 03  TX (PIN 4)
    // TX 01   RX (PIN 2)
    
    #include <KnxTpUart.h>
    
    KnxTpUart knx(&Serial, "1.1.80");          // KNX-Gruppenadresse 1.1.80 mit Dummy-Applikation
    
    void setup() {
    pinMode(16, OUTPUT);                        // LED PIN 16 (statt Nano 13)
    digitalWrite(16, LOW);
    
    Serial.begin(19200, SERIAL_8E1);
    knx.uartReset();
    }
    
    void loop() {
    knx.groupWriteBool("6/7/4", true);
    digitalWrite(16, HIGH);
    delay (1000);
    
    knx.groupWriteBool("6/7/4", false);
    digitalWrite(16, LOW);
    delay (1000);
    }
    Leider kann ich das Sketch schon einmal gar nicht kompilieren und bekomme folgenden Fehler:

    C:\Users\Andreas\Documents\Arduino\libraries\KnxTp Uart\KnxTelegram.cpp: In member function 'void KnxTelegram::set2ByteFloatValue(float)':
    C:\Users\Andreas\Documents\Arduino\libraries\KnxTp Uart\KnxTelegram.cpp:294:23: error: invalid operands of types 'double' and 'int' to binary 'operator&'long m = round(v) & 0x7FF;
    exit status 1
    Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).


    Kennt wer diesen Fehler ?
    Ist die serielle Schnittstelle (PIN 1+3) korrekt angegeben ?
    Macht es überhaupt Sinn, auf einem NopdeMCU mit CH340 weiterzutesten (vgl #1194) ?

    Vielen Dank
    Andreas
    Zuletzt geändert von ak68; 11.04.2020, 10:01.

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Ok, ProMini kann auch mit 5V direkt arbeiten.
    verbinde VCC mit 5V der BCU und schaue ob es geht.
    Es kann sein, dass deine BCU 3.3V Logic Level von MCU nicht verarbwiten kann.
    Umgekehrt, es ist ganz schlecht mit 5V LogicLevel aus der BCU an 3.3V MCU geben (RAW wandelt ja in 3.3V um)
    Da kann man MCU grillen.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Hallo Eugenius,
    danke für Deine Rückmeldung.

    Zitat von Eugenius Beitrag anzeigen
    Du kann als Prüfung Spannungen testen.
    Die 5V aus der BCU ist noch verfügbar. Der Arduino startet bei angeschlossener BCU und läuft auch.
    Kann man RC und TX aus der BCU auch prüfen?
    Kann man die BCU auch resetten? Es gibt zumindest einen Reset-Ausgang an der BCU?

    Zitat von Eugenius Beitrag anzeigen
    Ach ja, mit welchen Arduinos testes du? Weil Siemens BCU ja 5V Logik hat und MicroBCU 3.3V. D.h. einfach so kann man nicht hin und her tauschen.
    Ich arbeite mit einem Arduino ProMini 8MHz, 3.3V. Wenn ich auf mit der MicroBCU arbeite, verbinde ich VCC der MicroBCU mit VCC des Arduino. Bei Verwendung der Siemens BCU verbinde ich den 5V der BCU mit RAW des Arduino.


    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Zitat von boots Beitrag anzeigen
    Und hier die Auflösung:
    Arduino Nano Nachbau geht nicht !!!


    Arduino Uno und Busankoppler 5WG1117-2AB12 geht

    Ich danke Euch !!
    Bei den China Arduinos mit 328p MCU gibt es immer weider Problem, wenn CH340G als USB-to-UART verwendet wird. Bei allen China-Clones Nanos ist das der Fall. Bei vielen UNOs aber auch. Weil CH340G und BCU an den selben Pins hängen, stören sie sich gegenseitig. Workaround: es gibt 2x 1k Widerstände die von CH340 zu D0 und D1 führen, wenn man die weglötet, funktioniert BCU wieder, aber so kann man über USB nicht mehr programmieren (dann nur über ISP oder mit externem USB-to-UART Adapter) :/

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Hallo,

    kann man die Funktionsfähigkeit des TP-UART an der Siemens BCU testen?

    Hintergrund: Ich bekomme keine Nachrichten mit der Siemens BCU auf den Bus, mit der Micro BCU bei gleichem Setup schon. Ich habe den Verdacht, dass ich die Siemens BCU geschrottet habe.

    Danke Euch.
    Tja, es sieht wirklich so aus, als ob deine Siemens BCU defekt ist :/
    Du kann als Prüfung Spannungen testen.
    Ach ja, mit welchen Arduinos testes du? Weil Siemens BCU ja 5V Logik hat und MicroBCU 3.3V. D.h. einfach so kann man nicht hin und her tauschen.

    Ansonsten kann man auch damit schauen ob etwas kommt:
    https://github.com/Adminius/KNX_sniffer

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Hallo,

    kann man die Funktionsfähigkeit des TP-UART an der Siemens BCU testen?

    Hintergrund: Ich bekomme keine Nachrichten mit der Siemens BCU auf den Bus, mit der Micro BCU bei gleichem Setup schon. Ich habe den Verdacht, dass ich die Siemens BCU geschrottet habe.

    Danke Euch.

    Einen Kommentar schreiben:

Lädt...
X