Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Bitte um Hilfe bei Schnittstellen anbindung

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

    - √ - Bitte um Hilfe bei Schnittstellen anbindung

    Hallo zusammen,

    Ich brauche mal bitte Hilfe.

    Hier der aktuelle Stand.

    Aktuell habe ich einen alten Linux Rechner im Keller stehen. Auf dem eibd läuft.
    EIBD greift auf ein Serielles TP-UART Interface (Serielles TP-UART Interface für den Anschluss an das WireGate Multifunktionsgateway sowie an den KNX/EIB Installationsbus) auf meinen Bus zu.

    Das funktioniert auch alles Wunderbar.

    Ich habe mir jetzt einen Raspberry PI zugelgt wo das smarthome Image drauf läuft.
    Wenn ich auf dem Raspberry den alten Linux-Rechner als IP-Schnittstelle eintrage kann ich auf den Bus zugreifen.

    Ich würde aber gerne den Linux-Rechner abschalten.


    Nun meine Frage.
    Ist es möglich den Raspberry PI über einen "USB <-> Com Wandler" mit dem Serielles TP-UART Interface zuverbinden, so das der eibD ihn auch ansprechen kann?

    Hier der eibd Eintrag vom Rechner wo die Schnittstelle funktioniert.
    Code:
    #! /bin/sh
    
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    DESC="Description of the service"
    NAME=eibd
    DAEMON=/usr/bin/$NAME
    PIDFILE=/var/run/$NAME.pid
    DAEMON_ARGS="-D -T -S -d -i -p $PIDFILE -e 1.1.254 tpuarts:/dev/ttyS0"
    SCRIPTNAME=/etc/init.d/$NAME
    
    # Exit if the package is not installed
    [ -x "$DAEMON" ] || exit 0
    
    # Read configuration variable file if it is present
    [ -r /etc/default/$NAME ] && . /etc/default/$NAME
    
    # Load the VERBOSE setting and other rcS variables
    . /lib/init/vars.sh
    
    # Define LSB log_* functions.
    # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
    . /lib/lsb/init-functions
    
    #
    # Function that starts the daemon/service
    #
    do_start()
    {
            # Return
            #   0 if daemon has been started
            #   1 if daemon was already running
            #   2 if daemon could not be started
            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
            # Add code here, if necessary, that waits for the process to be ready
            # to handle requests from services started subsequently which depend
            # on this one.  As a last resort, sleep for some time.
    }
    #
    # Function that stops the daemon/service
    #
    do_stop()
    {
            # Return
            #   0 if daemon has been stopped
            #   1 if daemon was already stopped
            #   2 if daemon could not be stopped
            #   other if a failure occurred
            start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
            RETVAL="$?"
            [ "$RETVAL" = 2 ] && return 2
            # Wait for children to finish too if this is a daemon that forks
            # and if the daemon is only ever run from this initscript.
            # If the above conditions are not satisfied then add some other code
            # that waits for the process to drop all resources that could be
            # needed by services started subsequently.  A last resort is to
            # sleep for some time.
            start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
            [ "$?" = 2 ] && return 2
            # Many daemons don't delete their pidfiles when they exit.
            rm -f $PIDFILE
            return "$RETVAL"
    }
    
    #
    # Function that sends a SIGHUP to the daemon/service
    #
    do_reload() {
            #
            # If the daemon can reload its configuration without
            # restarting (for example, when it is sent a SIGHUP),
            # then implement that here.
            #
            start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
            return 0
    }
    
    case "$1" in
      start)
            [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
            do_start
            case "$?" in
                    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
            esac
            ;;
      stop)
            [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
            do_stop
            case "$?" in
                    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
            esac
            ;;
      #reload|force-reload)
            #
            # If do_reload() is not implemented then leave this commented out
            # and leave 'force-reload' as an alias for 'restart'.
            #
            #log_daemon_msg "Reloading $DESC" "$NAME"
            #do_reload
            #log_end_msg $?
            #;;
      restart|force-reload)
            #
            # If the "reload" option is implemented then remove the
            # 'force-reload' alias
            #
            log_daemon_msg "Restarting $DESC" "$NAME"
            do_stop
            case "$?" in
              0|1)
                    do_start
                    case "$?" in
                            0) log_end_msg 0 ;;
                            1) log_end_msg 1 ;; # Old process is still running
                            *) log_end_msg 1 ;; # Failed to start
                    esac
                    ;;
              *)
    
                    # Failed to stop
                    log_end_msg 1
                    ;;
            esac
            ;;
      *)
            #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
            echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
            exit 3
            ;;
    esac
    Ist es Möglich den eibd Eintrag im Raspberry so zu ändern das ich auf die Schnittstelle zugreifen kann???

    Code:
    EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp" 
    EIB_ADDR="0.0.1" 
    EIB_IF="tpuarts:/dev/ttyAMA0"
    Wäre echt super wenn mir jemand weiterhelfen kann.

    Danke

    Gruss
    Oliver

    #2
    Hallo,

    glaube irgendwo gelesen zu haben das es funktioniert, selbst hab ich das noch nie getestet.
    Alternativ könntest du über einen Rs232 TTL Converter direkt an die Uart vom Raspi gehen. Da gibts schon fix fertige Aufsteckplatinen eigens für den Raspi, einfach mal googeln nach zb: "raspberry pi rs232 shield" Preislich ist da nicht arg viel um zu einem USB zu Seriell Converter und ist technisch die schönere und sichere Lösung!

    Kommentar


      #3
      Hallo Bernator,

      Danke für deine Antwort...

      Technisch denke ich auch das es über USB <-> COM Wandler gehen müsste nur wie müsste die Programmierung im eibd aussehen.

      Das mit dem "raspberry pi rs232 shield" klingt schon mal gut, nur wie sieht es da mit der Einbindung aus? Erkennt der Raspi das Modul von selber?

      Gruss
      Oliver

      Kommentar


        #4
        Nicht ganz so simpel aber für gut befunden ist diese Lösung:
        https://knx-user-forum.de/knx-eib-fo...berry-bcu.html

        Mit einem Materialaufwand von weniger als 40€ auch wirklich preiswert.
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          #5
          du musst dem eibd natürlich sagen auf welche Schnittstelle er zugreifen soll: HowToStart - smartvisu - Kurzanleitung für den Start mit Smarthome.py - smartVISU is a visualisation framework for KNX - Google Project Hosting

          EIB_IF="tpuarts:/dev/ttyAMA0" für rs232 tp uart auf pegelwandler und Raspi UART
          EIB_IF="tpuarts:/dev/ttyUSB0" für rs232 tp uart auf usb serial converter auf usb port

          Kommentar


            #6
            Danke. Läuft.

            Gruss
            Oliver

            Kommentar


              #7
              Np, mit dem usb converter?

              Kommentar


                #8
                Ja mit dem USB auf Serial converter.

                Gesendet von meinem HTC One mit Tapatalk

                Kommentar

                Lädt...
                X