Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. RPI 2.0 GPIOs können nicht angesteuert werden

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    RPI 2.0 GPIOs können nicht angesteuert werden

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active last edited by

      0 ist die interne für pi

      hmmm…hast mal mit einem anderen GPIO probiert

      1 Reply Last reply Reply Quote 0
      • Thisoft
        Thisoft last edited by

        Um mal die Nummerierung klarzustellen - ist so auch in der Doku zum RPI-Adapter erklärt:

        RPI2.GPIO.17 ist ist physisch am RPI Pin-Nr.11 und entspricht somit wohl der BCM-Auflistung.

        Was mir allerdings in Deinem Screenshot von gpio readall auffällt: Pin11, also BCM 17 hat den Namen GPIO.0. Auch die anderen GPIO-Namen sind "durcheinander", z.B. gibt es da gar keinen GPIO.17.

        Ich kann das jetzt nicht vergleichen und habe auch nicht wirklich Ahnung - was sagen die RasPi-Experten dazu?

        1 Reply Last reply Reply Quote 0
        • arteck
          arteck Developer Most Active last edited by

          alles gut…hab ich auch

          1518_gpio.jpg

          wobei ich mit dem 17 nichts mache und der steht bei mir auch auf OUT…

          nimm mal nen anderen.. probeweise

          1 Reply Last reply Reply Quote 0
          • M
            Micky79 last edited by

            Ich habe auch mal versucht einen anderen Pin zu initialisieren. Auch vorher das Script dazu durchgeführt. Alles ohne Erfolg.

            Ich glaube, ich werde mich mit meinem Workarround, die Sache per externen Script anzugehen, anfreunden müssen.

            Wobei das über RPI echt eine elegante Lösung wäre.

            Habe auch noch mal auf ein paar anderen Pis gpio readall ausgeführt. Das sieht identisch aus.

            1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active last edited by

              das kann doch nicht.. bei mir geht es auch..

              was hast du für jessie Image drauf ?? so ein ioBroker image oder direkt vom raspbian geladen ??

              1 Reply Last reply Reply Quote 0
              • M
                Micky79 last edited by

                Direkt von raspian. Das neuste.

                1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active last edited by

                  ich frage weil ich mit einem ioBroker Image Probleme hatte…

                  so siehts bei mir aus.. wobei meiner ein IN-put ist

                  1518_1.png

                  1 Reply Last reply Reply Quote 0
                  • M
                    Micky79 last edited by

                    @arteck

                    Ja, aussehen ist bei mir identisch, nur ist die State Änderung ohne Funktion.

                    Bekommst Du beim starten des Adapters denn auch die Fehlermeldung?

                    1 Reply Last reply Reply Quote 0
                    • arteck
                      arteck Developer Most Active last edited by

                      rpi2.0	2017-02-24 17:40:03.041	info	starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.rpi2, node: v4.7.3
                      

                      nö alles gut

                      ich hab mal den Loglevel erhöht … nix in die Richtung das es kein pin xyz nicht gibt..

                      1 Reply Last reply Reply Quote 0
                      • Thisoft
                        Thisoft last edited by

                        Sag ich auch - das muss doch gehen…

                        Bei mir funktioniert's ja auch mit dem Jessie-Image von ioBroker...

                        Noch eine Vermutung in die Runde: Kann es sein, dass die Anweisungen die du in die rc.local schreibst irgendwie die GPIO-Schnittstelle "blockieren"?

                        Ich hab's ein wenig anders. Die folgende Datei als separates Python-Script abgespeichert und dieses Script dann in die rc.local eingebunden.

                        #!/usr/bin/python
                        import RPi.GPIO as GPIO 
                        
                        #gpio 
                        gP23 = 23
                        
                        GPIO.setwarnings(False)
                        GPIO.setmode(GPIO.BCM)
                        
                        # klingel als INPUT einstellen
                        GPIO.setup(gP23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
                        
                        1 Reply Last reply Reply Quote 0
                        • arteck
                          arteck Developer Most Active last edited by

                          damit initialisierst du nur den pin 23 direkt nach dem booten

                          normalerweise ist es unötig… aber nach irgendeinen jessie update .. ging meine Klingel nicht mehr (da sitzt ein Pi drauf und wertet ein gpio23 aus)

                          nach dem Initialisieren schon.. also hab ich es mit übernommen

                          schau mal ob du es per Programm schalten kannst (so langsam gehen mir die Ideen aus)

                          #!/usr/bin/python
                          import RPi.GPIO as GPIO 
                          
                          #gpio 
                          gP17 = 17
                          
                          GPIO.setwarnings(False)
                          GPIO.setmode(GPIO.BCM)
                          
                          GPIO.setup(gP17 , GPIO.OUT)
                          
                          GPIO.output(gP17 , GPIO.HIGH)
                          time.sleep(2)
                          GPIO.output(gP17 , GPIO.LOW)
                          
                          

                          direkt von der konsole ausführen als program

                          1 Reply Last reply Reply Quote 0
                          • Thisoft
                            Thisoft last edited by

                            Ja, denke ich auch dass mein Script eigentlich überflüssig sein müsste. Allerdings hatte ich anfangs eben auch Probleme mit der Initialisierung des INPUT-Ports. Nachdem ich das Script verwendet habe hat's geklappt.

                            Meine Vermutung ist nur - Micky79 macht das ja in seinem Script leicht anders, nicht das sich da vielleicht was gegenseitig beharkt…

                            Und @Micky79, du hattest glaube ich noch nicht beantwortet ob dein ioBroker als root läuft?

                            1 Reply Last reply Reply Quote 0
                            • arteck
                              arteck Developer Most Active last edited by

                              @Thisoft:

                              Ja, denke ich auch dass mein Script eigentlich überflüssig sein müsste. Allerdings hatte ich anfangs eben auch Probleme mit der Initialisierung des INPUT-Ports. Nachdem ich das Script verwendet habe hat's geklappt.

                              Meine Vermutung ist nur - Micky79 macht das ja in seinem Script leicht anders, nicht das sich da vielleicht was gegenseitig beharkt…

                              Und @Micky79, du hattest glaube ich noch nicht beantwortet ob dein ioBroker als root läuft? `

                              ja läuft als root… steht zumindest so im einstiegsthread

                              1 Reply Last reply Reply Quote 0
                              • M
                                Micky79 last edited by

                                @Thisoft

                                Ja, iobroker läuft als Root.

                                Dein Script habe ich auch schon ausprobiert, weil ich auch dachte das dies evtl. die GPIOS anders initialisiert. Aber auch ohne Erfolg.

                                Vielleicht doch die andere Node Version?

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Micky79 last edited by

                                  @arteck

                                  Bei Deinem Script zeigt er an das er time nicht findet.

                                  Aber unabhängig davon, wenn ich das Script aufrufe (einmal mit High und danach mit LOW) funktioniert es.

                                  Also per Python kann ich die GPIOS auch ansprechen.

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Micky79 last edited by

                                    Ich habe mal recherchiert wie ich node 6.9 installiere.

                                    Aber kann ich das so einfach drüber bügeln? Oder muss ich dann iobroker neu installieren?

                                    Hat das schon mal jemand gemacht?

                                    1 Reply Last reply Reply Quote 0
                                    • frankjoke
                                      frankjoke last edited by

                                      Micky,

                                      iobroker und die Adapter sollen neu installiert werden. Machs jetzt immer so dass ich

                                      Iobroker abschalte (sudo iobroker stop)

                                      das Verzeichnis /opt/iobroker umbenenne in z,.b iobroker.bak

                                      ein neues Verzeichnis dann in /opt/oipbroker anlege

                                      und das Unterverzeichnis von /opt/iobroker.bak/iobroker-data auf /opt/iobroker kopiere.

                                      Dann installiere ich in opt/iobroker iobroker (und die Adapter) neu. Wenn alles funktioniert kann man das .bak-Verzeichnis löschen.

                                      Damit hab ich die alten Einstellungen aber die neuen nodejs-Module passend auf das neue nodejs.

                                      1 Reply Last reply Reply Quote 0
                                      • arteck
                                        arteck Developer Most Active last edited by

                                        an der node version liegt es nicht… gpio Steuerung hat erstmal nichts mit node zu tun...

                                        hab ein import übersehen

                                        #!/usr/bin/python
                                        import RPi.GPIO as GPIO 
                                        import os, sys, time 
                                        
                                        #gpio 
                                        gP17 = 17
                                        
                                        GPIO.setwarnings(False)
                                        GPIO.setmode(GPIO.BCM)
                                        
                                        GPIO.setup(gP17 , GPIO.OUT)
                                        
                                        GPIO.output(gP17 , GPIO.HIGH)
                                        time.sleep(2)
                                        GPIO.output(gP17 , GPIO.LOW)
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Micky79 last edited by

                                          So, habe mal auf node.js 6.10 upgedatet.

                                          Puh. Scheint soweit alles geklappt zu haben.

                                          Danke an fsjoke.

                                          Beim Start des RPI Adapters kommt jetzt keine Fehlermeldung mehr.

                                          Aber beim Zugriff auf den GPIO steht "GPIO is not initialized!" im LOG. 😞

                                          Hab dann mal das Python Script laufen lassen, um den GPIO 17 per Script richtig zu initialisieren. RPI Adapter neu gestartet. Gleiches Problem. GPIO is not initialized!

                                          Leute, ich gebe auf. Irgendwie bekomme ich den GPIO Zugriff nicht initialisiert.

                                          1 Reply Last reply Reply Quote 0
                                          • frankjoke
                                            frankjoke last edited by

                                            Also,

                                            hab mir das mal angeschaut da ich rausfinden wollte warum's am development Raspi auch nicht funktioniert.

                                            Der Grund scheint zu sein dass das rpi-gpio library nicht neu kompiliert wird/wurde da es anscheinend irgendwo im cache mit einer alten Version vorhanden ist.

                                            Ich habs zu Laufen gekriegt nachdem ich:

                                            cd /opt/iobroker/node_modules
                                            rm -r rpi-gpio
                                            cd iobroker.rpi2
                                            rm -r node_modules
                                            npm install --production
                                            
                                            

                                            gemacht habe.

                                            Das hat eine neue kompilierung des rpi-gpio-Libraries durchgeführt und der Adapter lief dann wieder ohne Fehler.

                                            Habe auch ein

                                            npm cache clean

                                            gemacht, leider erst nachher, und hoffe dass die alten Kopien der Module vielleicht verschwinden…. Mal sehen ob es nächstes mal hilft wenn ich es vorher mache.

                                            Ach ja, hab' vergessen zu erwähnen: Der Grund kann auch daher rühren dass (z.B. mittels sudo apt-get upgrade oder dist-upgrade) das System und der kernel oder gpio-libraries auf eine neuere Version upgedated wurden und deshalb das nodejs-Modul auch neu kompiliert werden muss. Der Fehler liegt also weniger bei ioBroker sondern mehr bei neuen libraries, entweder von nodejs oder vom System.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            894
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            43
                                            7056
                                            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