Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

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

    Zitat von Rasmus7700 Beitrag anzeigen
    Is there a maximum number of signals the Bus Coupler can transfer to the bus?
    Zitat von ThorstenGehrig Beitrag anzeigen
    there isn´t a real limit of signals - except the KNX bus itself.
    Dem Buskoppler ist es prinzipiell wohl egal, was er da senden soll, also gibt es keine Beschränkung bezüglich der GAs.

    Allerdings meine ich hier irgendwo gelesen zu haben, das die hier verwendete Library nur eine begrenzte Anzahl an GAs unterstützt (ich meine es waren 5). Ich weiß aber den Grund für diese Beschränkung nicht.
    Tessi

    Kommentar


      Zitat von Tessi Beitrag anzeigen
      Dem Buskoppler ist es prinzipiell wohl egal, was er da senden soll, also gibt es keine Beschränkung bezüglich der GAs.

      Allerdings meine ich hier irgendwo gelesen zu haben, das die hier verwendete Library nur eine begrenzte Anzahl an GAs unterstützt (ich meine es waren 5). Ich weiß aber den Grund für diese Beschränkung nicht.
      Okay, meaning something like a max of 5 simultaniously GA? Or 5 different total?

      What about the thing, that the MEGA has 2 serial ports? That doesn't have any influence?

      What about the performance, is there a long delay before the arduino receives a input, before the telegram is transmitted to the KNX bus? below 1 sec?

      Kommentar


        There is only a soft limitation of 15 GA to Listen for, but i think it would also work for 20 or 30.
        The performance depends on your code.
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          Yes OK - I don't need that more to listen

          You say it depends on the code - what if the code is made great, and transferring etc. 10 inputs, what will the performance be?

          Kommentar


            Hi zusammen,

            heute Morgen kam mein Busankoppler. :-)

            Die ersten Schritte waren kein Problem, aber: Kann von euch mal jemand einen geübten Blick hierauf werfen? Auf meinem Arduino Uno läuft groupwrite ohne Probleme. Die Bezeichnung von "Serial" ist daher wohl korrekt angegeben. Aber das simple Beispiel, um auf Reads zu antworten tut nicht. Ich hab irgendwie das Gefühl, dass serialEvent() nicht auslöst. Wenn ich dort einfach mal ohne weitere Abfrage eine LED schalte, passiert auch nichts.

            serialEvent() ist beim Uno richtig, oder? Nur beim Mega serialEventX()?

            Mein Leonardo ist noch in der Post, Troubleshooting ist mit dem Uno echt anstrengend. :-)

            Code:
            #include <KnxTpUart.h>
            
            // Define group address to react on
            int my_main_group = 0;
            int my_middle_group = 0;
            int my_sub_group = 101;
            
            // Initialize the KNX TP-UART library on the Serial1 port of Arduino Mega
            KnxTpUart knx(&Serial, 1, 1, 5);
            
            void setup() {
              Serial.begin(19200);
              UCSR0C = UCSR0C | B00100000; // Even Parity
              knx.uartReset();
              knx.addListenGroupAddress(my_main_group, my_middle_group, my_sub_group);
            }
            
            void loop() {
            }
            
            void serialEvent() {
              KnxTpUartSerialEventType eType = knx.serialEvent();
              if (eType == KNX_TELEGRAM) {
                 KnxTelegram* telegram = knx.getReceivedTelegram();
            
                 // Is it a read request?
                 if (telegram->getCommand() == KNX_COMMAND_READ) {
                    //knx.groupAnswerBool(my_main_group, my_middle_group, my_sub_group, true);
                    knx.groupAnswer2ByteFloat(my_main_group, my_middle_group, my_sub_group, 25.28);
                 }   
              }
            }
            Vielen Dank und viele Grüße,

            David

            Kommentar


              So, auf dem Leonardo lief das Ganze sofort stressfrei. In sofern bin ich erstmal glücklich.

              Aber kann es eventuell sein, dass die aktuelle Library nicht mit dem Uno läuft? Obwohl ich das Debugging auf false gesetzt hatte, hab ich im Serial Monitor noch Meldungen bekommen. Ich hatte die Vermutung, dass mein Problem daran liegt, weil diese Meldungen dann ja auch auf den Bus übertragen werden. Ich muss aber zugeben, dass ich es nicht genauer debugt habe. Als es mit dem Leonardo lief, war das irgendwie nicht mehr so wichtig. ;-)

              Von mir auch noch mal danke an Thorsten für diese geniale Idee. Mein DMX-Gateway läuft und ich hab ne Liste von 10 weiteren Einsatzgebieten.

              Viele Grüße,

              David

              Kommentar


                Hi
                das müsste ich mir mal anschauen - beim UNO dürfen auf jedenfall keine Debugging-Meldungen rauskommen... das würde den Bus zermüllen.

                Welchen Leonardo hast du jetzt? Einen großen? oder einen Mini?

                Gruß
                Thorsten

                Kommentar


                  Hallo David,

                  die Fehlermeldung ist etwas schwammig, aber ich denke ich hatte das gleiche Problem. Ich hatte aber noch keine Lust mir das genauer anzusehen.

                  Kommentiere in der KnxTpUart.cpp mal die Zeile 133 aus, sollte dann so aussehen:

                  Code:
                  	// Print the received telegram
                  	if (TPUART_DEBUG) {
                  		//_tg->print(&TPUART_DEBUG_PORT);
                  	}
                  Ich "glaube" das ist der Fehler den Du beschreibst. Es reicht also irgendwie nicht aus das Debugging zu deaktivieren.

                  Weiterhin sehe ich in der Library noch deutlich potential zum vereinfachen von Code. Mir fehlt schlicht die Zeit aber ich würde mir gern ein knx.write(ga,wert,dpt) und ein knx.read(ga,dpt) einbauen, also ein sauberes Mapping der entsprechenden Funktionen auf Datentypen und die GAs nicht als Liste sondern als String ("1/2/3") der dann durch die Library konvertiert wird (1,2,3). Das mach den Code etwas leserlicher und übersichtlicher.

                  Grüße
                  Umgezogen? Ja! ... Fertig? Nein!
                  Baustelle 2.0 !

                  Kommentar


                    Zitat von ThorstenGehrig Beitrag anzeigen
                    Welchen Leonardo hast du jetzt? Einen großen? oder einen Mini?
                    Ich hab mir jetzt erst mal den großen Leonardo bestellt, weil ich hier noch einige Shields rumfliegen habe. Damit ist das testen etwas einfacher. Produltiv werde ich dann aber auf den Mini gehen.

                    @Jumi2006:
                    Kann das denn die Ursache sein? Ich bin ja kein Entwickler, aber für mich sieht das so aus, als würde die Zeile nur ausgeführt, wenn TPUART_DEBUG = true ist. Und das war bei mir sicher nicht der Fall.

                    Wenn ich die Tage Zeit habe, werde ich den Uno noch mal rauskramen und es mir genauer anschauen.

                    Danke schon mal für die Rückmeldungen.

                    Viele Grüße,
                    David

                    Kommentar


                      Ja das hatte ich auch so gesehen, aber er schmeißt den Fehler schon beim kompilieren auf dem Leonardo:

                      Code:
                      /Users/Arduino/libraries/KNX/KnxTpUart.cpp: In member function 'bool KnxTpUart::readKNXTelegram()':
                      /Users/Arduino/libraries/KNX/KnxTpUart.cpp:133: error: no matching function for call to 'KnxTelegram::print(Serial_*)'
                      /Users/Arduino/libraries/KNX/KnxTelegram.h:102: note: candidates are: void KnxTelegram::print(HardwareSerial*)
                      Wenn ich die Zeile 133 wieder auskommentiere passt es wieder.
                      Umgezogen? Ja! ... Fertig? Nein!
                      Baustelle 2.0 !

                      Kommentar


                        Hat schonmal jemand den Busmonitor laufen lassen und ist auf sowas gestoßen? Die ersten 2 Bilder zeigen die Telegramme die der Arduino zyklisch sendet, das letzte Bild kann ich mir allerdings überhaupt nicht erklären.

                        Das kommt so alle 15/20 Minuten mal vor.

                        Die 15.15.15 hat er von mir zugewiesen bekommen, und eine 15.15.17 gibt es hier nicht.

                        Grüße
                        Angehängte Dateien
                        Umgezogen? Ja! ... Fertig? Nein!
                        Baustelle 2.0 !

                        Kommentar


                          manche IP Router machen mehrere Kommunikationskanäle auf - ev. ist es auch hier so
                          EPIX
                          ...und möge der Saft mit euch sein...
                          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                          Kommentar


                            Zitat von JuMi2006 Beitrag anzeigen
                            Ja das hatte ich auch so gesehen, aber er schmeißt den Fehler schon beim kompilieren auf dem Leonardo:

                            Code:
                            /Users/Arduino/libraries/KNX/KnxTpUart.cpp: In member function 'bool KnxTpUart::readKNXTelegram()':
                            /Users/Arduino/libraries/KNX/KnxTpUart.cpp:133: error: no matching function for call to 'KnxTelegram::print(Serial_*)'
                            /Users/Arduino/libraries/KNX/KnxTelegram.h:102: note: candidates are: void KnxTelegram::print(HardwareSerial*)
                            Wenn ich die Zeile 133 wieder auskommentiere passt es wieder.
                            Holt euch mal bitte die neue Version der KNX-Lib aus Thorstens bitbucket Repository. Ich hab vor kurzem eine Aenderung verbastelt die genau an der Stelle greift.

                            Funzt bei mir mit einem Leonardo Mini mit laufendem Debugging auf Serial (also dem USB-Port) und der BCU an Pin 0/1 - rein/rausziehen der BCU zum Programmieren ist nicht mehr notwendig, im Betrieb kann ueber die Konsole ein Debug mitlaufen. Getestet mit nem Micro Pro (als Leonardo), Mega und Mini, Uno sollte ebenfalls laufen (die letzten beiden natuerlich ohne Debugging im Betrieb, aber auch ohne Fehler vom Pre).

                            Falls nicht, bitte nochmal melden.

                            gruesse :: Michael

                            PS: beim Leonardo/Micro ist der Debugport dann Serial, der KNX-Port Serial1 (bzw Serial2 oder so beim Mega)

                            Kommentar


                              Ich werf das hier mal unkommentiert in den Raum:

                              Microview: Arduino-Winzling mit OLED-Display | heise online

                              Kommentar


                                Sieht ganz schnuckelig aus :-)

                                Ich habe vor einiger Zeit mit OLEDs von 4DSystems ein paar Basteleien veranstaltet - die waren zwar auch nett, hatten aber im Vergleich zu LCDs (noch) eine sehr hohe Stromaufnahme und eine sehr begrenzte Haltbarkeit. Letztere sogar im stromlosen Zustand, d.h. direkt nach der Produktion beginnt der Zerfallprozess der Organik. Teilweise wurden hier weniger als 5-10 kh erreicht.

                                Vielleicht sind die heute besser, aber für den langfristigen Einsatz in einer KNX-Umgebung würde ich die wohl eher nicht verwenden wenn sich an o.g. Kriterien nichts geändert hat.

                                Gibts irgendwo ein Datenblatt zu den OLED, die in dem Gadget verbaut sind?
                                Viele Grüße,
                                Stefan

                                DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                                Kommentar

                                Lädt...
                                X