Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

    Zitat von thesing Beitrag anzeigen
    es ist richtig, dass unter Linux noch keine serielle Kommunikation implementiert ist.
    Hallo,

    ich würde mir das anschauen. Aber ich warte noch auf die Hardware, vielleicht sollte ich mir noch einen Optokoppler für die Siemens-BCU holen. Dann hätte ich zu der Weinzierl Schnittstelle noch ein anderes Interface. Aber wie schon gesagt kann es ein bißchen dauern, da ich nicht immer Zeit habe.

    Und wenn ich schon beim shoppen bin, einen KNX-Router habe ich auch nicht, kann mir jemand einen empfehlen?

    Gruß

    Werner

    Kommentar


      Hi,

      wkaa ich verwende den knxd, da musst Du nur was installieren...

      thesing hab ich das mißverstanden? Ich dachte, Bau05B0 ist für TP und bringt die UART-Kommunikation mit? Wahrscheinlich sind nicht alle Kombinationen von Plattform und Bau unterstützt, aber ich dachte, dass das das Konzept wäre...

      Gruß, Waldemar

      Kommentar


        Hallo Waldemar,

        Zitat von mumpf Beitrag anzeigen
        ich verwende den knxd, da musst Du nur was installieren...
        welche Hardware verwendest Du mit knxd um an den KNX-Bus zu kommen?

        Zitat von mumpf Beitrag anzeigen
        Wahrscheinlich sind nicht alle Kombinationen von Plattform und Bau unterstützt, aber ich dachte, dass das das Konzept wäre...
        Sofern ich es bereits überblicken kann ist der allgemeine Teil implementiert, aber die Platform abhängigen Teile (Linux, ESP, ...) nur nach Bedarf. Aber durch das Konzept können die entsprechenden Betriebssystemspezifischen Teile nachgezogen werde.

        So sind in linux_platform.xxx nur die viertuellen Funktionen der Basisklasse überlagert (mit Leben gefüllt) die verwendet werden. Ein feines Konzept.

        Gruß

        Werner


        Kommentar


          Hi Werner,

          ich persönlich habe 2 Varianten, einen TUL von busware.de an einem RasPi und noch aus uralten Zeiten ein Wiregate, da kann ich die KNX-Hardware gar nicht nennen, gibt es aber bestimmt so nicht mehr. Da läuft auch noch der eibd drauf...

          Zitat von wkaa Beitrag anzeigen
          Aber durch das Konzept können die entsprechenden Betriebssystemspezifischen Teile nachgezogen werde.
          Jetzt hab ich es auch kapiert. Viel Spaß damit

          Gruß, Waldemar

          Kommentar


            Ich habe übrigens den Gira-IP-Router genommen. Hauptsächlich da der zwei Ethernet-Buchsen hat und man sich damit einen Switch im Verteiler spart (wenn man nur ein zweites Gerät mit Ethernet drin hat.) Dafür braucht der halt eine Zusatzspannung. Aber immerhin kommt er mit dem unverdrosselten Ausgang vom Knx-Netzteil klar. Man braucht als nicht zwingend ein zweites Netzteil.

            Kommentar


              Zitat von thesing Beitrag anzeigen
              zwei Ethernet-Buchsen
              Der würde passen, mit den Ethernet Buchsen geht es bei mir eng zu

              Kommentar


                Zitat von wkaa Beitrag anzeigen
                ich würde mir das anschauen. Aber ich warte noch auf die Hardware, vielleicht sollte ich mir noch einen Optokoppler für die Siemens-BCU holen.
                Ich nutze die Siemens BCU mit einem ADUM1201 an einer CP2102 USB-Serial UART Bridge. Nur TXD/RXD fertig.
                Dann per USB am Raspberry Pi angeschlossen.

                Kommentar


                  Zitat von Nanosonde Beitrag anzeigen
                  Nur TXD/RXD fertig
                  Die Teile sind jetzt bestellt, werden GND und 5V auch jeweils angeschlossen? (CP2101<->ADUM und ADUM<->BCU)
                  Zuletzt geändert von wkaa; 28.12.2019, 01:04.

                  Kommentar


                    Zitat von wkaa Beitrag anzeigen
                    Die Teile sind jetzt bestellt, werden GND und 5V auch jeweils angeschlossen? (CP2101<->ADUM und ADUM<->BCU)
                    Na klar. Das habe ich jetzt mal vorausgesetzt.
                    Ich meinte damit nur, dass nicht noch andere Signale wie RTS/CTS, DTR/DSR oder so angeschlossen werden bzw. belegt werden müssen.

                    UPDATE:
                    Die Pinbelegung der Siemens-BCU hatte ich hierher: https://www.konnekting.de/wp-content...bcu_pinout.png

                    Weitere Details gab es hier: https://michlstechblog.info/blog/ras...r-with-the-pi/

                    Allerdings verwende ich die 5WG1117-2AB12.
                    Zuletzt geändert von Nanosonde; 28.12.2019, 16:43.

                    Kommentar


                      hallo thesing ,

                      wollte gerad emal deinen erweiterten stack testen und bei mir kommt auf einem Raspberry PI 3 folgendes:

                      main() start.
                      saved memory doesn't match manufacturerId, version or hardwaretype
                      not configured
                      Export GPIO pin 0
                      Could not export GPIO pin(write)!
                      : Device or resource busy
                      Set GPIO direction for pin 0 to OUTPUT
                      Export GPIO pin 0
                      Could not export GPIO pin(write)!
                      : Device or resource busy
                      Set GPIO direction for pin 0 to OUTPUT
                      Could not set mode for GPIO pin(write)!
                      : Device or resource busy
                      progmode on

                      Was mache ich denn da falsch?

                      Gruß
                      Robert

                      Kommentar


                        jeff25 Der Stack läuft normal. Lediglich der Zugriff auf die GPIOs ist gescheitert. Vermutlich hast du keine Recht auf /sys/class/gpio/export usw. zuzugreifen. Das benötigst du aber nur für den Programmierbutton, die ProgrammierLED und zur Verbindung zum RF-Modul bei knx-rf. Die Fehler kommen also durch pinMode; digitalwrite usw. Wenn du GPIOs nutzen willst muss du das Rechteproblem lösen:
                        Es muss in der Shell ein "ls /sys/class/gpio" funktionieren. Dafür sollte "sudo usermod -a -G gpio pi" den User pi in die Gruppe gpio packen. Nach einem abmelden und anmelden sollte der Benutzer auch auf die gpios Zugriff haben.
                        Prinzipiell ist im Linux-Demo-Code aber noch die Funktion, dass der Programmiermodus automatisch aktiviert wird, wenn das Gerät nicht konfiguriert wurde. Wenn man die Fehlermeldungen weglässt siehst du das auch bei deiner Ausgabe:
                        Code:
                        main() start. <-- Start
                        saved memory doesn't match manufacturerId, version or hardwaretype <-- Speicher passt nicht zum Programm (oder ist nicht da)
                        not configured <-- Nicht konfiguriert
                        progmode on <-- Programmiermodus aktiv
                        Du kannst also auch einfach die Fehler ignorieren und mit ETS konfigurieren.

                        VG
                        Thomas

                        Kommentar


                          Hallo Thomas,

                          super vielen Dank für die Erklärung. Werde ich gleich prüfen, wenn es nicht so wichtig ist den Prog Taster drückt man eh nur einmal :-)
                          Das ganze kann ich bis jetzt nur in KNX-linux Beispiel testen oder in knx-demo und meinem esp8266 geht es noch nicht oder? Da muss ich
                          noch über knxd als router gehen oder?

                          Gruß
                          RObert

                          Kommentar


                            Das sollte da keinen Unterschied zwischen der ESP8266- und der Linuxversion geben. Die Konfiguration per ETS sollte auch ohne knxd gehen. Allerdings braucht man den natürlich immer noch zum Routing zwischen TP und IP.

                            Kommentar


                              Hallo Thomas,

                              wäre es prizipiell denkbar mehrere Instanzen des Stacks laufen zu lassen? Mir ist bewusst das man an der Platform Implementierung etwas anpassen müsste da sich jede Instanz ja den Kommunikationskanal mit den anderen teilt. In der ETS wäre jede Instanz ein eigenes Gerät mit eigener physikalischer Adresse.
                              Ist nur so ein Gedanke den ich noch nicht zu Ende gedacht habe, aber gibt es aus deiner Sicht bereits K.O. Kriterien?

                              Kommentar


                                Hallo Bernhard,

                                der Stack an sich sollte damit klar kommen. Im DataLink-Layer werden nur Telegramme verarbeitet die als Ziel die eigene PA oder eine GA aus der GA-Tabelle haben.
                                Wahrscheinlich wäre es am einfachsten einfach zwei Network-Layer über ein DataLink-Layer zu packen. Das DataLinkLayer kann dann über PA und GA entscheiden an welche NetworkLayer die Telegramme gehen. Beim Senden muss man nur drauf achten das Telegramm ggf. auch in das andere Networklayer zu geben.

                                VG
                                Thomas

                                Kommentar

                                Lädt...
                                X