RFID Media Player

  • Hallo,

    hier mal mein Projekt eines RFID Media Players in Version 1.0 und 2.0.
    Nachdem Version 1.0 nun ein Jahr in Betrieb war, habe ich mit Version 2.0 einige Verbesserungen vorgenommen.

    Als Grundlage habe ich das Projekt von Fuzzwah benutzt - XBMC RFID Music.

    Die Version 1.0 läuft mit Raspbmc. Für die Taster habe ich einen Controller von einer Tastatur genommen und die Standardtasten von Kodi damit benutzt.
    Als Soundkarte ist eine ESI - Dr. DAC nano drin. Dieser verursacht allerdings beim ausschalten ein Knacksen in den Lautsprechern, welche aktive Nahfeldlautsprecher sind (Fostex PM04.d white).


    Hier ein paar Bilder der Version 1.0:

    dsc01645w9jj6.jpg   dsc01643clje5.jpg   dsc01644kpk2i.jpg   dsc0164017khz.jpg   dsc0164161jm9.jpg   dsc0164239jzf.jpg


    In Version 2.0 habe ich ein paar Taster mehr und zwei LED ergänzt.
    - 5 Taster spielen Radiosender ab
    - eine LED zeigt an ob die Box im Internet ist
    - eine LED ob die Box eingeschalten ist
    - dann noch mit Tastenkombination Neustart und Herunterfahren
    Als Soundkarte ist ein HiFiBerry DAC+ Pro drin und das Knacksen in den Lautsprechern ist weg.
    Dann habe ich noch eine RJ45-Buchse mit eingebaut, da ein LAN-Kabel vorhanden ist. Optional kann über den USB aber noch WLAN genutzt werden.
    Ein Stromanschluss mit einen Micro-USB Stecker war etwas zu Micro. Da habe ich jetzt einen 5,5mm Anschluss genommen. Dazu noch eine Schalter, denn den Stecker ziehen war immer unschön.
    Das Finish fehlt noch etwas. Die Seiten sollen auch noch mit bedruckbarer, wasserfesten Folie beklebt werden. Darum ist der Schalter noch nicht fest drin.


    Hier ein paar Bilder der Version 2.0:


    dsc01639txjgf.jpg   dsc01637mpkhr.jpg   dsc01638hskyg.jpg   dsc01634w2jzk.jpg   dsc01635acjhi.jpg   dsc016365rk0e.jpg


    Wenn Interesse besteht, kann ich eine genaue Anleitung und Teileliste hier reinschreiben.
    Der Code muss leicht angepasst werden wenn z.B. OSMC verwendet wird. Bein hinzufügen der Karten stimmt die Anleitung auch nicht ganz. Der Pfad wird dafür nicht gebraucht.

    Einmal editiert, zuletzt von mex_ (15. Januar 2016 um 10:51)

  • Hi,
    Ich würde mich sehr über Anleitung und die Teile Liste freuen, ich suche nämlich gerade nach einer einfachen Möglichkeit ne rfid Jukebox zu bauen ;)

  • Einmal editiert, zuletzt von mex_ (2. Januar 2016 um 22:09)

  • So, dann werde ich mich mal an die Anleitung machen. Meine Kenntnisse sind zwar sehr sehr beschränkt, aber mein Raspberry Pi läuft und dabei möchte ich auch anderen helfen.
    Zum Anfang habe ich mit dem HiFiBerry installer OSMC installiert. Das sollte jeder hin bekommen, wenn man das Richtige auswählt.
    Dann die SD-Karte in den Raspberry Pi und mit HDMI am TV fertig installieren. Wenn WLAN genutzt werden soll, kann man das gleich mit einrichten.
    Dabei die IP-Adresse aufschreiben, die wird dann zum verbinden gebraucht.

    Wenn der Raspberry Pi im Netzwerk ist kann man sich mit Putty über SSH verbinden.

    Benutzername und Kennwort sind beides

    Code
    osmc

    Dort erst einmal nacheinander eingeben:

    Code
    sudo apt-get update
    sudo apt-get upgrade

    Dann den Alsamixer installieren um die Lautstärke vom Hifiberry regeln zu können. Das kann man dann auch in OSMC, mir war aber die Ausgang vom Hifiberry zu laut.

    Code
    sudo apt-get install -y curl wget binutils alsa-utils

    Nun kann man mit

    PHP
    alsamixer[/php]
    den Ausgang regeln.
    
    
    Jetzt noch USB installieren mit
    [code]sudo apt-get install usbutils

    Bei der GPIO bin ich mir nicht ganz sicher, aber es müsste das gewesen sein.

    Code
    sudo apt-get install python-dev
    sudo apt-get install python-rpi.gpio

    Jetzt können wir mit der Anleitung von Fuzzwah weiter machen.

    hierbei ist darauf zu achten, das unter Punkt 7 nur der Dateiname angegeben werden muss.
    Also nicht

    Code
    python addcard.py ~/.xbmc/userdata/Playlists/music/PlayListFile.m3u


    sondern

    Code
    python addcard.py PlayListFile.m3u

    legt man noch Unterordner an, muss das dann so aussehen

    Code
    python addcard.py hierderneueOrdner/PlayListFile.m3u

    Die angepassten Dateien für OSMC habe ich mit angehängt.
    Dabei ist noch ein Skript (wlan.py) was mit zwei LED einmal Power anzeigt und einmal Internet. Dazu ist noch die keyboard.xml mit drin, mit der die Taster gesteuert werden.

    Bei Gelegenheit werde ich die Anleitung noch erweitern und verbessern.

  • Hallo,

    ich versuche mich auch gerade an dem RFID.. Habe wie Du das OSMC drauf, alles läuft nur bei dem Befehl

    Code
    python addcard.py PlayListFile.m3u


    kommt folgendes Ergebnis

    Code
    osmc@osmc:~/xbmc-rfid-music$ python addcard.py PlayListFile.m3u
    Traceback (most recent call last):
     File "addcard.py", line 12, in <module>
       dev.grab()
     File "/usr/local/lib/python2.7/dist-packages/evdev/device.py", line 287, in grab
       _input.ioctl_EVIOCGRAB(self.fd, 1)
    IOError: [Errno 16] Device or resource busy

    Hast Du eventuell eine Idee

    Gruß
    Yves

  • Hallo lulli,

    das hatte ich auch letztens.
    Von Zeit zu Zeit findet er den Reader auch nicht. Dann starte ich neu und dann geht es meistens.
    Eine andere Möglichkeit wäre noch den Reader abzuziehen und wieder anzustecken.

    Vielleicht kann sich einer von unseren Profis sich das mal anschauen.

  • Danke für die schnelle Antwort. Der Trick war das rausziehen und den Code

    Code
    sudo python addcard.py PlayListFile.m3u

    Jetzt kappt es.. Weißt Du eigentlich, ob es möglich ist auch videos abspielen zu lassen??

  • Hallo mex,

    ich werde hier noch verrückt :shy:
    Wollte das System einmal komplett neu auf einer 128 GB SD Karte aufsetzen. Alle genauso gemacht wie vorher. Habe auch keine Fehlermeldungen oder Sonstiges, aber mein Reader spuckt einfach nix mehr aus. Er leuchtet nur noch rot. An meinem Macbook funktioniert er noch ohne Probleme. Dachte schon er wäre defekt, aber das ist er nicht. Mit lsusb wird er auch erkannt. Habe die MacAdresse richtig eingegeben. Habe die conf.py angepasst... Hattest Du das eventuell auch mal???

    Gruß
    Yves

  • Hallo lulli,

    check mal in der config
    [code=php]rfidreader = "/dev/input/event2"[/php]
    dazu ggf. unter dem Pfad schauen und den Reader abziehen. Dann siehst du welchen Anschluss der Reader hat.

  • ab und zu tut Urlaub doch mal gut.. Mein Netzteil hatte nicht genug Power um den Raspberry und den Kartenleser zu versorgen, daher das Problem... Kannst Du mir den Schaltplan Deiner ganzen Taster erklären..
    Gruß
    Yves

  • Hallo,
    die Funktion siehst du ja auf den Fotos. Angeschlossen habe ich sie mit einem Controller aus einer USB-Tastatur. Es wird also alles mit einer Tastatur bedient, die nur noch die nötigen Tasten besitzt. Um die richtigen Kontakte zu finden musst du dir die Folien anschauen die in der Tastatur sind.
    Gruß
    mex_

  • Hallo zusammen,
    erstmal vielen Dank, dass du dir die Mühe gemacht hast, alles zu dokumentieren. Finde ich wirklich toll!

    Derzeit versuche ich mich ebenfalls an deiner Anleitung (allerdings mit OSMC). Meine Kenntnisse sind leider noch sehr jung....

    Ich habe alles gemacht wie bei dir und Fuzzwah beschrieben. Deine Dateien kopiert, Music kopiert, Playliste mit m3u.py erstellt, die Pfade angepasst, den Reader eingetragen.
    Ich kann auch den rfid Tag einer Playlist zuweisen (siehe Screenshot).

    Aber sobald ich die rfid-music.py starten will, passiert nichts mehr, sodass ich den Prozess dann unterbrechen muss.

    Die Log Datei bleibt leider leer. Habt ihr eine Idee woran das liegen könnte?

    Für eure Hilfe wäre ich sehr dankbar!

    Liebe Grüße
    Benni

    Update: Zwischenzeitlich habe ich es auch mal mit Xbian versucht. Leider genau das gleiche Verhalten....

    Allerdings komme ich hier an die log Datei. Sie sagt folgendes:

    Hoffe irgendjemand kann mir helfen.....


    Anbei die conf.py und die rfid-music.py.



  • Hallo anthrax232,

    beim Karten hinzufügen hatte ich auch schon Probleme siehe Seite eins.
    Eine Karte hast du ja schon eingetragen. Hast du den Code im Autostart eingetragen? Was passiert wenn du mit der Karte die .m3u starten willst?
    Test mal die .m3u ob die funktioniert. Entweder über TV oder Handy mit Yatse mal abspielen lassen.

  • Ich hänge an der selben Stelle. meine Log-Datei sieht wie folgt aus:

    Code
    2016-11-15 22:33:36,676 INFO     Card's playlist has m3u extension
    2016-11-15 22:33:36,678 INFO     Card 0006710176 is assigned to Astrid_lindgren-Immer_lustig_in_Bullerbu.m3u
    2016-11-15 22:33:36,680 ERROR    Playback: File (Astrid_lindgren-Immer_lustig_in_Bullerbu.m3u) could not be opened
    2016-11-15 22:33:39,144 ERROR    Traceback (most recent call last):
    2016-11-15 22:33:39,147 ERROR      File "rfid-music.py", line 127, in <module>
    2016-11-15 22:33:39,149 ERROR    for event in dev.read_loop():
    2016-11-15 22:33:39,151 ERROR      File "/usr/local/lib/python2.7/dist-packages/evdev/eventio.py", line 41, in read_loop
    2016-11-15 22:33:39,155 ERROR    r, w, x = select.select([self.fd], [], [])

    anthrax232, bist Du in der Zwischenzeit mit dem Problem weitergekommen?

    Kann jemand etwas mit der Fehlermeldung anfangen?

    Update:
    wenn ich den RFID-Reader abziehe und wieder einstecke, funktioniert es wieder? Sehr seltsam... Ich hoffe, das kommt im Dauerbetrieb nicht häufiger vor...

    Einmal editiert, zuletzt von midre (16. November 2016 um 11:02)

  • Ich habe jetzt noch folgendes Problem:
    Nach einem Reboot scanne ich Karten, die schon einmal einer Playlist zugewiesen wurden und es passiert nichts. In der Log-Datei steht, dass zu der Karte keine Playlist zugewiesen ist.

    Kann es sein, dass man etwas machen muss, um die Eintragungen in playlist.db irgendwie dauerhaft "fixieren" muss?

    Einmal editiert, zuletzt von midre (16. November 2016 um 22:04)

  • Hallo
    Falls das jemand nachbauen will.
    Das phyton.gpio lässt sich in osmc nicht über apt-get installieren.

    Aber es geht so

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

    Dann wird der phyton paketmanager genutzt.

    Grüße an alle

Jetzt mitmachen!

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