Nun stellt euch mal vor, ihr müsst nur ein Tag vor dem Reader halten und schon wird eure Lieblings Playliste abgespielt oder die Playliste für die legendäre Party oder die Playliste für gemütliche Zweisamkeit oder was auch immer... ;-)
Wie ihr das macht, erkläre ich euch nun in diesem Post.
Als erstes müsst ihr natürlich den Reader wie hier beschrieben installiert haben, und natürlich auch den mpd-Player wie hier beschrieben, installiert haben.
Dann installiert ihr euch FileZilla und startet es.
Nun tragt ihr bei Server oben die IP-Adresse von euren Raspberry Pi ein, Username ist im Standard "Pi" und Kennwort "raspberry". Der Port ist 22 für SFTP.
Dann auf Verbinden und schon seht ihr sämtliche Ordner von eurem Raspberry Pi auf der rechten Seite und auf der linken Seite die Ordner von eurem PC.
Auf dem PC navigiert ihr zu eurer Musik und auf der rechten Seiten nach /var/lib/mpd/Music
Nun schiebt ihr einfach die Musik von links nach rechts.
Je nachdem wie viele MP3s ich übertragen wollt, kann dieser Vorgang eine Zeit in Anspruch nehmen.
Währenddessen verbinden wir uns mit Putty um die Playliste zu erstellen.
Sobald du dich eingeloggt, hast gibst du
cd /var/lib/mpd/playlists/
ein
nun erstellen wir eine neue Playliste mit
sudo nano playliste.m3u
Natürlich kannst du auch statt playliste.m3u irgendein anderen Namen geben.
Nun füllst du die Datei nach folgenden Schema.
Ich habe in dem Ordner "music" einen Unterordner "Asterix" mit einem Unterordner "Folge 3_ Asterix als Gladiator" und in dem sind dann sieben mp3s.
Nun mit
STRG+O speichern und mit STRG+X beenden.
Nun gebt ihr in der Konsole folgende Befehle nach einander ein (sofern die mp3-Übertragung erfolgreich abgeschlossen wurde)
mpc stop
mpc clear
mpc update
Nun ist die Playliste und die mp3s dem Raspberry bekannt und wir können mit
mpc load playliste
mpc Play
die Playliste abspielen.
Um nun ein Tag dazu zu nutzen die Playliste abzuspielen, wechseln wir in den Ordner wo unsere Read.py liegt
cd ~
cd /MFRC522-python
Mit
sudo python Read.py
starten wir das Script und halten das Tag davor. Nun wird uns eine ID angezeigt, diese merken wir uns.
drücken
STRG+C
um das Script zu beenden.
nun öffnen wir die Read.py mit
sudo nano Read.py
und ergänzen es am Ende pro Playliste mit folgenden Zeilen
if uid == [123,456,789,123,456]:
os.system("mpc stop")
os.system("mpc clear")
os.system("mpc load playliste")
os.system("mpc play")
das if muss auf derselben Höhe stehen wie das else: in der vorletzten Zeile.
Nun noch den Raspberry Pi mit
sudo nano reboot
neustarten und schon könnt ihr das Tag vorhalten (sofern das Ready.py im Autostart ist) und die passenden Playliste wird abgespielt.
Wie ihr das macht, erkläre ich euch nun in diesem Post.
Als erstes müsst ihr natürlich den Reader wie hier beschrieben installiert haben, und natürlich auch den mpd-Player wie hier beschrieben, installiert haben.
Dann installiert ihr euch FileZilla und startet es.
Nun tragt ihr bei Server oben die IP-Adresse von euren Raspberry Pi ein, Username ist im Standard "Pi" und Kennwort "raspberry". Der Port ist 22 für SFTP.
Dann auf Verbinden und schon seht ihr sämtliche Ordner von eurem Raspberry Pi auf der rechten Seite und auf der linken Seite die Ordner von eurem PC.
Auf dem PC navigiert ihr zu eurer Musik und auf der rechten Seiten nach /var/lib/mpd/Music
Nun schiebt ihr einfach die Musik von links nach rechts.
Je nachdem wie viele MP3s ich übertragen wollt, kann dieser Vorgang eine Zeit in Anspruch nehmen.
Währenddessen verbinden wir uns mit Putty um die Playliste zu erstellen.
Sobald du dich eingeloggt, hast gibst du
cd /var/lib/mpd/playlists/
ein
nun erstellen wir eine neue Playliste mit
sudo nano playliste.m3u
Natürlich kannst du auch statt playliste.m3u irgendein anderen Namen geben.
Nun füllst du die Datei nach folgenden Schema.
Ich habe in dem Ordner "music" einen Unterordner "Asterix" mit einem Unterordner "Folge 3_ Asterix als Gladiator" und in dem sind dann sieben mp3s.
Nun mit
STRG+O speichern und mit STRG+X beenden.
Nun gebt ihr in der Konsole folgende Befehle nach einander ein (sofern die mp3-Übertragung erfolgreich abgeschlossen wurde)
mpc stop
mpc clear
mpc update
Nun ist die Playliste und die mp3s dem Raspberry bekannt und wir können mit
mpc load playliste
mpc Play
die Playliste abspielen.
Um nun ein Tag dazu zu nutzen die Playliste abzuspielen, wechseln wir in den Ordner wo unsere Read.py liegt
cd ~
cd /MFRC522-python
Mit
sudo python Read.py
starten wir das Script und halten das Tag davor. Nun wird uns eine ID angezeigt, diese merken wir uns.
drücken
STRG+C
um das Script zu beenden.
nun öffnen wir die Read.py mit
sudo nano Read.py
und ergänzen es am Ende pro Playliste mit folgenden Zeilen
if uid == [123,456,789,123,456]:
os.system("mpc stop")
os.system("mpc clear")
os.system("mpc load playliste")
os.system("mpc play")
das if muss auf derselben Höhe stehen wie das else: in der vorletzten Zeile.
Nun noch den Raspberry Pi mit
sudo nano reboot
neustarten und schon könnt ihr das Tag vorhalten (sofern das Ready.py im Autostart ist) und die passenden Playliste wird abgespielt.
Hallo,
AntwortenLöschenvielen Dank für die ausführliche Anleitung. Sie ist wirklich super und auch für mich als Raspberry-Neuling wirklich brauchbar.
Leider komme ich an einer Stelle nicht weiter. Ich hab den mpd player erfolgreich installiert und meine Playlists lassen sich über die Kommandozeile abspielen. Ebenso habe ich den MFRC522-Reader denke ich erfolgreich angeschlossen. Solange ich keine Veränderungen im Read.py-Skript mache und eine Karte vorhalte, bekomme ich folgenden Code angezeigt:
Card detected
Card read UID: xxx,xxx,xxx,xxx
Size: 8
Sector 8 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Bis dahin scheint mir also alles zu funktionieren.
Wenn ich jetzt allerdings eine Playlists über eine NFC-Karte abspielen will, also in der Read.py
if uid == [xxx,xxx,xxx,xxx,xxx]:
os.system("mpc stop")
os.system("mpc clear")
os.system("mpc load playliste")
os.system("mpc play")
ergänze, reboote und anschließend das Read.py Skript ausführe, wird "Authentication error" ausgegeben (also der Else-Zweig). Ich habe zum Testen auch schon probiert auch in den If-Zweig einen Print-Befehl zu schreiben, aber leider führt dies zum selben Fehler. Natürlich habe ich die xxx durch die UID meiner Karte ersetzt.
Hast du eine Idee, woran das liegen könnte? Oder könntest du mir deine komplette Read.py zur Verfügung stellen, damit ich Sytax-Fehler ausschließen kann?
Das wäre wirklich super nett.
Leider habe ich es auch noch nicht geschafft, dass das Read.py Skript beim Starten automatisch ausgeführt wird. Wie geht das? Könnte es daran liegen?
Nochmal vielen Dank für die super Dokumentation!!!
VG Sandra
Hallo Sandra,
Löschenda mein Sohn nun nur noch die Version 2.0 im Einsatz habe, habe ich leider nicht mehr das komplette Read.py Skript zum hochladen.
Aber wenn du willst, kann ich dir die Skripte von der Version 2.0 geben.