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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    RPI 2.0 GPIOs können nicht angesteuert werden

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                  • M
                                    Micky79 last edited by

                                    Hey fsjoke,

                                    habe Deine Schritte mal durchgeführt.

                                    Das Verzeichnis rpi-gpio gibt es bei mir nicht.

                                    Die restlichen Befehl gingen. Clean Cache auch.

                                    Adapter neugestartet, direkt im LOG ne Fehlermeldung das er den GPIO nicht initialisieren kann.

                                    Das Script ausgeführt um die GPIO zu initialisieren. Adapter Neustart, auch nix.

                                    GPIO 27 probiert. Gleiche Meldung.

                                    GPIO 22 probiert (Physikalisch PIN 15) -> keine Fehlermeldung.

                                    GPIO über Objektbaum angesprochen, GEHT! Über JavaScript natürlich auch!

                                    DANKE!!!

                                    Komisch nur das nicht alle GPIOS gehen. Aber im Moment brauche ich nur den einen.

                                    Viele Grüße Micky

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

                                      Hallo Micky,

                                      gut dass es jetzt zumindest teilweise geht!

                                      Hast schon mal 'gpio readall' gemacht? Bei mir kommt da folgendes:

                                       +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
                                       | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
                                       +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
                                       |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
                                       |   2 |   8 |   SDA.1 | ALT0 | 1 |  3 || 4  |   |      | 5V      |     |     |
                                       |   3 |   9 |   SCL.1 | ALT0 | 1 |  5 || 6  |   |      | 0v      |     |     |
                                       |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 0 | IN   | TxD     | 15  | 14  |
                                       |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
                                       |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
                                       |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
                                       |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
                                       |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
                                       |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
                                       |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
                                       |  11 |  14 |    SCLK |   IN | 0 | 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 | 1 | 29 || 30 |   |      | 0v      |     |     |
                                       |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
                                       |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
                                       |  19 |  24 | GPIO.24 |   IN | 1 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
                                       |  26 |  25 | GPIO.25 |  OUT | 1 | 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 3---+---+------+---------+-----+-----+
                                      
                                      

                                      Nun ist wichtig anzumerken dass die GPIO-Zahlen die in der Reihe 'BCM' stehen in rpi2-Adapter verwendet werden und nicht die 'GPIO' -Zahlen!

                                      Ich verwend z.B. GPIO-24 als Eingang und GPIO-25 als Ausgang und das sind bei der Adapter-Konfig (BCM)19 und (BCM)26.

                                      Hab mal probiert, GPIO-27 (BCM)16 funktioniert, GPIO-2 (BCM)27 nicht obwohl er im Adapter als erlaubt aufgeführt ist.

                                      Könnte ein Problem in der SW sein, das müßte sich Bluefox mal anschauen, die Fehlermeldung wird anscheinen vom Betriebssystem erzeugt da ich sie im Adapter nicht finden kann.

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

                                        Der Post ist zwar schon älter aber bei meinem Slave kommt es auch zu diese Fehlermeldung.

                                        rpi2.4
                                        	2022-02-10 15:50:43.074	error	GPIO is not initialized!
                                        rpi2.4
                                        	2022-02-10 15:50:43.063	error	GPIO is not initialized!
                                        rpi2.4
                                        	2022-02-10 15:50:42.831	error	GPIO is not initialized!
                                        

                                        Das ganze ist aber schon mal gegangen. Was kann ich machen.
                                        Würde der Befehl helfen.

                                        npm install --production
                                        

                                        https://github.com/iobroker-community-adapters/ioBroker.rpi2/issues/22

                                        RPI Version 1.3.1
                                        JS Controller: 3.3.22
                                        Nodejs: 14.19.0

                                        daum1988 created this issue in iobroker-community-adapters/ioBroker.rpi2

                                        closed GPIOs not working in Version 1.2.0 #22

                                        Thomas Braun 1 Reply Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @Basti97 last edited by

                                          @basti97

                                          Welche Hardware ist das da beim Slave?

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

                                            @thomas-braun ein Raspberry 3b+ ist das

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            606
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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