Ankündigung

Einklappen
Keine Ankündigung bisher.

eibd auf Raspberry Pi

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

    KNX/EIB eibd auf Raspberry Pi

    Hallo!

    Habe endlich etwas Zeit gefunden mit meinem Pi und eibd zu experimentieren.
    Für die Installation von eibd habe ich mich an diese Anleitung gehalten:
    KNX/EIB Gateway with Raspberry PIMichls Tech Blog

    Im Startskript von eibd sind folgende Parameter eingestellt:
    Code:
    export EIBD_OPTIONS="-d -D -T -R -S -i -u --eibaddr=1.1.128 tpuarts:/dev/ttyAMA0"
    Nach einem Reboot und eingabe von "ps ax|grep eibd" erhält man mit diesen Optionen folgende Ausgabe:
    Code:
    pi@raspberrypi ~ $ ps ax|grep eibd
     2012 ?        Ss     0:00 /usr/local/bin/eibd -d -D -T -R -S -i -u --eibaddr=1.1.128 tpuarts:/dev/ttyAMA0
     2149 pts/0    S+     0:00 grep --color=auto eibd
    pi@raspberrypi ~ $
    Sobald ich die eibd-Optionen jedoch auf den TPUART ändere und das System neu Starte war's das.
    Man erhält nur noch folgende Ausgabe:
    Code:
    pi@raspberrypi ~ $ ps ax|grep eibd
     2146 pts/0    S+     0:00 grep --color=auto eibd
    Als Optionen habe ich die von mumpf probiert:
    Code:
    #export EIBD_OPTIONS="-i -D -T -S -d --eibaddr=1.1.255 tpuarts:/dev/ttyACM0"
    Oder von der Default-Einstellung einfach nur den DeviceNamen:
    Code:
    export EIBD_OPTIONS="d -D -T -R -S -i -u --eibaddr=1.1.255 tpuarts:/dev/ttyACM0"
    Beides führt zum selben Ergebnis.

    Könnt ihr mir bitte weiterhelfen?

    Danke und Grüße
    NehCoy

    #2
    Hi,

    Edit:
    (Welches TPUART hast Du den angeschlossen?
    Die ROT-extension?)

    Das TPUART aus dem Link oben?

    was zeigt den:

    Code:
    ls -al /dev/tty*
    ls -al /dev/a*
    Gruß
    Lapheus

    Kommentar


      #3
      Hallo Lapheus,

      danke für deine Antwort!
      Ich habe weder den einen noch den anderen TPUART.
      Haben das USB-Modul "TPUART" (TUL) von Busware (Produktseite).

      Zu deiner anderen Rückfrage:
      Code:
      pi@raspberrypi ~ $ ls -al /dev/tty*
      crw-rw-rw- 1 root root      5,  0 Jan  1  1970 /dev/tty
      crw------- 1 root root      4,  0 Jan  1  1970 /dev/tty0
      crw-rw---- 1 root tty       4,  1 Jul 20 17:17 /dev/tty1
      crw------- 1 root root      4, 10 Jan  1  1970 /dev/tty10
      crw------- 1 root root      4, 11 Jan  1  1970 /dev/tty11
      crw------- 1 root root      4, 12 Jan  1  1970 /dev/tty12
      crw------- 1 root root      4, 13 Jan  1  1970 /dev/tty13
      crw------- 1 root root      4, 14 Jan  1  1970 /dev/tty14
      crw------- 1 root root      4, 15 Jan  1  1970 /dev/tty15
      crw------- 1 root root      4, 16 Jan  1  1970 /dev/tty16
      crw------- 1 root root      4, 17 Jan  1  1970 /dev/tty17
      crw------- 1 root root      4, 18 Jan  1  1970 /dev/tty18
      crw------- 1 root root      4, 19 Jan  1  1970 /dev/tty19
      crw-rw---- 1 root tty       4,  2 Jul 20 17:17 /dev/tty2
      crw------- 1 root root      4, 20 Jan  1  1970 /dev/tty20
      crw------- 1 root root      4, 21 Jan  1  1970 /dev/tty21
      crw------- 1 root root      4, 22 Jan  1  1970 /dev/tty22
      crw------- 1 root root      4, 23 Jan  1  1970 /dev/tty23
      crw------- 1 root root      4, 24 Jan  1  1970 /dev/tty24
      crw------- 1 root root      4, 25 Jan  1  1970 /dev/tty25
      crw------- 1 root root      4, 26 Jan  1  1970 /dev/tty26
      crw------- 1 root root      4, 27 Jan  1  1970 /dev/tty27
      crw------- 1 root root      4, 28 Jan  1  1970 /dev/tty28
      crw------- 1 root root      4, 29 Jan  1  1970 /dev/tty29
      crw-rw---- 1 root tty       4,  3 Jul 20 17:17 /dev/tty3
      crw------- 1 root root      4, 30 Jan  1  1970 /dev/tty30
      crw------- 1 root root      4, 31 Jan  1  1970 /dev/tty31
      crw------- 1 root root      4, 32 Jan  1  1970 /dev/tty32
      crw------- 1 root root      4, 33 Jan  1  1970 /dev/tty33
      crw------- 1 root root      4, 34 Jan  1  1970 /dev/tty34
      crw------- 1 root root      4, 35 Jan  1  1970 /dev/tty35
      crw------- 1 root root      4, 36 Jan  1  1970 /dev/tty36
      crw------- 1 root root      4, 37 Jan  1  1970 /dev/tty37
      crw------- 1 root root      4, 38 Jan  1  1970 /dev/tty38
      crw------- 1 root root      4, 39 Jan  1  1970 /dev/tty39
      crw-rw---- 1 root tty       4,  4 Jul 20 17:17 /dev/tty4
      crw------- 1 root root      4, 40 Jan  1  1970 /dev/tty40
      crw------- 1 root root      4, 41 Jan  1  1970 /dev/tty41
      crw------- 1 root root      4, 42 Jan  1  1970 /dev/tty42
      crw------- 1 root root      4, 43 Jan  1  1970 /dev/tty43
      crw------- 1 root root      4, 44 Jan  1  1970 /dev/tty44
      crw------- 1 root root      4, 45 Jan  1  1970 /dev/tty45
      crw------- 1 root root      4, 46 Jan  1  1970 /dev/tty46
      crw------- 1 root root      4, 47 Jan  1  1970 /dev/tty47
      crw------- 1 root root      4, 48 Jan  1  1970 /dev/tty48
      crw------- 1 root root      4, 49 Jan  1  1970 /dev/tty49
      crw-rw---- 1 root tty       4,  5 Jul 20 17:17 /dev/tty5
      crw------- 1 root root      4, 50 Jan  1  1970 /dev/tty50
      crw------- 1 root root      4, 51 Jan  1  1970 /dev/tty51
      crw------- 1 root root      4, 52 Jan  1  1970 /dev/tty52
      crw------- 1 root root      4, 53 Jan  1  1970 /dev/tty53
      crw------- 1 root root      4, 54 Jan  1  1970 /dev/tty54
      crw------- 1 root root      4, 55 Jan  1  1970 /dev/tty55
      crw------- 1 root root      4, 56 Jan  1  1970 /dev/tty56
      crw------- 1 root root      4, 57 Jan  1  1970 /dev/tty57
      crw------- 1 root root      4, 58 Jan  1  1970 /dev/tty58
      crw------- 1 root root      4, 59 Jan  1  1970 /dev/tty59
      crw-rw---- 1 root tty       4,  6 Jul 20 17:17 /dev/tty6
      crw------- 1 root root      4, 60 Jan  1  1970 /dev/tty60
      crw------- 1 root root      4, 61 Jan  1  1970 /dev/tty61
      crw------- 1 root root      4, 62 Jan  1  1970 /dev/tty62
      crw------- 1 root root      4, 63 Jan  1  1970 /dev/tty63
      crw------- 1 root root      4,  7 Jan  1  1970 /dev/tty7
      crw------- 1 root root      4,  8 Jan  1  1970 /dev/tty8
      crw------- 1 root root      4,  9 Jan  1  1970 /dev/tty9
      crw-rw---T 1 root dialout 166,  0 Jan  1  1970 /dev/ttyACM0
      crw-rw---T 1 root dialout 204, 64 Jan  1  1970 /dev/ttyAMA0
      crw-rw---T 1 root dialout   5,  3 Jan  1  1970 /dev/ttyprintk
      pi@raspberrypi ~ $
      Code:
      pi@raspberrypi ~ $ ls -al /dev/a*
      crw------- 1 root root 10, 235 Jan  1  1970 /dev/autofs
      Hilft dir das weiter?

      Danke & Grüße
      NehCoy

      Kommentar


        #4
        Auf einer anderen SD-Karte habe ich FHEM installiert.
        Die Konfiguration von FHEM lautet wie folgt:
        Code:
        tul:/dev/ttyACM0@19200
        Desweiteren sehen die TTY's wie folgt aus:
        Code:
        pi@raspberrypi ~ $ ls -al /dev/tty*
        crw-rw-rw- 1 root root      5,  0 Jan  1  1970 /dev/tty
        crw------- 1 root root      4,  0 Jan  1  1970 /dev/tty0
        crw-rw---- 1 root tty       4,  1 Jul 21 17:17 /dev/tty1
        crw------- 1 root root      4, 10 Jan  1  1970 /dev/tty10
        crw------- 1 root root      4, 11 Jan  1  1970 /dev/tty11
        crw------- 1 root root      4, 12 Jan  1  1970 /dev/tty12
        crw------- 1 root root      4, 13 Jan  1  1970 /dev/tty13
        crw------- 1 root root      4, 14 Jan  1  1970 /dev/tty14
        crw------- 1 root root      4, 15 Jan  1  1970 /dev/tty15
        crw------- 1 root root      4, 16 Jan  1  1970 /dev/tty16
        crw------- 1 root root      4, 17 Jan  1  1970 /dev/tty17
        crw------- 1 root root      4, 18 Jan  1  1970 /dev/tty18
        crw------- 1 root root      4, 19 Jan  1  1970 /dev/tty19
        crw-rw---- 1 root tty       4,  2 Jul 21 17:17 /dev/tty2
        crw------- 1 root root      4, 20 Jan  1  1970 /dev/tty20
        crw------- 1 root root      4, 21 Jan  1  1970 /dev/tty21
        crw------- 1 root root      4, 22 Jan  1  1970 /dev/tty22
        crw------- 1 root root      4, 23 Jan  1  1970 /dev/tty23
        crw------- 1 root root      4, 24 Jan  1  1970 /dev/tty24
        crw------- 1 root root      4, 25 Jan  1  1970 /dev/tty25
        crw------- 1 root root      4, 26 Jan  1  1970 /dev/tty26
        crw------- 1 root root      4, 27 Jan  1  1970 /dev/tty27
        crw------- 1 root root      4, 28 Jan  1  1970 /dev/tty28
        crw------- 1 root root      4, 29 Jan  1  1970 /dev/tty29
        crw-rw---- 1 root tty       4,  3 Jul 21 17:17 /dev/tty3
        crw------- 1 root root      4, 30 Jan  1  1970 /dev/tty30
        crw------- 1 root root      4, 31 Jan  1  1970 /dev/tty31
        crw------- 1 root root      4, 32 Jan  1  1970 /dev/tty32
        crw------- 1 root root      4, 33 Jan  1  1970 /dev/tty33
        crw------- 1 root root      4, 34 Jan  1  1970 /dev/tty34
        crw------- 1 root root      4, 35 Jan  1  1970 /dev/tty35
        crw------- 1 root root      4, 36 Jan  1  1970 /dev/tty36
        crw------- 1 root root      4, 37 Jan  1  1970 /dev/tty37
        crw------- 1 root root      4, 38 Jan  1  1970 /dev/tty38
        crw------- 1 root root      4, 39 Jan  1  1970 /dev/tty39
        crw-rw---- 1 root tty       4,  4 Jul 21 17:17 /dev/tty4
        crw------- 1 root root      4, 40 Jan  1  1970 /dev/tty40
        crw------- 1 root root      4, 41 Jan  1  1970 /dev/tty41
        crw------- 1 root root      4, 42 Jan  1  1970 /dev/tty42
        crw------- 1 root root      4, 43 Jan  1  1970 /dev/tty43
        crw------- 1 root root      4, 44 Jan  1  1970 /dev/tty44
        crw------- 1 root root      4, 45 Jan  1  1970 /dev/tty45
        crw------- 1 root root      4, 46 Jan  1  1970 /dev/tty46
        crw------- 1 root root      4, 47 Jan  1  1970 /dev/tty47
        crw------- 1 root root      4, 48 Jan  1  1970 /dev/tty48
        crw------- 1 root root      4, 49 Jan  1  1970 /dev/tty49
        crw-rw---- 1 root tty       4,  5 Jul 21 17:17 /dev/tty5
        crw------- 1 root root      4, 50 Jan  1  1970 /dev/tty50
        crw------- 1 root root      4, 51 Jan  1  1970 /dev/tty51
        crw------- 1 root root      4, 52 Jan  1  1970 /dev/tty52
        crw------- 1 root root      4, 53 Jan  1  1970 /dev/tty53
        crw------- 1 root root      4, 54 Jan  1  1970 /dev/tty54
        crw------- 1 root root      4, 55 Jan  1  1970 /dev/tty55
        crw------- 1 root root      4, 56 Jan  1  1970 /dev/tty56
        crw------- 1 root root      4, 57 Jan  1  1970 /dev/tty57
        crw------- 1 root root      4, 58 Jan  1  1970 /dev/tty58
        crw------- 1 root root      4, 59 Jan  1  1970 /dev/tty59
        crw-rw---- 1 root tty       4,  6 Jul 21 17:17 /dev/tty6
        crw------- 1 root root      4, 60 Jan  1  1970 /dev/tty60
        crw------- 1 root root      4, 61 Jan  1  1970 /dev/tty61
        crw------- 1 root root      4, 62 Jan  1  1970 /dev/tty62
        crw------- 1 root root      4, 63 Jan  1  1970 /dev/tty63
        crw------- 1 root root      4,  7 Jan  1  1970 /dev/tty7
        crw------- 1 root root      4,  8 Jan  1  1970 /dev/tty8
        crw------- 1 root root      4,  9 Jan  1  1970 /dev/tty9
        crw-rw---T 1 root dialout 166,  0 Jan  1  1970 /dev/ttyACM0
        crw-rw---- 1 root tty     204, 64 Jul 21 18:12 /dev/ttyAMA0
        crw-rw---T 1 root dialout   5,  3 Jan  1  1970 /dev/ttyprintk
        Code:
        pi@raspberrypi ~ $ ls -al /dev/a*
        crw------- 1 root root 10, 235 Jan  1  1970 /dev/autofs

        Viele Grüße
        NehCoy

        Kommentar


          #5
          Hallo nochmal,

          auf der Produkteseite des TUL habe ich ebenfalls einen Konfigurationshinweis gefunden:
          Code:
          eibd -i -D -T -S -e 1.1.251 tpuarts:/dev/ttyACM0
          Aber auch diese Parameter funktionieren nicht. :-(

          In den Logfiles
          /var/daemon.log
          /var/syslog
          /var/messages
          habe ich keinen Eintrag bzgl. "eibd" gefunden.

          Viele Grüße
          NehCoy

          Kommentar


            #6
            Hm....
            Es muss irgendwie mit dem Startskript zusammenhängen.
            Gebe ich in der Konsole den Befehl
            Code:
            eibd -i -D -T -S -e 1.1.251 tpuarts:/dev/ttyACM0
            ein scheint eibd gestartet zu werden.
            Der Aufruf ist jedoch blockierend.

            Wenn ich also eine zweite SSH-Verbindung aufbaue und in der Konsole "ps ax|grep eibd" eingebe, erhalte ich:
            Code:
            pi@raspberrypi ~ $ ps ax|grep eibd
             2172 pts/0    S+     0:00 eibd -i -D -T -S -e 1.1.251 tpuarts:/dev/ttyACM0
             2194 pts/1    S+     0:00 grep --color=auto eibd


            Und ich sehe auch Protokolle auf dem Bus:
            Code:
            pi@raspberrypi ~ $ vbusmonitor1 ip:localhost
            LPDU: BC 11 16 12 05 E1 00 81 33 :L_Data low from 1.1.22 to 2/2/5 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
            LPDU: BC 11 03 32 09 E1 00 81 0A :L_Data low from 1.1.3 to 6/2/9 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
            LPDU: 9C 11 03 32 09 E1 00 81 2A :L_Data (repeated) low from 1.1.3 to 6/2/9 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
            ...
            Es scheint also alles zu funktionieren ... bis auf den korrekten automatischen Start!

            Hier Vorschläge/Ideen?

            Danke & Grüße
            NehCoy

            Kommentar


              #7
              Hallo Jo,

              ein paar Anmerkungen, suchen mußt Du selbst:

              • In dem Link aus dem ersten Post, hier wird /dev/ttyAMA0 genutzt, gibt es bei Dir ja auch, damit klappt es so nicht?
              • Passen die Berechtigungen für den eibd User den das InstallScipt anlegt?
              • Nutzt du das initscipt aus der Anleitung? Ist der User darin benutzt?
              • Der eibd des Installscipts ist als standard ohne USB kompiliert oder hast Du das angepasst? Weis aber nicht ob es notwendig ist.

              Ein Log vom eibd wäre auch hilfreich, um zu sehen was er macht?
              Gruß
              Lapheus

              Kommentar


                #8
                Zitat von NehCoy Beitrag anzeigen
                Hm....
                Es muss irgendwie mit dem Startskript zusammenhängen.
                Gebe ich in der Konsole den Befehl
                Code:
                eibd -i -D -T -S -e 1.1.251 tpuarts:/dev/ttyACM0
                ein scheint eibd gestartet zu werden.
                Der Aufruf ist jedoch blockierend.
                Aus der Anleitung:
                • Add a user eibd with group membership dialout (to access serial device /dev/ttyAMA0)

                Berechtigung für den User des initscripts auf das Device anpassen.
                Gruß
                Lapheus

                Kommentar


                  #9
                  Hallo NehCoy,

                  ich musste unter Ubuntu folgendes ins Startscript mit der seriellen eintragen (hab ne TPUART):

                  Code:
                  do_start()
                  {
                  # Return
                  # 0 if daemon has been started
                  # 1 if daemon was already running
                  # 2 if daemon could not be started
                  
                  # ose: First we have to release ttyS0
                  sleep 1
                  setserial /dev/ttyS0 uart none
                  setserial /dev/ttyS0 autoconfig
                  
                  start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
                  || return 1
                  start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
                  $DAEMON_ARGS \
                  || return 2
                  Findest du auch im Lexikoneintrag eibd ziemlich weit unten.
                  Probiers mal aus - mich hat es geholfen.

                  Und das Startscript möglichst spät starten, z.b. S99eibd.

                  Details im Lexikon.

                  HTH
                  Ciao
                  Olaf
                  Nichts ist so gerecht verteilt, wie der Verstand.
                  Jeder meint, genug davon zu haben.

                  Kommentar


                    #10
                    Hallo NehCoy

                    Ist das Problem mittlerweile gelöst?

                    Kommentar


                      #11
                      Hallo alle zusammen, insbesondere Race666!

                      Tut mir leid, dass ich mich erst nach Wochen wieder melde.
                      Aber da sieht man mal, wie oft ich Gelegenheit habe mich um meine kleinen Projekte zuhause zu kümmern.

                      Das Problem war bis zum Freitag noch immer aktuell.
                      Inzwischen habe ich einen Raspberry Pi B+ und habe auf diesem die Installation noch einmal von vorne durchgeführt.
                      Komischer weise und zu meiner Freude funktioniert hier alles auf Anhieb.
                      Ich weiß nicht, wo mein Fehler damals war!
                      Wichtig ist jedoch, dass ich im Installationsskript die eibd-Konfiguration auf meinen TUL angepasst habe:
                      Code:
                      eibd -i -D -T -S -d --eibaddr=1.1.251 tpuarts:/dev/ttyACM0
                      Das Ergebnis nach einem Reboot sieht dann so aus:
                      Code:
                      pi@raspberrypi ~ $ ps ax|grep eibd
                       2052 ?        Ss     0:10 /usr/local/bin/eibd -i -D -T -S -d --eibaddr=1.1.251 tpuarts:/dev/ttyACM0
                       2236 pts/0    S+     0:00 grep --color=auto eibd
                      pi@raspberrypi ~ $
                      Werde mich jetzt bei Gelegenheit daran machen SmartVisu zu installieren.
                      Bin mal gespannt wie das klappt und ob ich das hinbekomme!
                      (Und nun erstmal ein Backup von meiner SD-Karte ziehen )

                      Danke & Grüße
                      NehCoy

                      Kommentar


                        #12
                        Sehr gut :-)

                        Hallo NehCoy,

                        ok, super wenns jetzt läuft.

                        Ich mußte aktuell das Script auf michlstechblog.info nochmals anpassen da im aktuellen raspbian boot optionen geändert wurden.

                        Race666

                        Kommentar


                          #13
                          Hallo,
                          ich habe ein Mini-Testsystem aufgebaut, das nur aus der Enertex-Busspannungsversorgung und einem Raspberry Pi mit Pigator TPUART Onewire besteht. Weitere Geräte habe ich im Moment noch nicht.
                          Eibd wurde mit dem Skript von Michlstechblog installiert. Alternativ habe ich auch ein fertiges image versucht.
                          root@raspberrypi:/home/pi# ps ax | grep eibd
                          2180 ? Ss 0:04 /usr/local/bin/eibd -d -D -T -R -S -i -u --eibaddr=0.0.1 tpuarts:/dev/ttyAMA0
                          2611 pts/0 S+ 0:00 grep eibd
                          (alternativ habe ich auch andere eibaddr Werte in der /etc/init.d/eibd versucht)

                          ETS 4 erkennt den eibd und beim Klicken auf „Test“ kommt ein OK. Es wird auch ein Routingserver erkannt (der wenn ich das richtig verstehe, nicht da sein sollte?). Versuche ich, dem eibd eine andere Adresse zu geben, erhalte ich eine Fehlermeldung (siehe screenshot). Es gelingt mir auch nicht, die Enertex Busspannungsversorgung in der ETS in Betrieb zu nehmen.

                          ETS.jpg
                          Habe ich einen Denkfehler oder mache ich etwas falsch?
                          Ports 3671 und 3672 sind freigeschaltet.

                          Danke, Ben

                          Kommentar


                            #14
                            Du kannst dem eibd in der ETS keine andere PA zuweisen - ist eine bekannte (und dokumentierte) Einschränkung.

                            Könntest du "Es gelingt mir auch nicht, die Enertex Busspannungsversorgung in der ETS in Betrieb zu nehmen." konkretisieren (was gelingt dir nicht)?

                            Kommentar

                            Lädt...
                            X