Seite 1 von 1

Multimediatasten per GPIO am RaspberryPi

Verfasst: Dienstag 26. Juni 2012, 19:33
von pascalts
Hallo,

ich habe nach einigen Monaten Wartezeit nun endlich meinen RaspberryPi (B-Board) vor mir liegen. Als OS habe ich mich für Debian entschieden, aufbauend darauf XMBC.

Mein Ziel ist es nun, den RPi als eine Art CarPC ins Auto zu integrieren. Da der kleine allerdings nur 2 USB-Anschlüsse hat und ich ungern einen HUB für 100000 Geräte anschließe, wollte ich mit dem GPIO einfache Funktionen wie "STOP", "PLAY" usw... belegen.

Soweit so gut, mit Python an sich komme ich auch ganz gut klar. Ich bin soweit, dass ich wenn ich einen Taster betätige per Python IRGENDETWAS passiert (eine LED am output leuchtet auf, eine Message erscheint...).

Dieses IRGENDWAS soll nun aber dadurch ersetzt werden, dass an das OS ein Tastendruck gemeldet wird - beispielsweise PLAY oder STOP (Oder eben erstmal ein Buchstabe, das würde schon reichen...) . Im Internet bin ich leider auf keinen Denkanstoß gekommen - mag auch an meiner Suche liegen. Könnt ihr mir ein wenig weiterhelfen? (Der Englischen Sprache bin ich mächtig, also nur her mit englischen Infos!)

Danke im Vorraus

Pascal

Re: Multimediatasten per GPIO am RaspberryPi

Verfasst: Dienstag 26. Juni 2012, 21:38
von jerch
Vllt ist uinput was für Dich - http://thiemonge.org/getting-started-with-uinput

Mir ist allerdings nicht klar, warum Du das über Hijacken des Inputsystems auf OS-Ebene machen willst.

Re: Multimediatasten per GPIO am RaspberryPi

Verfasst: Dienstag 26. Juni 2012, 22:03
von EyDu
Ich weiß nicht, ob es unter Debian funktioniert, aber du könntest pymprisr versuchen. Unter Kubuntu funktioniert das mit Amarok problemlos.

Code: Alles auswählen

python mpris2-remote.py play
python mpris2-remote.py stop
python mpris2-remote.py next
python mpris2-remote.py previous
python mpris2-remote.py pause
funktionieren auf jeden Fall, den Rest müsstest du dir wohl einfach mal selber suchen

Sebastian

Re: Multimediatasten per GPIO am RaspberryPi

Verfasst: Mittwoch 27. Juni 2012, 15:34
von pascalts
Hallo erstmal vielen Dank.

Ich werde mich also vorerst der Version von EyDu annehmen. Allerdings bekomme ich, wenn ich rein

Code: Alles auswählen

 python mpris2-remote.py stop
eingebe Folgende Meldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "mpris2-remote.py", line 13, in <module>
    bus = dbus.SessionBus()
  File "/usr/lib/pymodules/python2.6/dbus/_dbus.py", line 219, in __new__
    mainloop=mainloop)
  File "/usr/lib/pymodules/python2.6/dbus/_dbus.py", line 108, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 125, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: /usr/bin/dbus-launch terminated abnormally without any error message
Leider kann ich damit nicht wirklich etwas anfange - nur das etwas schief gelaufen ist. Das Paket python-dbus ist aktuell.

Re: Multimediatasten per GPIO am RaspberryPi

Verfasst: Donnerstag 28. Juni 2012, 16:45
von pascalts
*PUSH* niemand noch eine Idee woher der Fehler rührt?

Re: Multimediatasten per GPIO am RaspberryPi

Verfasst: Freitag 29. Juni 2012, 08:42
von Leonidas
Versuch doch dbus-launch per Hand auszuführen?

Edit: Hier gibts noch etwas mehr Infos zur Kontrolle von Mediaplayern

Edit: ich würd einfach das MPRIS2-Interface direkt mit Python-DBus ansprechen, dbus-launch aufzurufen lohnt sich ja gar nicht. Außerdem: welchen Player magst du denn ansprechen und was für ein DE nutzt du?