Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. GPIO's Steuern 16chRelais12V über RasPi o. Rock64

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    GPIO's Steuern 16chRelais12V über RasPi o. Rock64

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DiveDancer last edited by DiveDancer

      Dann vielleicht erstmal das funktionierende nutzbar machen.

      Wie setze ich die Befehle:
      echo "in" > gpio2/direction
      echo "out" > gpio2/direction
      ...die nur in dem Pfad:
      sys/class/gpio
      ...im Slave funktionieren
      im Blockly ein?

      Das Blockly läuft auf dem Host:
      192.168.1.host
      Der Pfad liegt auf dem Slave:
      192.168.1.slave

      Wie muss also mein Befehl im Javascript (Variabel oder Funktion) unter Blockly lauten?
      Und wie wende ich das Modul im Blockly an?

      Sowas wie:
      @192.168.1.slave sys/class/gpio/ echo "in" > gpio2/direction

      Bebilderte Beispiele sind bevorzugt, gerne gesehen. 😉

      Vielleicht erst mal hierzu einer eine Idee?

      So viele Bäume hier, wo war noch mal der Wald!?

      1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active last edited by SBorg

        Wie gut sind denn deine Linux-Kenntnisse?
        Versuche mal vom Host im Terminal: ssh root@192.168.1.slave 'cd /sys/class/gpio && echo "in" > gpio2/direction'

        liv-in-sky D 2 Replies Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @SBorg last edited by

          @DiveDancer
          soweit ich das verstanden habe, wird bei multihost der exec() befehl ausgeführt, auf dem server, auf dem der javascript adapter installiert wurde

          d.b. wenn du einen js-adapter auf dem slave installierst, kannst du direkt einen exec. ausführen. einfach beim erstellen des scripts auf den js-adapter achten!

          wenn der befehl keinen root bzw sudo zugriff braucht, sollte es direkt laufen

          Image 4.png

          im log sieht man die antwort des servers ! einfach eine variable result anlegen

          du gibst den befehl im blockly genau so ein, wie auf der console - bei befehlen, die root oder sudo benuzen und das fixer-script gelaufen ist, werden noch weitere einstellungen benötigt - aber erst mal so versuchen

          ich habe keinen multihost zum testen- aber hier mal ein thread wegen der installation des adapters - weiß nicht, wie aktuell der ist
          https://forum.iobroker.net/topic/15651/adapter-für-multihost-installieren-hier-backitup

          D 1 Reply Last reply Reply Quote 0
          • D
            DiveDancer @SBorg last edited by DiveDancer

            @SBorg sagte in GPIO's Steuern 16chRelais12V über RasPi o. Rock64:

            Wie gut sind denn deine Linux-Kenntnisse?

            Versuche mal ...

            Leider sind meine Linux Kenntnisse Mies.

            root@Rock64:~# ssh pi@192.168.1.slave 'cd /sys/class/gpio && echo "in" > gpio2/direction'
            pi@192.168.1.slave's password:
            bash: gpio2/direction: Datei oder Verzeichnis nicht gefunden
            root@Rock64:~#
            

            Mein erster Versuch schlug fehl.

            Lösung des Problems war, dass der Rpi2.0 Adapter Deaktiviert war.

            Dann schaltete das Relais (gpio2) mit selbigem Befehl nach angabe des Passwortes.
            Erster Test also erfolgreich. 😉

            1 Reply Last reply Reply Quote 0
            • D
              DiveDancer @liv-in-sky last edited by DiveDancer

              @liv-in-sky

              Super, in der Konstellation läuft es schon mal.

              Ich hatte den Javascript Adapter in zweiter Instanz bereits installiert, ihn jedoch deaktiviert.
              Hab ihn einfach unter Instanzen auf den Slave gelegt und aktiviert.
              Nach einigen Sekunden wurde der Adapter grün.
              Ich musste noch in den Einstellungen des jacascript.1 Adapters das 'Erlaube das Kommando "exec" AN-haken.

              103.png
              Hier schaltet mein Relais dauerhaft im ein Sekunden Takt.

              Schalten kann ich also schon mal.

              Nur leider kann ich keinen Status abfragen.

              1 Reply Last reply Reply Quote 0
              • D
                DiveDancer last edited by

                Mache ich im rpi2.0 Adapter etwas falsch?

                104.png
                105.png
                106.png
                Alle aktivierten Ports tauchen unter Objekte auf.
                107.png
                Jeder Port hat zwei Einträge.
                108.png
                Nach Dutzenden Schaltungen von Relais 2 ist hier leider nichts vermerkt.

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @DiveDancer last edited by

                  @DiveDancer ich habe keinen raspi - vielleicht meldet sich noch jmd, der das benutzt

                  aber - hast du den rpi2 auf dem slave installiert ?

                  D 1 Reply Last reply Reply Quote 0
                  • SBorg
                    SBorg Forum Testing Most Active last edited by

                    Zumindest kriegen wir das hin 🙂
                    Ich nutze den Adapter nicht, deswegen nur mal so eine Vermutung. Was passiert denn wenn du bei dem "state" des GPIO-Ports (letzte Hardcopy) hinten mal ein "true" einträgst? Ich tippe stark darauf, dass dein Relais schaltet...
                    ...und wahrscheinlich wird der Schaltzustand nirgends angezeigt. Kriegen wir ev. aber auch noch hin, nur eins nach dem anderen 🙂

                    1 Reply Last reply Reply Quote 0
                    • D
                      DiveDancer @liv-in-sky last edited by DiveDancer

                      @liv-in-sky sagte in GPIO's Steuern 16chRelais12V über RasPi o. Rock64:

                      @DiveDancer ich habe keinen raspi - vielleicht meldet sich noch jmd, der das benutzt

                      aber - hast du den rpi2 auf dem slave installiert ?

                      Ja, das 'Tijger' steht bei Instanzen unter Server für den Slave (RasPi 3b)
                      Und das 'Rock64' für den Host.
                      (Siehe erstes Bild)

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @DiveDancer last edited by

                        @DiveDancer hast du mal das von @sborg probiert - kannst du über die objekte unter dem rpi die gpio schalten?

                        1 Reply Last reply Reply Quote 0
                        • D
                          DiveDancer last edited by DiveDancer

                          @SBorg

                          Wie schon im Startpost geschrieben,
                          lassen sich die Relais mit den Einträgen in den Objekten nicht schalten.
                          Weder mit isinput noch unter state.
                          Ich kann jeweils true oder false eintragen, einen Schaltvorgang bewirkt das jedoch nicht. 😞

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @DiveDancer last edited by

                            @DiveDancer gibt den das log etwas her ?

                            wenn du den rpi mal auf debug bei instanzen schaltest - kommt da irgendetwas

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              DiveDancer last edited by

                              Entweder blicke ich den Adapter nicht,
                              oder es liegt an meinem Relais was eventuell
                              vom Adapter nicht unterstützt wird.
                              Es gibr zwei verschiedene Arten von Relais (High oder Low).
                              Welches ich nutze weiß ich leider nicht.
                              Nur die wenigsten Händler zeichnen dies aus.

                              Folgendes Verhalten habe ich nun herauskristallisiert!
                              Stehen in den Einstellungen des rpi2.0 Adapters alle gpio Ausgänge auf aktiv und OUT dann lassen sich die Relais schalten.
                              out bewirkt das die Relais angezogen werden.
                              in setzt das Relais zurück den Ruhezustand.
                              Unter Objekten wird keine Statusänderung angezeigt!
                              109.png
                              Schalte ich in den Einstellungen (Bild) auch nur einen Port der genutzten Relais (gpio's) von OUT auf IN,
                              ziehen alle Relais (alle 16) an.

                              Wenn ich nun per Script oder ssh die Relais schalte passiert folgendes:

                              Der Status lässt sich auch weiterhin nicht über die Objekte steuern.
                              Die Statusänderung wird unter Objekten angezeigt. Yeah 😞
                              Das schalten auf in schaltet das Relais für den Bruchteil einer Sekunde auf den Ruhemodus, wird aber augenblicklich wieder angezogen. Den gleichen Status den die Restlichen 15 einfach beibehalten haben.

                              1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky last edited by liv-in-sky

                                hast du mal im forum gesucht: die haben "alle" viele probleme damit z.b.

                                https://forum.iobroker.net/topic/5054/rpi-2-0-gpios-können-nicht-angesteuert-werden/22
                                https://forum.iobroker.net/topic/9691/rpi2-0-einige-gpios-sind-mit-raspberry-3-nicht-schaltbar?page=1

                                sorry - aber ich glaube, ich bin da keine hilfe mehr - viel glück

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  DiveDancer @liv-in-sky last edited by

                                  @liv-in-sky sagte in GPIO's Steuern 16chRelais12V über RasPi o. Rock64:

                                  @DiveDancer gibt den das log etwas her ?

                                  wenn du den rpi mal auf debug bei instanzen schaltest - kommt da irgendetwas

                                  Nein, ich glaube nicht,
                                  während im Hintergrund ein Lauflicht Script läuft das die Relais der Reihe nach schaltet scheint mir der LOG Eintrag nichts gravierendes zu zeigen.
                                  110.png

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    DiveDancer @liv-in-sky last edited by

                                    @liv-in-sky sagte in GPIO's Steuern 16chRelais12V über RasPi o. Rock64:

                                    hast du mal im forum gesucht: die haben "alle" viele probleme damit z.b.

                                    https://forum.iobroker.net/topic/5054/rpi-2-0-gpios-können-nicht-angesteuert-werden/22
                                    https://forum.iobroker.net/topic/9691/rpi2-0-einige-gpios-sind-mit-raspberry-3-nicht-schaltbar?page=1

                                    sorry - aber ich glaube, ich bin da keine hilfe mehr - viel glück

                                    Ja, recherchiert habe ich.
                                    Deswegen habe ich diesen Thread eröffnet um irgendeinen nutzbaren Weg zu finden.

                                    Du hast mir aber schon sehr geholfen.
                                    also Danke schon mal.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      DiveDancer last edited by

                                      Der Adapter legt kein logisches Verhalten an den Tag.

                                      Ich dachte schon ich könnte jubeln.
                                      Nachdem ich nun alle (16) genutzten gpio's im Adapter von OUT auf IN gestellt hatte,
                                      wurden mit dem Speichern alle Relais in den Ruhezustand versetzt.

                                      Mei erstes Script:
                                      111.png
                                      Zog nun der Rehe nach ein Relais nach dem anderen an.
                                      Etwas komisch fand ich zwar das dies im ca. Sekunden Takt geschah, obwohl ich doch gar keine Verzögerung eingebaut hatte,.
                                      aber shit happens.

                                      Mein zweites Script jedoch was mit dem ersten Identisch ist, bis auf den Zustand der nicht mehr auf auf OUT sondern nun auf IN steuern sollte brachte nicht den gewünschten Erfolg:
                                      Das erste der angezogenen Relais bekommt den Befehl des Lösens und löst. Aber augenblicklich wird das Relais wieder angezogen.
                                      Das ganze wiederholt sich 16 mal. Bis alle Realais wieder angezogen sind statt sich im Ruhezustand zu befinden.

                                      1 Reply Last reply Reply Quote 0
                                      • SBorg
                                        SBorg Forum Testing Most Active last edited by

                                        Drück mal RESET 🙂
                                        Also, der Adapter ist schon logisch. Wenn du auf "IN" stellst, will der GPIO Daten haben, sprich von einem angeschlossenem Sensor den Messwert etc. Bei "OUT" schickt der Daten auf dem GPIO heraus, um bspw. ein Relais zu schalten.
                                        Deswegen gibt es auch den Datenpunkt "isInput" (false=Daten schicken, true=Daten empfangen). Unter dem "state" landen dann die empfangenen Messwerte des Sensors.
                                        Also RESET und alles auf Anfang...

                                        @DiveDancer sagte in GPIO's Steuern 16chRelais12V über RasPi o. Rock64:

                                        103.png
                                        Hier schaltet mein Relais dauerhaft im ein Sekunden Takt.

                                        Schalten kann ich also schon mal.

                                        Nur leider kann ich keinen Status abfragen.

                                        Das hatte ja schon mal funktioniert, also machen wir da weiter.

                                        @DiveDancer sagte in GPIO's Steuern 16chRelais12V über RasPi o. Rock64:

                                        Leider sind meine Linux Kenntnisse Mies.

                                        Kein Problem, muss ich halt nur mehr erklären ^^
                                        Zuerst würde mich mal ein ls -al /sys/class/gpio interessieren, ob es da xy-GPIO-Unterverzeichnisse gibt.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          DiveDancer last edited by DiveDancer

                                          Gibt es!

                                          pi@Tijger:/sys/class/gpio $ gpio readall
                                           +-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
                                           | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
                                           +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
                                           |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
                                           |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5v      |     |     |
                                           |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
                                           |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | IN   | TxD     | 15  | 14  |
                                           |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
                                           |  17 |   0 | GPIO. 0 |   IN | 1 | 11 || 12 | 1 | IN   | GPIO. 1 | 1   | 18  |
                                           |  27 |   2 | GPIO. 2 |   IN | 1 | 13 || 14 |   |      | 0v      |     |     |
                                           |  22 |   3 | GPIO. 3 |   IN | 1 | 15 || 16 | 1 | IN   | GPIO. 4 | 4   | 23  |
                                           |     |     |    3.3v |      |   | 17 || 18 | 1 | IN   | GPIO. 5 | 5   | 24  |
                                           |  10 |  12 |    MOSI |   IN | 1 | 19 || 20 |   |      | 0v      |     |     |
                                           |   9 |  13 |    MISO |   IN | 1 | 21 || 22 | 1 | IN   | GPIO. 6 | 6   | 25  |
                                           |  11 |  14 |    SCLK |   IN | 1 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
                                           |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
                                           |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
                                           |   5 |  21 | GPIO.21 |   IN | 0 | 29 || 30 |   |      | 0v      |     |     |
                                           |   6 |  22 | GPIO.22 |   IN | 0 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
                                           |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
                                           |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
                                           |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
                                           |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
                                           +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
                                           | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
                                           +-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
                                          pi@Tijger:/sys/class/gpio $ dir
                                          export  gpio11  gpio15  gpio18  gpio22  gpio24  gpio27  gpio4  gpio9      gpiochip100  unexport
                                          gpio10  gpio14  gpio17  gpio2   gpio23  gpio25  gpio3   gpio8  gpiochip0  gpiochip504
                                          pi@Tijger:/sys/class/gpio $
                                          
                                          

                                          Für jeden gpio Port der im Adapter aktiviert wird, kommt eine Datei hinzu.

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            DiveDancer last edited by

                                            Ups, sorry,

                                            wer lesen kann ist klar im Vorteil

                                            pi@Tijger:/sys/class/gpio $ ls -al /sys/class/gpio
                                            insgesamt 0
                                            drwxrwx---  2 root gpio    0 Jun 15 14:03 .
                                            drwxr-xr-x 54 root root    0 Nov  3  2016 ..
                                            -rwxrwx---  1 root gpio 4096 Jun 15 14:03 export
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio10 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio10
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio11 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio11
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio14 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio14
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio15 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio15
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio17 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio17
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio18 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio18
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio2 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio2
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio22 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio22
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio23 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio23
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio24 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio24
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio25 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio25
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio27 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio27
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio3 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio3
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio4 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio4
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio8 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio8
                                            lrwxrwxrwx  1 root gpio    0 Jun 15 14:03 gpio9 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio9
                                            lrwxrwxrwx  1 root gpio    0 Jun 12 22:52 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
                                            lrwxrwxrwx  1 root gpio    0 Jun 12 22:52 gpiochip100 -> ../../devices/gpiochip2/gpio/gpiochip100
                                            lrwxrwxrwx  1 root gpio    0 Jun 12 22:52 gpiochip504 -> ../../devices/platform/soc/soc:firmware/soc:firmware:expgpio/gpio/gpiochip504
                                            -rwxrwx---  1 root gpio 4096 Jun 15 14:02 unexport
                                            pi@Tijger:/sys/class/gpio $
                                            
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            590
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            70
                                            4033
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo