GPIO Lüftersteuerung unter LE RPi3

  • Moin zusammen. Folgende Problematik hat mich die letzten Tage zum verzweifeln gebracht - ich habe mir eine simple Lüftersteuerung per Transistor gebaut und wollte dann nach einer webanleitung ein python script erstellen und so den Lüfter steuern.

    Tja, pustekuchen - ich bekomms nicht hin, auch nach studium diverser workarounds stelle ich mich wohl zu glatt dazu an.

    Ich bekomme immer den Fehler, dass kein Modul namens ._GPIO vorhanden ist.

    Gibt es da unterschiede zwischen RPi2 und 3?

    Kann mir jemand evtl nochmal genau erklären wie ich die Lüftersteuerung evtl anders zum laufen bekomme? Würde dann nämlich auch gern noch einen Startknopf installieren, denn auf Steckerziehen und wieder einstecken habe ich keine Lust.

    So läuft der RPi also wochenlang durch und der Lüfter dreht permanent.

    Bin über jeden Tipp dankbar!


    Gesendet von iPhone mit Tapatalk

  • So, hier nun mal ein paar Infos.

    Ich habe diese Anleitung genutzt. So weit so gut, Lüfter dreht wenn direkt angeschlossen.

    Ich habe über

    Code
    wget


    die RPi.GPIO-0.6.3 runtergeladen und entpackt.
    Beim setup

    sieht der Spaß dann so aus. Ich wundere mich zwar über Zeile 17 - 18, aber ok.
    Dann wird das Testscript erstellt.

    In das auch schon, laut einiger Tutorials aus dem Netz der Ort für die RPi Tools hinterlegt wird.

    STRG-O zum speichern, STRG-X zum schließen. Soweit so gut.

    Dann beim Test kommt dieser Fehler

    Python
    LibreELEC:~/downloads/RPi.GPIO-0.6.3 # python fan_test.py
    Traceback (most recent call last):
      File "fan_test.py", line 5, in <module>
        import RPi.GPIO as GPIO
      File "/storage/downloads/RPi.GPIO-0.6.3/RPi/GPIO/__init__.py", line 23, in <module>
        from RPi._GPIO import *
    ImportError: No module named _GPIO

    Und an diesem Punkt komme ich nicht weiter.

    Das sind, neben der Installation von den RPi-Tools, die einzigen Schritte die ich gemacht habe.

    Vielen Dank schonmal für eure Hilfe!

  • ähm, ich habe gerade was ausprobiert und die Datei /storage/.kodi/addons/virtual.rpi-tools/lib/RPi/_GPIO.so in das Verzeichnis /storage/downloads/RPi.GPIO-0.6.3/RPi geschmissen und siehe da, der quatsch läuft.

    Crontab hab ich auch erstellt, also soweit sollte alles geklärt sein.

    Vielleicht kann mir trotzdem jemand sagen, ob das alles so seine richtigkeit hat.

  • Sorry für die späte Antwort, Besuch kam unangemeldet.

    Ich denke nein, die .so sollte eigentlich gefunden werden.
    Spiel doch mal dass unten getane nach und poste das Resultat.

  • Sehe gerade das Du eine Version 0.6.3 hast die auch über python setup installiert werden soll.
    Das schlägt fehl - Du hast ja bemerkt das Zeile 17 und 18 einen Fehler ausgibt.

    Ich habe das Addon über das Repo installiert, deswegen auch die Manipulation des sys.path.
    Bei einer erfolgreichen Installation über setup.py braucht es dies nicht, da es ja in die site geladen wird.

    Also, wenn Du das Paket über Python setup.py installieren willst muß dies auch erfolgreich ablaufen sonst hast Du,
    je nachdem was wie abbricht, eine unvollständige Installation oder du nutzt das Addon und fügst den Pfad zu sys.path.

    Edit:
    Und jetzt fällt mir noch auf, dass Du ja die .so aus dem addon (in der Version 0.6.2) einfach in die kaputte Installation der Version 0.6.3
    kopiert hast.

    Nicht gut - kann, muß aber nicht funktionieren.

    Also wundere Dich nicht wenn der RPi auf einmal im Takt von DSDS den Lüfter anschmeißt :D

  • sieht der Spaß dann so aus. Ich wundere mich zwar über Zeile 17 - 18, aber ok.

    Hättest dich mal nicht gewundert ;) . Um es kurz zu machen, hier ist die Kompilierung deines Modules (siehe Zeile 13) fehlgeschlagen, Die Modulbibliothek existiert somit nicht - und was nicht existiert, kann man auch nicht verwenden.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ok, testweise lief es ja jetzt. Sagt mir doch bitte, wie ich das so richtig richtig machen kann. Warum schlägt der Befehl aus Zeile 13 fehl? Ich bin da nicht all zu tief in der Materie, versuche aber zu lernen wie es geht.


    Gesendet von iPhone mit Tapatalk

  • Weil das Kommando

    /home/chewitt/LibreELEC.80-images/build.LibreELEC-RPi2.arm-8.0.2/toolchain/bin/host-gcc

    nicht ausgeführt werden kann da es nicht gefunden wird. Hast Du den dieses Verzeichnis?
    Moment, ist chewitt nicht einer der LibreELEC-Entwickler ????

    Warum willst Du oder mußt Du die Version 0.6.3 benutzen?
    Warum nicht das Addon in der Version 0.6.2 benutzen?

    Edit: Standardmässig scheinen keine Buildtools unter LibreELEC auf dem RPi installiert zu sein, also ich empfehle 0.6.2 Addon.
    Die halbgare Installation 0.6.3 deinstallieren bzw. aus der site-package werfen.

  • Ok, jetzt denke ich, habe ich begriffen wie das läuft ;)
    Ich habe mich einfach an die Anleitung gehalten, da ich nicht wusste dass es auch anders geht. Eigentlich sogar recht simpel, wenn man weiß wo die zusammenhänge sind und was man beachten muss.

    Habe jetzt den Ordner und alle belange auf storage/download/RPi.GPIO-0.6.3 gelöscht und einen neuen Ordner erstellt.

    Code
    LibreELEC:~/fancontrol # nano fantest.py
    LibreELEC:~/fancontrol # python fantest.py

    So läufts ohne Fehler und ist sauber. Den Pfad zu den virtual RPi-Tools musste ich trotzdem mitangeben.

    Gut, dank euch hab ichs verstanden.

    zum crontab erstellen gehe ich am besten wie vor?

    Code
    crontab –e
    
    
    */10 * * * * /storage/fancontrol/fancontrol.py


    klappt das so?

  • Nein, python ist das Program das ausgeführt wird und fancontrol.py das Script welches Python übergeben wird also

    */10 * * * * /usr/bin/python /storage/fancontrol/fancontrol.py

    und hast Du alle Leichen aus /usr/lib/python2.7/site-packages/ gelöscht?

    Hier ein Auszug wie es initial auf einen RPi3 aussieht (glaube ich jedenfalls, kann mich nicht erinnern dass ich da etwas zusätzlich installiert habe).

  • So siehts bei mir auch aus.

    crontab hab ich jetzt so erstellt und warte gespannt auf den Lüfter.

    Vielen Dank euch

  • scheint zu laufen

  • Hallo zusammen,

    ich bin leider ziemlich unerfahren was phyton skripts angeht würde aber gerne wie 'Rbucker87' eine Lüftersteuerung für meinen RPi3 mit Libreelec implementieren.
    Bislang habe ich nur das RPi Tools Addon installiert und ein Skript für die Lüftersteuerung.
    Wenn ich das hier nun richtig verstanden habe benötige ich jetzt einen Cronjob der mein Skript aufruft?
    Wenn das soweit richtig ist, wäre meine Frage wie hat dieser Cronjob auszusehen und wo ist er abzulegen? und wo muss das Script der Lüftersteuerung abgelegt werden?

    Besten Dank für die Hilfe!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!