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

      pigpio soll Stand der Technik sein:
      https://www.elektronik-kompendium.de/sites/raspberry-pi/2006041.htm

      Vielleicht lohnt da ein Ansatz
      Läuft aber anscheinend auch nicht out of the Box.
      Beißt sich aber vielleicht auch mit dem rpi Adapter.

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

        Sieht genau aus wie es soll, nur hast du dann einen kleinen Fehler begangen 😉
        Wenn du den Adapter anhältst und rebootest, dann darf im GPIO-Verzeichnis kein gpioxx mehr vorhanden sein, außer den gpiochipxyz

        Wieder alles als root (ohne den Adapter gestartet zu haben!):
        echo "2" > /sys/class/gpio/export (die "2" steht hier für GPIO2)
        Jetzt sollte im Verzeichnis der gpio2 (und nur der, also keine weiteren gpioxx) aufgetaucht sein.
        Wir definieren diesen GPIO als Ausgang: echo "out" > /sys/class/gpio/gpio2/direction

        Nun sollte sich mittels

        echo "1" > /sys/class/gpio/gpio2/value
        echo "0" > /sys/class/gpio/gpio2/value
        

        das Relais an GPIO2 ein- und ausschalten lassen?

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

          Ich werd jetzt nicht zugeben das ich nur noch Bahnhof verstehe,...

          ...aber Umsetzung folgt!
          ...
          ...
          ...
          Bitte warten, ...

          ...Ich verarbeite!!!

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

            Pfad Zustand nach Deaktivierung des Adapters:

            root@Tijger:/sys/class/gpio# ls -al /sys/class/gpio
            insgesamt 0
            drwxrwx---  2 root gpio    0 Jun 16 14:08 .
            drwxr-xr-x 54 root root    0 Jun 16 11:04 ..
            -rwxrwx---  1 root gpio 4096 Jun 16 11:07 export
            lrwxrwxrwx  1 root gpio    0 Jun 16 10:55 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
            lrwxrwxrwx  1 root gpio    0 Jun 16 10:55 gpiochip100 -> ../../devices/gpiochip2/gpio/gpiochip100
            lrwxrwxrwx  1 root gpio    0 Jun 16 10:55 gpiochip504 -> ../../devices/platform/soc/soc:firmware/soc:firmware:expgpio/gpio/gpiochip504
            -rwxrwx---  1 root gpio 4096 Jun 16 14:08 unexport
            root@Tijger:/sys/class/gpio#
            
            

            ...nach reboot:

            root@Tijger:/home/pi# ls -al /sys/class/gpio
            insgesamt 0
            drwxrwx---  2 root gpio    0 Jun 16 14:13 .
            drwxr-xr-x 54 root root    0 Nov  3  2016 ..
            -rwxrwx---  1 root gpio 4096 Jun 16 14:13 export
            lrwxrwxrwx  1 root gpio    0 Jun 16 14:13 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
            lrwxrwxrwx  1 root gpio    0 Jun 16 14:13 gpiochip100 -> ../../devices/gpiochip2/gpio/gpiochip100
            lrwxrwxrwx  1 root gpio    0 Jun 16 14:13 gpiochip504 -> ../../devices/platform/soc/soc:firmware/soc:firmware:expgpio/gpio/gpiochip504
            -rwxrwx---  1 root gpio 4096 Jun 16 14:13 unexport
            root@Tijger:/home/pi#
            
            

            gpiochip0 ist hoffentlich nicht als störend gemeint.

            Nach dem Reboot werden alle Befehle, bis auf den 'unexport' angenommen:

            root@Tijger:/home/pi# echo "2" > /sys/class/gpio/unexport
            bash: echo: Schreibfehler: Das Argument ist ungültig.
            root@Tijger:/home/pi# echo "2" > /sys/class/gpio/export
            root@Tijger:/home/pi# echo "out" > /sys/class/gpio/gpio2/direction
            root@Tijger:/home/pi# echo "1" > /sys/class/gpio/gpio2/value
            root@Tijger:/home/pi# echo "0" > /sys/class/gpio/gpio2/value
            root@Tijger:/home/pi# echo "1" > /sys/class/gpio/gpio2/value
            root@Tijger:/home/pi# echo "0" > /sys/class/gpio/gpio2/value
            root@Tijger:/home/pi#
            
            

            Jetzt ist gpio2 hinzu gekommen.

            root@Tijger:/home/pi# ls -al /sys/class/gpio
            insgesamt 0
            drwxrwx---  2 root gpio    0 Jun 16 14:19 .
            drwxr-xr-x 54 root root    0 Jun 16 14:16 ..
            -rwxrwx---  1 root gpio 4096 Jun 16 14:19 export
            lrwxrwxrwx  1 root gpio    0 Jun 16 14:19 gpio2 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio2
            lrwxrwxrwx  1 root gpio    0 Jun 16 14:13 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
            lrwxrwxrwx  1 root gpio    0 Jun 16 14:13 gpiochip100 -> ../../devices/gpiochip2/gpio/gpiochip100
            lrwxrwxrwx  1 root gpio    0 Jun 16 14:13 gpiochip504 -> ../../devices/platform/soc/soc:firmware/soc:firmware:expgpio/gpio/gpiochip504
            -rwxrwx---  1 root gpio 4096 Jun 16 14:19 unexport
            root@Tijger:/home/pi#
            
            

            Nein, nein und nochmals N...
            Das Relais schaltet nicht.
            Und der Adapter ist aus.
            116.png
            ...oder muss man den Deinstallieren?

            Vielleicht mal mit einem anderen Port probieren der vielleicht nicht noch vom I2C Bus genutzt werden kann?
            Hab ja schließlich noch 15 weitere angeklemmt ohne was umverdrahten zu müssen.

            Ich meine so hätte ich es beim letzten mal auch gemacht!?
            Oder habe ich meinen kleinen Fehler wiederholt?

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

              Wie kann ich denn nun den Zustand der Ports einsehen?

              readall funktioniert hier gerade nicht mehr:

              root@Tijger:/sys/class/gpio# readall
              bash: readall: Kommando nicht gefunden.
              root@Tijger:/sys/class/gpio# exit
              exit
              pi@Tijger:/sys/class/gpio $ sudo readall
              sudo: readall: Befehl nicht gefunden
              pi@Tijger:/sys/class/gpio $
              
              
              1 Reply Last reply Reply Quote 0
              • D
                DiveDancer last edited by

                Wobei ich vielleicht auch noch erwähnen sollte, das 3 Relais in diesem Zustand angezogen sind.
                WhatsApp Image 2019-06-16 at 14.48.36.jpg

                JD1 liegt hier auf GPIO 2

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

                  Also folgendes...

                  Mit weiterem Port getestet.

                  In der ersten Runde kann unexport nicht gesetzt werden.
                  & am Relais passiert nix.

                  root@Tijger:/home/pi# echo "23" > /sys/class/gpio/unexport
                  bash: echo: Schreibfehler: Das Argument ist ungültig.
                  
                  

                  Der export Befehl wird geschluckt
                  & am Relais passiert nix.

                  root@Tijger:/home/pi# echo "23" > /sys/class/gpio/export
                  
                  

                  Der 'echo "out" > /sys/class/gpio/gpio23/direction' wird angenommen.
                  & das Relais zieht AN.

                  root@Tijger:/home/pi# echo "out" > /sys/class/gpio/gpio23/direction
                  
                  

                  0 & 1 bewirkt keine Veränderung
                  & Das Relais bleibt unverändert ANgezogen

                  root@Tijger:/home/pi# echo "0" > /sys/class/gpio/gpio23/value
                  root@Tijger:/home/pi# echo "1" > /sys/class/gpio/gpio23/value
                  

                  Im zweiten Durchlauf wird der unexport Befehl angenommen.
                  & Der Anker des Relais wird los gelassen.

                  root@Tijger:/home/pi# echo "23" > /sys/class/gpio/export
                  
                  

                  Der'echo "out" > /sys/class/gpio/gpio23/direction' Befehl wird angenommen.

                  & Das Relais zieht den Anker wieder AN

                  echo "out" > /sys/class/gpio/gpio23/direction
                  

                  0 & 1 bewirkt keine Veränderung
                  & Das Relais bleibt unverändert ANgezogen

                  So reagieren auch die anderen Ports.

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

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

                    Wobei ich vielleicht auch noch erwähnen sollte, das 3 Relais in diesem Zustand angezogen sind.
                    JD1 liegt hier auf GPIO 2

                    Das dünkt mich jetzt mehr als nachdenklich. Ohne den Adapter (deaktivieren genügt, deswegen sind alle GPIO-Unterverzeichnisse weg) sollten alle GPIOs "Low" sein. Je nach Relaiskarte wären dann alle Relais an oder aus. Die Betonung liegt hier auf alle... Deswegen sollten wir zum testen wirklich mal ein anderes nehmen...
                    Zudem habe ich gerade noch gesehen, dass bei den PIs je nach Revision die GPIOs 0-3 unterschiedlich belegt sind.
                    "4" hast du lt. Quellcode ebenfalls belegt. Das müsste der 4. Pin (gezählt) vom Header sein (bzw. PIN #7 beschriftet)

                    ...und wieder root:

                    echo "4" > /sys/class/gpio/export
                    echo "out" > /sys/class/gpio/gpio4/direction
                    echo "1" > /sys/class/gpio/gpio4/value
                    echo "0" > /sys/class/gpio/gpio4/value
                    

                    Im Verzeichnis sollte nach dem Vefehl mit export (unexport brauchst du nicht, der Adapter läuft nicht und hat keine Verzeichnisse angelegt) dann der gpio4 auftauchen.
                    Den Schaltzustand bekommst du bspw. mit cat /sys/class/gpio/gpio4/value, d.h. allerdings nicht, dass das Relais auch tatsächlich geschaltet hat. Das ist quasi nur die Aufforderung dazu.

                    Schaltet jetzt was korrekt?

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

                      Test ist bereits durchgeführt.
                      Ich hab dann mal noch gpio22 auf Pin 15 & gpio23 auf 16 getestet.
                      https://forum.iobroker.net/post/271939
                      Das relay ist angezogen wegen dem Befehl:
                      echo "out" > /sys/class/gpio/gpio23/direction
                      Siehe Beitrag des Links

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

                        Ok, hat sich gerade überschnitten...

                        export = legt den GPIO-Pin an
                        unexport = löscht den GPIO-Pin (deswegen auch der Fehler, kannst nix löschen was du nicht vorher angelegt hast)

                        unexport benötigst du aber nicht. Dass war nur wg. dem Adapter nötig.

                        Auch das "out" benötigst du nur einmalig, zumindest bis zum reboot bleibt das erhalten.
                        Jetzt bleibt nur zu klären warum er auf das 0/1 bei "value" nicht reagiert.
                        Mach nach dem echo "1"... mal direkt danach ein cat /sys/class/gpio/gpio23/value, um mal bei GPIO23 zu bleiben. Steht da 0 oder 1 drin?

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

                          Da steht ne ' 1 ' drin

                          Das passt, der Anker ist angezogen!

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

                            Ok, und mit echo "0" steht jetzt ne 0 drin aber das Relais bleibt angezogen?

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

                              Ja leider

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

                                Aber...
                                IN
                                &
                                OUT
                                ...funktionieren jetzt wieder!
                                Mit der ...direction Variante natürlich.

                                'In' gibt cat mit 1 an
                                'Out' mit 0

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

                                  Ist aber leider der falsche Weg. Mit IN wird die Spannung einfach abgeschaltet, da diese vom Sensor kommt (damit geht dein Relais natürlich aus), mit OUT wird sie zugeschaltet, was auch für ein Relais nötig ist. Das funktioniert zwar (derzeit) noch, kann sich aber jederzeit mit einem Update etc. ändern. Kannst du so in etwa vergleichen: Licht an --> ich schraub ne Glühbirne rein / Licht aus --> ich schmeiß nen Stein gegen die Birne... Funktioniert auch 😉
                                  Hast du bei der Konfiguration eigentlich die GPIOs im Config-Manager aktiviert? Ich weiß gerade nicht was die machen, oder überhaupt was machen, wenn sie nicht aktiv geschaltet wurden.

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

                                    Ja, unter Raspi-config

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

                                      Hast du Raspian Desktop oder Lite?

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

                                        Raspbian light Stretch
                                        Das ioBroker Image vom 21.02.2019

                                        Up to Date, natürlich!

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

                                          So wie ich es nun gelesen habe, geht es bei Lite nicht ohne den passenden Daemon...

                                          Also neuer versuch mit pigpio...:
                                          Adapter muss aus sein + am besten vorher ein 'reboot' damit alles clean ist (=keine gpio-Ports im /sys/class/gpio-Verzeichnis, außer die paar gpiochip)
                                          sudo apt install pigpio (entweder sagt er nun, ist schon neuste Version, updated ihn oder installiert ihn)
                                          sudo systemctl start pigpiod (startet den Daemon bis zum nächsten reboot)
                                          pigs modes 23 w (GPIO23 als Relais setzen)

                                          keep your fingers crossed
                                          Relais sollte mittels

                                          pigs w 23 1
                                          pigs w 23 0
                                          

                                          schaltbar sein?

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

                                            Moinsen,

                                            das hatte ich schon getestet, dass schaltet die GPIO's aber genau wie über sysf zieht es die Relais nicht mit.

                                            Ich habe gerade noch eine Bruchlandung versucht.
                                            Ich habe bei einer Karte alle Optokoppler ausgelötet - easy.
                                            Alle 16 mit einer Brücke zwischen Pin 2 und Pin 4 ersetzt und gebrückt - scheiß gefrickel so ohne Lötpumpe.
                                            https://forum-raspberrypi.de/forum/thread/4794-anschluss-relais-schaltung-invertiert/?postID=39361#post39361

                                            Was soll ich sagen, die Chance dass das ganze an meinen Lötqualitäten gescheitert ist ist augenscheinlich größer als das ich mich beim Anschluss der Header Pins verpolt oder verdrahtet habe.
                                            Jedenfalls regt sich da nichts.

                                            Wenigstens scheint mein Pi dabei noch nicht abgeraucht zu sein!

                                            Das muss ich mir Heute nochmal genau ansehen.
                                            Auch ob ich wirklich Pin 2 und 4 erwischt habe.

                                            Deswegen kann ich gerade die Karten out of the Box nicht testen, weil ich sonst die Verkabelung wieder neu anbringen muss.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            441
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            70
                                            4070
                                            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