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:


    [Blocked Image: http://abload.de/thumb/dsc01645w9jj6.jpg]   [Blocked Image: http://abload.de/thumb/dsc01643clje5.jpg]   [Blocked Image: http://abload.de/thumb/dsc01644kpk2i.jpg]   [Blocked Image: http://abload.de/thumb/dsc0164017khz.jpg]   [Blocked Image: http://abload.de/thumb/dsc0164161jm9.jpg]   [Blocked Image: http://abload.de/thumb/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:



    [Blocked Image: http://abload.de/thumb/dsc01639txjgf.jpg]   [Blocked Image: http://abload.de/thumb/dsc01637mpkhr.jpg]   [Blocked Image: http://abload.de/thumb/dsc01638hskyg.jpg]   [Blocked Image: http://abload.de/thumb/dsc01634w2jzk.jpg]   [Blocked Image: http://abload.de/thumb/dsc01635acjhi.jpg]   [Blocked Image: http://abload.de/thumb/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.

    Edited once, last by mex_ ().

  • 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 ;)

  • 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
    1. osmc


    Dort erst einmal nacheinander eingeben:

    Code
    1. sudo apt-get update
    2. 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
    1. sudo apt-get install -y curl wget binutils alsa-utils


    Nun kann man mit

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


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

    Code
    1. sudo apt-get install python-dev
    2. 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
    1. python addcard.py ~/.xbmc/userdata/Playlists/music/PlayListFile.m3u


    sondern

    Code
    1. python addcard.py PlayListFile.m3u


    legt man noch Unterordner an, muss das dann so aussehen

    Code
    1. 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
    1. python addcard.py PlayListFile.m3u


    kommt folgendes Ergebnis

    Code
    1. osmc@osmc:~/xbmc-rfid-music$ python addcard.py PlayListFile.m3u
    2. Traceback (most recent call last):
    3.  File "addcard.py", line 12, in <module>
    4.    dev.grab()
    5.  File "/usr/local/lib/python2.7/dist-packages/evdev/device.py", line 287, in grab
    6.    _input.ioctl_EVIOCGRAB(self.fd, 1)
    7. 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
    1. 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_

  • Super, habe im Keller noch eine alte gefunden und lese sie gerade aus.. Klasse Idee nur den Tastaturcontroller zu verbauen... Danke

  • 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
    1. 2016-11-15 22:33:36,676 INFO     Card's playlist has m3u extension
    2. 2016-11-15 22:33:36,678 INFO     Card 0006710176 is assigned to Astrid_lindgren-Immer_lustig_in_Bullerbu.m3u
    3. 2016-11-15 22:33:36,680 ERROR    Playback: File (Astrid_lindgren-Immer_lustig_in_Bullerbu.m3u) could not be opened
    4. 2016-11-15 22:33:39,144 ERROR    Traceback (most recent call last):
    5. 2016-11-15 22:33:39,147 ERROR      File "rfid-music.py", line 127, in <module>
    6. 2016-11-15 22:33:39,149 ERROR    for event in dev.read_loop():
    7. 2016-11-15 22:33:39,151 ERROR      File "/usr/local/lib/python2.7/dist-packages/evdev/eventio.py", line 41, in read_loop
    8. 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...

    Edited once, last by midre ().

  • 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?

    Edited once, last by midre ().

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


    Aber es geht so

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


    Dann wird der phyton paketmanager genutzt.


    Grüße an alle