Python-RPi.GPIO für Raspberry PI 2

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen,

    habe heute den Raspberry Pi 2 ausgepackt und voller Vorfreude DoorPI (DoorPi (VoIP Wechselsprechanlage / Türsprechanlage mit Video-Support)) installiert.
    Soweit ... sogut!
    Nach dem erstmaligen Start von DoorPI gibt´s Probleme mit dem Python-RPi.GPIO Modul.

    RunTimeError: This module can only be run on a Raspberry Pi!

    im Changelog auf https://pypi.python.org/pypi/RPi.GPIO/0.5.9 gibt´s leider noch keinen Hinweis auf Raspberry Pi 2 Unterstützung.

    Change Log
    0.5.9

    Issue 87 - warn about pull up/down on i2c pins
    Issue 86/75 - wait_for_edge() bugfix
    Issue 84 - recognise RPi properly when using a custom kernel
    Issue 90 - cleanup() on a list/tuple of channels

    Wer kennt sich schon mit der Hardware des RPi 2 aus, wo sind die Unterschiede zum RPi 1 ?

  • a) es ist ein neuer Prozessor, also müssen einige Sachen neu kompiliert werden
    b) das Ding ist jetzt seid was? 2,5 Tagen raus? es ist sicher nicht alles sofort verfügbar, die Menschen die sowas machen habena auch ein Leben neben dem RPi
    c) einfach mal ein paar Tage gedulden bevor das Forum mit "geht XXX denn mit dem neuen RPi 2" zu überschwemmen! Die am meisten benutzen Sachen werden ganz sicher kommen! Geht aber durch Ungeduld auch nicht schneller


  • a) es ist ein neuer Prozessor, also müssen einige Sachen neu kompiliert werden

    Ok, ist mir klar ... vielleicht liest jemand mit, der hier einen Beitrag dazu leisten kann.


    b) das Ding ist jetzt seid was? 2,5 Tagen raus? es ist sicher nicht alles sofort verfügbar, die Menschen die sowas machen habena auch ein Leben neben dem RPi

    Ist mir auch klar ...


    c) einfach mal ein paar Tage gedulden bevor das Forum mit "geht XXX denn mit dem neuen RPi 2" zu überschwemmen! Die am meisten benutzen Sachen werden ganz sicher kommen! Geht aber durch Ungeduld auch nicht schneller

    Was ist dann der Sinn eines Forum´s, wenn keiner nach Lösungen fragen darf?
    Wie lange müssen die Besitzer des RPi 2 warten bis sie hier fragen dürfen ?

    Frage/Vorschlag an die Foren-Admin´s: Gibt´s demnächst ein separates Raspberry 2 Forum ?

  • Klar kann man nach einer Lösung fragen, aber wie du selbst schon festgestellt hast gibt es ja noch keine.
    Ich hab jetzt nur schon mehrere solcher Fragen gelesen, und die Antwort ist im Grunde für alle die gleiche: kommt noch!
    Das sollte halt einfach klar sein, das bei einer Hardware das gerade erst raus ist die Software erst noch nachziehen muss.

    Auf den entsprechenden Seiten der Bibliotheken und Programme kannst du doch sehen, ob es schon ein Update gab oder nicht. Wenn da steht das es ein Update für den RPi 2 gab, und das funktioniert nicht, oder du kannst es nicht aufspielen, da könnte ich ja nachfragen verstehen. Aber einfach so mal drängeln.. nun ja. Die Leute, die diese Programme schreiben/pflegen werden es früher oder später garantiert mitkriegen, das es den RPi 2 gibt. Das steht ja überall schon groß und breit!

    Wenn dir das nicht schnell genug geht, dann gibt es für fast alles die Quellen auch irgendwo zum runterladen. Dann kannst du dir das auch selber neu kompilieren. Bei den meisten dürfte das auch vollkommen ausreichend sein, damit es wieder läuft.

  • Klingt nach dem gleichen Problem wie hier:
    http://sourceforge.net/p/raspberry-gpio-python/tickets/84/

    Support für Raspberry 2 ist bereits ein Ticket:
    http://sourceforge.net/p/raspberry-gpio-python/tickets/95/

    Grundsätzlich, sofern sich an der Ansteuerung der GPIO nichts geändert hat, könnte man das Paket hier runterladen:
    http://sourceforge.net/projects/raspb…tar.gz/download

    Dann entpacken und in der Datei RPi.GPIO-0.5.9\source\cpuinfo.c bearbeiten.

    Code
    Zeile 40:       if (strcmp(hardware, "BCM2708") == 0 || strcmp(hardware, "BCM2835") == 0)

    ändern in:

    Code
    if (strcmp(hardware, "BCM2708") == 0 || strcmp(hardware, "BCM2835") == 0 || strcmp(hardware, "BCM2836") == 0)

    Der BCM2836 sollte der Code für die neue CPU sein. Eventuell noch einmal prüfen in der Datei /proc/cpuinfo

    Danach das Paket gemäß den Anleitung aus der Install.txt installieren:

    Zitat


    If you want to build your own version from this downloaded copy, make
    sure that you have the Python development source installed first!

    On Raspbian:
    $ sudo apt-get install python-dev python3-dev

    To install the module:

    $ sudo python setup.py install
    or
    $ sudo python3 setup.py install

    Sag Bescheid wenns doch Probleme gibt.

  • Naja, vielleicht gibt es ja Möglichkeiten die Wartezeit zu überbrücken @ RyuKajiya :huh:
    Also ich finde die Fragestellung jetzt nicht wirklich kritisch - er hat sich Gedanken gemacht und recherchiert das es von dem Module bisher noch kein Update gibt. Also kein Grund ihn jetzt anzumachen.

    wiringPI wurde gestern geupdatet und funktioniert bereits mit dem Pi-2, aber auch unter Vorbehalt da noch nicht alles optimal angepasst wurde.
    Allerdings wurde der Python Wrapper von wiringPI noch nicht geupdated - weiß nicht in wiefern das relevant ist.

    Es gibt auch noch ein anderes GPIO Module, was dreamshader mal erwähnt hat, komm aber gerade nicht auf den Namen, irgendwas mit piq oder so.... :s

    Unter Umständen würde es schon reichen wenn man den Source von RPi.GPIO nur leicht modifiziert, vielleicht reicht das schon :denker:

    Code
    cd /usr/src
    wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.9.tar.gz
    tar xfz RPi.GPIO-0.5.9.tar.gz
    cd RPi.GPIO-0.5.9
    nano source/cpuinfo.c

    Dort sucht man dann nach:

    Code
    int get_rpi_revision(void)

    etwas runter scrolln bis eigentlich etwas bekanntes auftaucht: die CPU Revisions Nummern. In dieser Liste fehlt die neue vom Pi-2.

    KEINE GARANTIE DASS DAS FUNKTIONIERT!


    //EDIT: Oh, hab ich wohl noch was übersehn :blush: ... Und das was motom001 geschrieben hat musste natürlich auch noch anpassen :fies:

  • Übrigens ist mittlerweile (seit dem 12.02.) eine Version 0.5.10 raus die nun den Pi2 Support drin hat ;) Der Workaround ist also nicht mehr nötig.

    Da das Paket aber über apt-get noch nicht verfügbar ist muss man das noch mithilfe pip installieren.

    Python 2.x:

    Code
    apt-get install python-pip
    pip install RPi.GPIO

    Python 3.x:

    Code
    apt-get install python3-pip
    pip-3.2 install RPi.GPIO
    • Offizieller Beitrag

    Ich installier python module immer über pip, einfach zu maintainen und unabhängig von den Systemweiten tools/libs

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Bei mir funktioniert leider gar nichts mit RPi.GPIO. Entweder ich bekomme eine Fehlermeldung ("GPIO is in use" oder so ähnlich) oder es tut sich einfach nichts.
    Ich habe RPi.GPIO 0.5.11 installiert. Das sollte ja eigentlich funktionieren.
    Wenn ich die gleichen Pins mit WiringPi steuere, funktioniert alles wunderbar.
    Jemand eine Idee?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!