Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Rock64 GPIO steuern

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    484

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Rock64 GPIO steuern

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
19 Beiträge 6 Kommentatoren 2.0k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SRo769S Offline
    SRo769S Offline
    SRo769
    schrieb am zuletzt editiert von
    #3

    Hi Konti83,

    die GPIO-Steuerung über den RPI2-Adapter in Verbindung mit dem Rock64 funktioniert definitiv nicht. Die Nummerierung der GPIOs als auch deren Ansteuerung ist beim Rock64 leider deutlich anders als beim Raspberry Pi. So lässt sich z.B. auch die vereinfachende WiringPi-Software nicht installieren.

    Die Schaltung einzelner Pins wird aber trotzdem möglich durch folgende Anleitung:

    https://forum.pine64.org/archive/index. … -2088.html


    Code:

    sudo -i

    echo "75" > /sys/class/gpio/export

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

    echo 1 > /sys/class/gpio/gpio75/value

    echo 0 > /sys/class/gpio/gpio75/value


    Die GPIO-Belegung kannst du dir hier ableiten:

    https://github.com/Leapo/Rock64-R64.GPI ... GPIO-Modes

    Die GPIO selbst könnendann per Befehl (z.B. Blockly Exec) ein- oder aus geschaltet werden. Den Status der GPIOs kannst du über den Adapter Systeminfo "/sys/class/gpio/gpio75/direction"abfragen. Für jeden Pin eine sep. Abfrage.

    Das mache ich an meine Rock auch so. Ist beim Rock halt etwas umständlich - im Ausgleich dafür gibts ja reichlich Ram und Power.

    F 1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pfuhsy
      schrieb am zuletzt editiert von
      #4

      Hallo,

      ich habe aktuell genau das selbe Problem. Über die Konsole klappt das. Über Blockly bekomme ich das nicht hin. Wie funktioniert das damit.

      Gruss

      F 1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pfuhsy
        schrieb am zuletzt editiert von
        #5

        Sobald der Rock64 neugestarte wird, wird alle einstellungen wieder weg.

        1 Antwort Letzte Antwort
        0
        • P pfuhsy

          Hallo,

          ich habe aktuell genau das selbe Problem. Über die Konsole klappt das. Über Blockly bekomme ich das nicht hin. Wie funktioniert das damit.

          Gruss

          F Offline
          F Offline
          Fatmax
          schrieb am zuletzt editiert von
          #6

          @pfuhsy
          Genau das gleiche Problem.
          Konntest du den Fehler finden und mit Blockly schalten?

          Liebe Grüße,
          Fatmax

          1 Antwort Letzte Antwort
          0
          • SRo769S SRo769

            Hi Konti83,

            die GPIO-Steuerung über den RPI2-Adapter in Verbindung mit dem Rock64 funktioniert definitiv nicht. Die Nummerierung der GPIOs als auch deren Ansteuerung ist beim Rock64 leider deutlich anders als beim Raspberry Pi. So lässt sich z.B. auch die vereinfachende WiringPi-Software nicht installieren.

            Die Schaltung einzelner Pins wird aber trotzdem möglich durch folgende Anleitung:

            https://forum.pine64.org/archive/index. … -2088.html


            Code:

            sudo -i

            echo "75" > /sys/class/gpio/export

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

            echo 1 > /sys/class/gpio/gpio75/value

            echo 0 > /sys/class/gpio/gpio75/value


            Die GPIO-Belegung kannst du dir hier ableiten:

            https://github.com/Leapo/Rock64-R64.GPI ... GPIO-Modes

            Die GPIO selbst könnendann per Befehl (z.B. Blockly Exec) ein- oder aus geschaltet werden. Den Status der GPIOs kannst du über den Adapter Systeminfo "/sys/class/gpio/gpio75/direction"abfragen. Für jeden Pin eine sep. Abfrage.

            Das mache ich an meine Rock auch so. Ist beim Rock halt etwas umständlich - im Ausgleich dafür gibts ja reichlich Ram und Power.

            F Offline
            F Offline
            Fatmax
            schrieb am zuletzt editiert von
            #7

            @SRo769
            Funktioniert das auch per Exec-Befehl in Blockly?
            Ich bekomme es damit nicht hin.
            Er schaltet nur wenn ich die Befehle in der Konsole eingebe.

            Wie verwendest du die Befehle im Iobroker?

            Liebe Grüße,
            Fatmax

            1 Antwort Letzte Antwort
            0
            • SRo769S Offline
              SRo769S Offline
              SRo769
              schrieb am zuletzt editiert von SRo769
              #8

              Hi, das Problem mit dem Verschwinden der GPiOs nach einem Neustart lässt sich per "rc.local" Datei lösen.
              Diese Datei ist im Verzeichnis /etc zu finden - zumindest in Armbian. In Debian (ab Vers. 9) ist die Datei nicht mehr dabei und die Einrichtung etwas schwieriger - siehe https://www.itechlounge.net/2017/10/linux-how-to-add-rc-local-in-debian-9/.
              Sofern ihr Armbian benutzt ist es ziemlich einfach:
              die Datei rc.local im Verzeichnis /etc editieren als root (per nano o. auch WinSCP)
              dann die ersten beiden Zeilen vor exit 0 einfügen
              Beispiel:
              echo "75" > /sys/class/gpio/export
              echo "out" > /sys/class/gpio/gpio75/direction
              exit 0

              dann speichern und den Rock neustarten - jetzt sollte der GPIO75 im Verzeichnis /sys/class/gpio/ aufgebaut sein und immer zur Verfügung stehen. Für weitere GPIOs sind die Einträge ensprechend zu erweitern.

              Nach dem Neustart könnt ihr dann die Befehle:
              echo 1 > /sys/class/gpio/gpio75/value
              echo 0 > /sys/class/gpio/gpio75/value

              im Terminal testen - nun kommt keine Fehlermeldung mehr und die Schaltung funktioniert.

              Die beiden Befehlssequenzen können dann im Script (Blockly) über den Baustein "exec - Systembefehl ausführen" getriggert werden. In das Textfeld einfach die Befehlsequenz hineinkopieren. Das Ganze könnt ihr ja dann mit einem einfachen Testschalter (Vis) testen.

              Viel Spass beim Testen und
              Viele Grüße SRo769

              F 1 Antwort Letzte Antwort
              0
              • SRo769S Offline
                SRo769S Offline
                SRo769
                schrieb am zuletzt editiert von SRo769
                #9

                hoppla, hatte leider das falsche Verzeichnis angegeben - das Verzeichnis in dem die Datei "rc.local" zu finden ist, lautet natürlich /etc und nicht wie zuvor beschrieben /dev

                SRo769

                1 Antwort Letzte Antwort
                0
                • SRo769S SRo769

                  Hi, das Problem mit dem Verschwinden der GPiOs nach einem Neustart lässt sich per "rc.local" Datei lösen.
                  Diese Datei ist im Verzeichnis /etc zu finden - zumindest in Armbian. In Debian (ab Vers. 9) ist die Datei nicht mehr dabei und die Einrichtung etwas schwieriger - siehe https://www.itechlounge.net/2017/10/linux-how-to-add-rc-local-in-debian-9/.
                  Sofern ihr Armbian benutzt ist es ziemlich einfach:
                  die Datei rc.local im Verzeichnis /etc editieren als root (per nano o. auch WinSCP)
                  dann die ersten beiden Zeilen vor exit 0 einfügen
                  Beispiel:
                  echo "75" > /sys/class/gpio/export
                  echo "out" > /sys/class/gpio/gpio75/direction
                  exit 0

                  dann speichern und den Rock neustarten - jetzt sollte der GPIO75 im Verzeichnis /sys/class/gpio/ aufgebaut sein und immer zur Verfügung stehen. Für weitere GPIOs sind die Einträge ensprechend zu erweitern.

                  Nach dem Neustart könnt ihr dann die Befehle:
                  echo 1 > /sys/class/gpio/gpio75/value
                  echo 0 > /sys/class/gpio/gpio75/value

                  im Terminal testen - nun kommt keine Fehlermeldung mehr und die Schaltung funktioniert.

                  Die beiden Befehlssequenzen können dann im Script (Blockly) über den Baustein "exec - Systembefehl ausführen" getriggert werden. In das Textfeld einfach die Befehlsequenz hineinkopieren. Das Ganze könnt ihr ja dann mit einem einfachen Testschalter (Vis) testen.

                  Viel Spass beim Testen und
                  Viele Grüße SRo769

                  F Offline
                  F Offline
                  Fatmax
                  schrieb am zuletzt editiert von Fatmax
                  #10

                  @SRo769
                  Danke für die Hilfe.
                  Das hat über die Konsole einwandfrei funktioniert.

                  Per Exec-Befehl schaltet es nicht.
                  Ich vermute es hat was mit den Rechten zu tun (iobroker-User)?

                  In der Facebook-Gruppe wurde mir geraten sudoers zu bearbeiten. -> Habe hier einiges probiert ohne Erfolg. Wirklich auskennen tue ich mich damit nicht.
                  Funktionieren bei dir die Excec-Befehle in Blockly ohne Probleme?

                  Oder musstest du sonst auch noch etwas umstellen?

                  Liebe Grüße,
                  Fatmax

                  SRo769S 1 Antwort Letzte Antwort
                  0
                  • F Fatmax

                    @SRo769
                    Danke für die Hilfe.
                    Das hat über die Konsole einwandfrei funktioniert.

                    Per Exec-Befehl schaltet es nicht.
                    Ich vermute es hat was mit den Rechten zu tun (iobroker-User)?

                    In der Facebook-Gruppe wurde mir geraten sudoers zu bearbeiten. -> Habe hier einiges probiert ohne Erfolg. Wirklich auskennen tue ich mich damit nicht.
                    Funktionieren bei dir die Excec-Befehle in Blockly ohne Probleme?

                    Oder musstest du sonst auch noch etwas umstellen?

                    SRo769S Offline
                    SRo769S Offline
                    SRo769
                    schrieb am zuletzt editiert von
                    #11

                    @Fatmax

                    Der Aufruf der Befehlzeile im exec muss ohne "sudo" erfolgen. Des Weiteren muss das Verzeichnis des GPIOs den du schalten willst die "richtige Berechtigung" haben. Mittels Programm WinSCP oder im Terminal muss die Berechtigung für das Verzeichnis inkl. aller Unterordner und Dateien (rekursiv) auf 0777 gesetzt werden.
                    Dann einfach mal im Blockly schalten lassen und schon ändert sich auch der Value Wert in der Datei "Value".
                    So funktioniert das bei mir ohne Probleme. Zur Kontrolle des aktuellen Zustandes kann der Wert auch mittels Systeminfo Adapter ausgelesen werden.

                    SRo769

                    F 1 Antwort Letzte Antwort
                    0
                    • SRo769S SRo769

                      @Fatmax

                      Der Aufruf der Befehlzeile im exec muss ohne "sudo" erfolgen. Des Weiteren muss das Verzeichnis des GPIOs den du schalten willst die "richtige Berechtigung" haben. Mittels Programm WinSCP oder im Terminal muss die Berechtigung für das Verzeichnis inkl. aller Unterordner und Dateien (rekursiv) auf 0777 gesetzt werden.
                      Dann einfach mal im Blockly schalten lassen und schon ändert sich auch der Value Wert in der Datei "Value".
                      So funktioniert das bei mir ohne Probleme. Zur Kontrolle des aktuellen Zustandes kann der Wert auch mittels Systeminfo Adapter ausgelesen werden.

                      SRo769

                      F Offline
                      F Offline
                      Fatmax
                      schrieb am zuletzt editiert von Fatmax
                      #12

                      @SRo769
                      Danke vielmals für die Hilfe!
                      Nun läuft es endlich. Ich musste jedoch noch etwas zusätzlich machen.

                      Habe mich mittels Filezilla mit dem Rock64 verbunden und konnte dann bequem die Berechtigungen für die Verzeichnisse ändern.
                      Ich habe direkt für /sys/class/gpio/ die Berechtigung für das Verzeichnis/allen Unterverzeichnissen und Dateien auf "777" gesetzt, das passt dann zukünftig für alle GPIO's.

                      Danach hat es leider noch immer nicht funktioniert.
                      Tricky ist dabei, dass im Verzeichnis /sys/class/gpio/ dann die weiteren Unterverzeichnisse mit den GPIO-Nummern als Verknüpfungen angelegt sind.
                      Diese gehen dann weiter zu folgendem Pfad: /sys/devices/platform/pinctrl/gpio/

                      Ich habe diesem Verzeichnis/allen Unterverzeichnissen und Dateien auch Berechtigung "777" gegeben, seitdem läuft es.

                      EDIT: Musste nochmals etwas in etc/rc.local ergänzen, da nach einem Reboot die Berechtigungen für die Verzeichnisse zurückgesetzt wurden da die Verzeichnisse & Dateien ja nach jedem Neustart für die GPIO neu angelegt werden wenn man dies in etc/rc.local so einstellt :relaxed:
                      Hier nun mein gesamter Inhalt für etc/rc.local:

                      echo "101" > /sys/class/gpio/export
                      echo "out" > /sys/class/gpio/gpio101/direction
                      echo "102" > /sys/class/gpio/export
                      echo "out" > /sys/class/gpio/gpio102/direction
                      chmod -R 777 /sys/class/gpio
                      chmod -R 777 /sys/devices/platform/pinctrl/gpio
                      exit 0
                      

                      Dies aktiviert auch nach dem Reboot GPIO A5 (=101) & GPIO A6 (102) als Ausgang und setzt auch die entprechenden Rechte auf den notwendigen Verzeichnissen, damit die GPIO's mittels Exec-Befehl im IOBroker-Blockly geschaltet werden können.
                      Wenn andere GPIO's benötigt werden müssen die Zahlen entsprechend in rc.local ergänzt werden.

                      Liebe Grüße,
                      Fatmax

                      1 Antwort Letzte Antwort
                      0
                      • hg6806H Offline
                        hg6806H Offline
                        hg6806
                        Most Active
                        schrieb am zuletzt editiert von
                        #13

                        Hallo zusammen,

                        ich hole mal den Thread hier hoch weil ich mit dem Rock64 einen GPIO einlesen möchte.
                        Und zwar den "GPIO1_D4".
                        Welche GPIO-Nr. ist das und müsste das in "rc.local" eintragen?

                        Wie kann ich den GPIO dann in Blockly auslesen und verwenden? Beim Pi habe ich das mit dem RPI2.0 Adapter gemacht, das wird wohl beim Rock nicht mehr gehen oder?

                        SRo769S 1 Antwort Letzte Antwort
                        0
                        • hg6806H hg6806

                          Hallo zusammen,

                          ich hole mal den Thread hier hoch weil ich mit dem Rock64 einen GPIO einlesen möchte.
                          Und zwar den "GPIO1_D4".
                          Welche GPIO-Nr. ist das und müsste das in "rc.local" eintragen?

                          Wie kann ich den GPIO dann in Blockly auslesen und verwenden? Beim Pi habe ich das mit dem RPI2.0 Adapter gemacht, das wird wohl beim Rock nicht mehr gehen oder?

                          SRo769S Offline
                          SRo769S Offline
                          SRo769
                          schrieb am zuletzt editiert von
                          #14

                          @hg6806 Hi,

                          das müsste dann GPIO 60 sein. Wenn nur abgefragt werden soll:

                          echo "60" > /sys/class/gpio/export
                          echo "out" > /sys/class/gpio/gpio60/direction
                          chmod -R 777 /sys/class/gpio
                          chmod -R 777 /sys/devices/platform/pinctrl/gpio
                          exit 0

                          in die rc.local eintragen

                          und dann den state z. B. per Adapter "system info" auslesen:

                          Name Type source convent Role/Type schedule
                          GPIO60 file /sys/class/gpio/gpio60/value number boolean z.b. ***** für jede minute

                          Der State kann dann ganz normal im Script abgefragt werden...

                          Grüße SRo769

                          1 Antwort Letzte Antwort
                          0
                          • hg6806H Offline
                            hg6806H Offline
                            hg6806
                            Most Active
                            schrieb am zuletzt editiert von hg6806
                            #15

                            Tausend Dank für die ausführliche Erklärung!

                            Reicht es nicht wenn man die Rechte nur einmal per Filezilla z.B. vergibt?

                            @SRo769 sagte in Rock64 GPIO steuern:

                            und dann den state z. B. per Adapter "system info" auslesen:
                            Name Type source convent Role/Type schedule
                            GPIO60 file /sys/class/gpio/gpio60/value number boolean z.b. ***** für jede minute
                            Der State kann dann ganz normal im Script abgefragt werden...

                            Das habe ich nicht wirklich verstanden.
                            Ist der Info-Adapter damit gemeint? Und wie mache ich das in Blockly?

                            Hintergrund ist folgender.
                            Ich hatte mal hier einen Thread aufgemacht, weil der Pi, bzw. jetzt ein Rock64 öfters hart ausgeschaltet wird:
                            https://forum.iobroker.net/topic/24777/raspi-hart-stromlos-schalten/22

                            Ich habe dann mit Super-Caps die Versorgung überbrückt und über einen Optokoppler die 230V an einen GPIO gebracht.
                            Dieser muss also wie ein Interrupt sofort erkannt werden und das System herunterfahren.
                            Hat beim Pi gut funktioniert (zumindest das Herunterfahren von ioBroker)
                            Bloß beim Rock ist das mit GPIOs eben nicht so einfach wie mit dem RPI2.0 Adapter.

                            Grüße

                            SRo769S 1 Antwort Letzte Antwort
                            0
                            • hg6806H hg6806

                              Tausend Dank für die ausführliche Erklärung!

                              Reicht es nicht wenn man die Rechte nur einmal per Filezilla z.B. vergibt?

                              @SRo769 sagte in Rock64 GPIO steuern:

                              und dann den state z. B. per Adapter "system info" auslesen:
                              Name Type source convent Role/Type schedule
                              GPIO60 file /sys/class/gpio/gpio60/value number boolean z.b. ***** für jede minute
                              Der State kann dann ganz normal im Script abgefragt werden...

                              Das habe ich nicht wirklich verstanden.
                              Ist der Info-Adapter damit gemeint? Und wie mache ich das in Blockly?

                              Hintergrund ist folgender.
                              Ich hatte mal hier einen Thread aufgemacht, weil der Pi, bzw. jetzt ein Rock64 öfters hart ausgeschaltet wird:
                              https://forum.iobroker.net/topic/24777/raspi-hart-stromlos-schalten/22

                              Ich habe dann mit Super-Caps die Versorgung überbrückt und über einen Optokoppler die 230V an einen GPIO gebracht.
                              Dieser muss also wie ein Interrupt sofort erkannt werden und das System herunterfahren.
                              Hat beim Pi gut funktioniert (zumindest das Herunterfahren von ioBroker)
                              Bloß beim Rock ist das mit GPIOs eben nicht so einfach wie mit dem RPI2.0 Adapter.

                              Grüße

                              SRo769S Offline
                              SRo769S Offline
                              SRo769
                              schrieb am zuletzt editiert von
                              #16

                              @hg6806 nein, mit dem Adapter ist der "systeminfo"-Adapter gemeint. Dieser kann Werte aus dem System bzw. aus dem Web auslesen. Die einzutragenden Werte hatte ich dazu geschrieben. Der Adapter bildet dann einen Datenpunkt mit dem entsprechend aktuellem State GPIO60. Dieser kann dann beliebig in Scripten verwendet werden.

                              Grüße SRo769

                              1 Antwort Letzte Antwort
                              0
                              • hg6806H Offline
                                hg6806H Offline
                                hg6806
                                Most Active
                                schrieb am zuletzt editiert von
                                #17

                                OK, den Adapter kannte ich noch gar nicht!

                                @SRo769 sagte in Rock64 GPIO steuern:

                                echo "60" > /sys/class/gpio/export
                                echo "out" > /sys/class/gpio/gpio60/direction

                                Muss das dann nicht "in" heißen?

                                1 Antwort Letzte Antwort
                                0
                                • SRo769S Offline
                                  SRo769S Offline
                                  SRo769
                                  schrieb am zuletzt editiert von
                                  #18

                                  sorry, ja muss "in" heißen - war noch im Modus "schalten":blush:

                                  1 Antwort Letzte Antwort
                                  0
                                  • hg6806H Offline
                                    hg6806H Offline
                                    hg6806
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #19

                                    Leider bekomme ich an dem Pin keinen richtigen High Pegel, trotz 10k an 3,3V
                                    Weiß jemand wie der GLIO1_D4 konfiguriert ist? Ist da doch ein Clock Signal drauf?

                                    1 Antwort Letzte Antwort
                                    0
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    744

                                    Online

                                    32.5k

                                    Benutzer

                                    81.8k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Home
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe