Ankündigung

Einklappen
Keine Ankündigung bisher.

raspberry bcu

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

    #46
    o.k. ich hab nen fertiges Paket genommen.
    Was brauchts denn beim ./configure an optionen?

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

    Kommentar


      #47
      mein eibd configure sieht so aus:
      Code:
      ./configure --enable-tpuart --enable-tpuarts --enable-eibnetip --enable-eibnetiptunnel --enable-eibnetipserver --enable-groupcache --enable-onlyeibd
      ...und gestartet sieht er so aus:
      Code:
      # ps -ef | grep eib
      root      2208     1  1 10:57 ?        00:00:06 /usr/local/bin/eibd -e 1.1.249 -c -S -D -i -T -R -d -u --tpuarts-disch-reset --tpuarts-ack-all-group --pid-file=/var/run/eibd.pid --daemon=/var/log/eibd.log --trace=5 tpuarts:/dev/ttyAMA0
      root      2220  2204  0 11:08 pts/0    00:00:00 grep eib

      Kommentar


        #48
        So das war nun kein Problem mehr, allerdings hänge ich hier irgendwo.
        Hat jemand nen Anhaltspunkt wo der Fehler liegen könnte bzw. was das ganze bedeutet?

        Code:
        root@raspberrypi:~/tp/bcusdk-0.0.4+nmu18# eibd -e 1.1.200 -c --tpuarts-disch-reset --tpuarts-ack-all-group -u --trace=5 --pid-file=/var/run/eibd.pid tpuarts:/dev/ttyAMA0
        Layer 2(00EDD6C8,5161D1E8) Open
        Layer 2(00EDD6C8,5161D1E8) Openend
        Layer 2(00EDD6C8,5161D1E8) open-reset(001): 01
        Layer 0(00EDD6C8,5161D1E9) Recv(001): 47
        Layer 0(00EDD6C8,5161D1E9) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1E9) Recv(001): 47
        Layer 0(00EDD6C8,5161D1E9) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1E9) Recv(001): 47
        Layer 0(00EDD6C8,5161D1E9) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1E9) Recv(001): 47
        Layer 0(00EDD6C8,5161D1E9) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1E9) Recv(001): 47
        Layer 0(00EDD6C8,5161D1E9) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1E9) Recv(001): 47
        Layer 0(00EDD6C8,5161D1E9) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1EA) Recv(001): 47
        Layer 0(00EDD6C8,5161D1EA) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1EA) Recv(001): 47
        Layer 0(00EDD6C8,5161D1EA) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1EA) Recv(001): 47
        Layer 0(00EDD6C8,5161D1EA) RecvWatchdog: 47
        Layer 0(00EDD6C8,5161D1EA) Recv(001): 47
        Layer 0(00EDD6C8,5161D1EA) RecvWatchdog: 47
        So geht das dann ne ganze Weile.
        Das ist ein ganz autarkes Testsystem im Lehrmittelkoffer auf dem lediglich ein BWM alle 10 Sekunden die Helligkeit sendet, davon ist aber die ganze Zeit nichts zu sehen.
        Irgendwann kommt dann doch mal was durch und der eibd bleibt dann stehen.
        Mir fehlt jetzt der Ansatz zur Fehlersuche.

        Code:
        Layer 0(0124D6C8,5161D29C) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29C) Recv(001): 47
        Layer 0(0124D6C8,5161D29C) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29C) Recv(001): 47
        Layer 0(0124D6C8,5161D29C) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29D) Recv(001): 47
        Layer 0(0124D6C8,5161D29D) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29D) Recv(001): 47
        Layer 0(0124D6C8,5161D29D) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29D) Recv(001): 47
        Layer 0(0124D6C8,5161D29D) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29D) Recv(001): 47
        Layer 0(0124D6C8,5161D29D) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29D) Recv(001): 47
        Layer 0(0124D6C8,5161D29D) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29D) Recv(001): 47
        Layer 0(0124D6C8,5161D29D) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D29E) Recv(001): 47
        Layer 0(0124D6C8,5161D29E) RecvWatchdog: 47
        Layer 0(0124D6C8,5161D2A1) Recv(008): BC 01 02 00 01 E3 00 80
        Layer 0(0124D6C8,5161D2A1) SendAck 11
        Layer 0(0124D6C8,5161D2A1) Recv(003): 14 B0 86
        Layer 2(0124D6C8,5161D2A1) Recv L_Data low from 0.1.2 to 0/0/1 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write 14 B0 
        Layer 0(0124D6C8,5161D2A6) Recv(008): BC 01 02 00 01 E3 00 80
        Layer 0(0124D6C8,5161D2A6) SendAck 11
        Layer 0(0124D6C8,5161D2A6) Recv(003): 14 B0 86
        Layer 2(0124D6C8,5161D2A6) Recv L_Data low from 0.1.2 to 0/0/1 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write 14 B0 
        Layer 2(0124D6C8,5161D2A8) Watchdog Status(001): 02
        Layer 0(0124D6C8,5161D2A8) Recv(001): 07
        Layer 0(0124D6C8,5161D2A8) RecvWatchdog: 07
        Hier ist jetzt Ende. CPU Usage des eibd bei knapp unter 100% -> killall eibd

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

        Kommentar


          #49
          Zitat von cocoon Beitrag anzeigen
          Was bedeutet "vollgas fest" ?
          Die Busimpedanz stellt für den Modulator eine gewisse Belastung dar, er muss also eine gewisse Leistung abgeben und wird dabei wie jeder Verstärker durch die Verlustleistung aufgeheizt. Es gibt Schnittstellenbausteine (ICs), die überhitzen bis zur Zerstörung wenn man mit ihnen dauerhaft Telegramme sendet. Sie sind nicht "vollgasfest", weil die meisten Geräte normalerweise nicht ununterbrochen senden und daher auch keine thermischen Probleme bekommen. Ein zentraler Steuerrechner könnte aber schon mal eine Weile lang sehr viele Telegramme hintereinander versenden wollen, wenn komplexere Aufgaben anstehen. Da sollte die Schnittstelle dann "vollgasfest" sein, also dauerhaft mit der maximal möglichen Telegrammrate senden können ohne zu überhitzen.
          Tessi

          Kommentar


            #50
            Zitat von Tessi Beitrag anzeigen
            Die Busimpedanz stellt für den Modulator eine gewisse Belastung dar, er muss also eine gewisse Leistung abgeben und wird dabei wie jeder Verstärker durch die Verlustleistung aufgeheizt. Es gibt Schnittstellenbausteine (ICs), die überhitzen bis zur Zerstörung wenn man mit ihnen dauerhaft Telegramme sendet.
            [...]
            *hust*

            Das Ding zieht den Bus halt um ca. 8V runter um ne Null zu senden und die Drossel verhindert (aufgrund ihrer Impedanz), dass das Netzteil "zu schnell" nachliefert. Trotzdem wird die Stromsinke (der ASIC) natürlich bei Dauersenden warm, aber alle ASICs (FZE1066, TPUART(2), NCN5120 etc...) haben selber eine Überwachung und stellen das Senden ein. Kaputt geht da definitiv nix (oder gibts für diese Behauptung Belege). Lediglich die diskrete Freebus-Schaltung könnte man tatsächlich auf diese Weise kaputt bekommen. Bitte nicht die Leute kirre machen...

            <Sarkasmus an>
            Wirklich "vollgasfest" (tm) sind hier im Forum nur ganz ausgewählte Komponenten. Alles andere ist verschiedenartige "Grütze" (tm). Scheinbar hat aber das Säen von "FUD" (tm) schon gewirkt.
            <Sarkasmus aus>

            Die alten PEI-Schnittstellen sind vom Timing her kritisch, manche USB-Schnittstellen (wohl ABB?) sind wohl auch mit dem eibd nicht ohne Probleme. Insbesondere die ganzen Schnittstellen mit TPUART sind sehr zuverlässig (also alles was mit "tpuarts" Startparameter gestartet wird).

            Kommentar


              #51
              Also ich habe da noch nichts zerschossen, aber ich meine hier irgendwo schon mal im Zusammenhang mit HS und/oder EibPC gelesen zu haben, das tatsächlich bei zu hoher Sendelast Schnittstellen physikalisch Schaden genommen haben sollen...

              Wäre aber schön, wenn es tatsächlich nicht stimmt und die Schnittstellen einfach nur aufhören zu senden.

              Aber auch das ist für Nutzer von Geräten mit hoher Sendelast ärgerlich, wenn dadurch Telegramme "verloren" gehen...

              Nachtrag:
              Hier der Beitrag mit dem Hinweis auf eine mögliche Zerstörung durch Überlast:
              https://knx-user-forum.de/74953-post4.html
              Ich gehe mal davon aus, das Matthias Schmidt das nicht einfach so behauptet sondern entweder aus eigener Erfahrung spricht oder zumindest aus vertrauenswürdigen Quellen stammende Informationen verwendet.
              Tessi

              Kommentar


                #52
                Braucht die serielle Schnittstelle noch eine bestimmte Einstellung bevor es losgehen kann?

                Ich hab hab das jetzt dreimal kontrolliert und dann erstmal den USB-Seriell-Wandler aus der Grabbelkiste genommen und für den Test direkt an die BCU.

                Klappt auf Anhieb.

                Das geht mit USB:
                eibd -e 1.1.200 -c --tpuarts-disch-reset --tpuarts-ack-all-group -u --trace=5 --pid-file=/var/run/eibd.pid tpuarts:/dev/ttyUSB0 -d
                Das geht nicht über GPIO:
                eibd -e 1.1.200 -c --tpuarts-disch-reset --tpuarts-ack-all-group -u --trace=5 --pid-file=/var/run/eibd.pid tpuarts:/dev/ttyAMA0 -d
                Angehängte Dateien
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  #53
                  jaaa ich hab aut dem Pi noch zwei Punkte angepasst:

                  aus
                  Code:
                  # cat /boot/cmdline.txt_org
                  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
                  folgendes gemacht:
                  Code:
                  # cat /boot/cmdline.txt
                  dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,9600 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
                  und das hier auskommentiert:
                  Code:
                  # cat /etc/inittab | grep ttyAMA
                  #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

                  reboot nötig!

                  Kommentar


                    #54
                    Ja jetzt läuft es ... eine echt preiswerte Schnittstelle

                    Danke!
                    Umgezogen? Ja! ... Fertig? Nein!
                    Baustelle 2.0 !

                    Kommentar


                      #55
                      Zitat von JuMi2006 Beitrag anzeigen
                      Ja jetzt läuft es ... eine echt preiswerte Schnittstelle
                      naja, wenn nicht sogar einen Router

                      Kommentar


                        #56
                        Hallo,

                        geht das ganze mit einem Windowsrechner, VMware player drauf und debian + eibd installieren auch? Den Pegelwandler brauche ich da trotzdem dazu oder?

                        Gruß, Daniel

                        Kommentar


                          #57
                          Hallo,

                          ich habe auf einen x86 rechner Debian installiert und eibd.

                          Den Siemens BCU habe ich über den ADUM1201 mit der seriellen Schnittstelle des PC´s verbunden.

                          für die eibd installation habe ich folgende anleitung verwendet:

                          EIBD und Linux | Freebus


                          Wenn ich jetzt den folgenden befehl absetzte zum starten von eibd:

                          eibd -d -i tpuarts:/dev/ttyS0

                          und ich schreibe eine gruppenadresse mit:

                          groupswrite ip:127.0.0.1 1/1/1 1

                          dann sagt eibd zwar "send request", jedoch tut sich am bus garnichts.


                          Was ich bemerkt habe ist wenn ich mir die einstellungen von der seriellen schnittstelle anschaue dann, steht immer 19200baud.
                          Wenn ich das auf 9600 umschreibe und danach eibd starte, wird die einstellung immer wieder von eibd auf 19200baud umgestellt.

                          Wie kann ich das umstellen?


                          Warum heist bei euch eigentlich die Schnittstelle ttyAMA0?

                          Gruß,

                          Daniel

                          Kommentar


                            #58
                            Was du mal checken solltest:

                            Läuft dein eibd?
                            Code:
                            # ps -ef | grep eibd
                            root     13310 13308  0 00:01 pts/0    00:00:00 grep eibd
                            root     20148     1  0 May01 ?        00:00:15 eibd -d -i tpuarts:/dev/ttyS0

                            hört er auch auf Port 6720 zu?
                            Code:
                            # netstat -tulpen | grep eibd
                            tcp        0      0 0.0.0.0:6720            0.0.0.0:*               LISTEN      0          1957127     20148/eibd
                            udp        0      0 0.0.0.0:3671            0.0.0.0:*                           0          1957129     20148/eibd
                            logfile aktivieren:
                            Code:
                            eibd ... --daemon=/var/log/eibd.log --trace=5
                            siehst du hier sonstige Bus Aktivitäten?

                            wo hast du die 9600 umgestellt?

                            ttyS0 = x86 System
                            ttyAMA0 = ARM sprich Raspberry

                            Kommentar


                              #59
                              eibd läuft:

                              Code:
                              root@eibd:~# ps -ef | grep eibd
                              root      1832     1  0 11:02 ?        00:00:00 eibd -d -i tpuarts:/dev/ttyS0
                              root      1834  1475  0 11:03 pts/0    00:00:00 grep eibd
                              netstat schaut bei mir so aus:

                              Code:
                              root@eibd:~# netstat -tulpen | grep eibd
                              tcp        0      0 0.0.0.0:6720            0.0.0.0:*               LISTEN      0          6006        1832/eibd
                              das log schaut so aus:


                              Code:
                              Layer 2(090F5668,5199E7D1) Open
                              Layer 2(090F5668,5199E7D1) Openend
                              Layer 2(090F5668,5199E7D1) open-reset(001): 01
                              Layer 0(090F5668,5199E7D1) Recv(001): 01
                              Layer 0(090F5668,5199E7D1) Remove 01
                              Layer 2(090F5668,5199E7D1) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E7D1) Recv(001): 02
                              Layer 0(090F5668,5199E7D1) Remove 02
                              Layer 2(090F5668,5199E7DB) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E7DB) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E7DB) Recv(002): 01 02
                              Layer 0(090F5668,5199E7DB) Remove 01
                              Layer 0(090F5668,5199E7DB) Remove 02
                              Layer 2(090F5668,5199E7E5) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E7E5) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E7E5) Recv(002): 01 02
                              Layer 0(090F5668,5199E7E5) Remove 01
                              Layer 0(090F5668,5199E7E5) Remove 02
                              Layer 2(090F5668,5199E7EF) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E7EF) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E7EF) Recv(002): 01 02
                              Layer 0(090F5668,5199E7EF) Remove 01
                              Layer 0(090F5668,5199E7EF) Remove 02
                              Layer 2(090F5668,5199E7F9) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E7F9) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E7F9) Recv(002): 01 02
                              Layer 0(090F5668,5199E7F9) Remove 01
                              Layer 0(090F5668,5199E7F9) Remove 02
                              Layer 2(090F5668,5199E803) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E803) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E803) Recv(002): 01 02
                              Layer 0(090F5668,5199E803) Remove 01
                              Layer 0(090F5668,5199E803) Remove 02
                              Layer 2(090F5668,5199E80D) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E80D) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E80D) Recv(002): 01 02
                              Layer 0(090F5668,5199E80D) Remove 01
                              Layer 0(090F5668,5199E80D) Remove 02
                              Layer 2(090F5668,5199E817) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E817) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E817) Recv(002): 01 02
                              Layer 0(090F5668,5199E817) Remove 01
                              Layer 0(090F5668,5199E817) Remove 02
                              Layer 2(090F5668,5199E821) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E821) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E821) Recv(002): 01 02
                              Layer 0(090F5668,5199E821) Remove 01
                              Layer 0(090F5668,5199E821) Remove 02
                              Layer 2(090F5668,5199E82B) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E82B) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E82B) Recv(002): 01 02
                              Layer 0(090F5668,5199E82B) Remove 01
                              Layer 0(090F5668,5199E82B) Remove 02
                              Layer 2(090F5668,5199E835) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E835) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E835) Recv(002): 01 02
                              Layer 0(090F5668,5199E835) Remove 01
                              Layer 0(090F5668,5199E835) Remove 02
                              Layer 2(090F5668,5199E83F) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E83F) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E83F) Recv(002): 01 02
                              Layer 0(090F5668,5199E83F) Remove 01
                              Layer 0(090F5668,5199E83F) Remove 02
                              Layer 2(090F5668,5199E849) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E849) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E849) Recv(002): 01 02
                              Layer 0(090F5668,5199E849) Remove 01
                              Layer 0(090F5668,5199E849) Remove 02
                              Layer 2(090F5668,5199E854) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E854) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E854) Recv(001): 01
                              Layer 0(090F5668,5199E854) Remove 01
                              Layer 0(090F5668,5199E854) Recv(001): 02
                              Layer 0(090F5668,5199E854) Remove 02
                              Layer 2(090F5668,5199E85E) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E85E) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E85E) Recv(002): 01 02
                              Layer 0(090F5668,5199E85E) Remove 01
                              Layer 0(090F5668,5199E85E) Remove 02
                              Layer 2(090F5668,5199E868) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E868) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E868) Recv(001): 01
                              Layer 0(090F5668,5199E868) Remove 01
                              Layer 0(090F5668,5199E868) Recv(001): 02
                              Layer 0(090F5668,5199E868) Remove 02
                              Layer 2(090F5668,5199E872) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E872) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E872) Recv(002): 01 02
                              Layer 0(090F5668,5199E872) Remove 01
                              Layer 0(090F5668,5199E872) Remove 02
                              Layer 2(090F5668,5199E87C) Watchdog Reset(001): 01
                              Layer 2(090F5668,5199E87C) Watchdog Status(001): 02
                              Layer 0(090F5668,5199E87C) Recv(002): 01 02
                              Layer 0(090F566
                              auf 9600baud habe ich noch nicht umgestellt, weil ich nicht weis wo ich die in eibd einstellen kann.

                              wenn ich die mit

                              Code:
                              stty -F /dev/ttyS0 9600
                              umstelle und danach eibd wieder starte, ist es wieder auf 19200 eingestellt


                              Gruß,

                              Daniel

                              Kommentar


                                #60
                                Zitat von danczi Beitrag anzeigen
                                ich habe auf einen x86 rechner Debian installiert und eibd.

                                Den Siemens BCU habe ich über den ADUM1201 mit der seriellen Schnittstelle des PC´s verbunden.
                                "Serielle Schnittstelle" arbeitet mit -12V/+12V über MAX3232 oder Ähnliche - bestenfalls ist nur der ADUM1201 hinüber.

                                Da fehlt ein MAX3232 um das Ganze auf die richtigen Pegel zurück zu bringen (-12V -> 3,3V, +12V -> 0V). Dann den ADUM dran - der funktioniert auch mit 5V wenn du einen MAX232 nimmst (5V-Pegel!).

                                "Einfach irgendwie" ist problematisch...

                                Kommentar

                                Lädt...
                                X