Was es ist
Wie es umgesetzt ist
Was man noch machen könnte
Was Du brauchst
NFC-Leser Verkabelung
Die einzelnen Schritte (für Dokumentation und Nachbau)
Was es ist
Die Musikbox soll es Kindern (natürlich genauso auch Senioren) ermöglichen, ohne technische Kenntnisse, ihre Lieblings-Musik bzw -Hörbücher o.ä. abzuspielen. Dafür wird alles auf eine möglichst einfache und intuitive Benutzung ausgerichtet. Um ein Hörbuch abzuspielen, muss lediglich die Musikbox eingeschaltet und ein Gegenstand, der mit diesem Hörbuch assoziiert wird, auf ein markiertes Feld gestellt werden. Nimmt man den Gegenstand weg, pausiert der Abspieler und beim Zurückstellen des Gegenstands wird die Wiedergabe fortgesetzt.
Die Kosten liegen bei ungefähr 45 Euro
Wie es umgesetzt ist
- Ein Raspberry Pi Version 2 oder 3 oder Pi Zero bootet ein Raspbian
- ein Benutzer wird automatisch angemeldet
- ein Auto-Start-Skript fragt ständig den NFC-Leser ab
- sobald der Leser ein NFC-Signal empfängt
- wird entweder ein zuvor pausiertes Abspielen fortgesetzt
oder: - es wird geprüft, ob dieser ID schon ein abzuspielendes Verzeichnis zugeordnet ist
- Ist noch kein Verzeichnis der ID zugeordnet, wird das nächste, noch keiner ID zugeordnete Verzeichnis auf einem angeschlossenen USB-Stick dieser ID zugeordnet
- die erste Datei im zugeordneten Verzeichnis wird abgespielt und die folgenden Dateien werden in der Wiedergabeliste eingereiht
- wird entweder ein zuvor pausiertes Abspielen fortgesetzt
- sobald der Leser kein NFC-Signal mehr empfängt
- wird die Wiedergabe pausiert
Was man noch machen könnte
- Bootzeit optimieren
- Problem mit Umlauten und SOnderzeichen in Musik-Verzeichnisnamen
- Stromsparen
- LEDs aus
- HDMI aus
- NFC-Tag zum Herunterfahren festlegen
- Images für Zero und normale Pis gegenseitig testen und zusammenbringen
- auf Python- oder C-Lösung festlegen
Was Du brauchst
- Raspberry Pi (egal welche Version)
- Stromversorgung für den Pi
- bei dem Raspberry Zero wird zusätzlich benötigt:
- micro sd Karte (4 GB oder größer)
- USB-Stick (zum Speichern der abzuspielenden Musik)
- SD-Karten-Abbild - raspbian user: pi pass: R0teB0x
- Pi Zero DOWNLOAD HIER
- Pi V2 oder V3 DOWNLOAD HIER
- Lautsprecher mit Klinkenanschluss (bspw. klassische PC-Boxen)
- NFC-Leser: MIFARE RC522 Chip (ebay-Link)
- Regenbogen-Kabel weiblich-weiblich (ebay-Link)
- Lötkolben und Lötzinn
NFC-Leser Verkabelung
Use the following wiring:
RFID-RC522 Pin | Raspberry PI Pin | Raspberry PI Pin name |
SDA/NSS | 24 | GPIO8 |
SCK | 23 | GPIO11 |
MOSI | 19 | GPIO10 |
MISO | 21 | GPIO9 |
IRQ | None | None |
GND | 20 | GND |
RST | 22 | GPIO25 |
3.3V/VCC | 17 | 3V3 |
die einzelnen Schritte (zwecks Doku und Nachbau)
Das folgende ist teilweise unvollständig oder aus der Erinnerung dokumentiert. Es hilft sicher weiter, ist aber keine Schritt-Für-Schritt-Durchklick-Anleitung.
SPI aktivieren
Run sudo raspi-config,
choose Advanced Options -> SPI -> Yes . You can reboot, but it isn't necessary (dtoverlay -l will show that there is a run-time overlay that enables the SPI interface).
Install git and python-dev:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-dev git
Install the SPI-Py library:
git clone https://github.com/lthiery/SPI-Py.git
cd SPI-Py
sudo python setup.py install
cd ..
Install MFCR522-python:
cd ~
git clone https://github.com/mxgxw/MFRC522-python.git
cd MFRC522-python/
Run the script:
sudo python Read.py
MusikBoxSkript automatisch starten
benutzer automatisch einloggen lassen
sudo joe /etc/systemd/system/getty@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin "user account" %I
nach Benutzer-Login automatisch Skript starten
joe /home/pi/.profile
bash /home/pi/musikbox/start.sh
Umlaut-Fragezeichen-Dreck:
sudo apt-get install convmv
convmv -f iso-8859-15 -t utf8 -r /Pfad/zur/Datei/oder/Ordner/ --notest
GPIO für Knopf
echo 4 >/sys/class/gpio/export
echo in >/sys/class/gpio/gpio4/direction
cat /sys/class/gpio/gpio4/value
Audio standardmäßig auf USB-Soundkarte ausgeben
sudo joe /usr/share/alsa/alsa.conf
defaults.ctl.card 0
defaults.pcm.card 0
ändern auf:
defaults.ctl.card 1
defaults.pcm.card 1
c-Programm fuer RFID-Lesegerät
quelle: http://www.nikolaus-lueneburg.de/2014/06/rfid-rc522-modul-mit-spi-schnittstelle/
Für den Zugriff auf die Raspberry Pi Schnittstellen wird die C Bibliothek für den Broadcom BCM 2835 Chip benötigt.
- wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.50.tar.gz
- tar -xzf ./bcm2835-1.50.tar.gz
- cd bcm2835-1.50/
- ./configure
- make
- sudo make install
dann das c-Programm runterladen und bauen
- wget https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/rpi-rc522/source-archive.zip
- unzip source-archive.zip
- cd rpi-rc522/trunk/rc522
- gcc config.c rfid.c rc522.c main.c -o rc522_reader -lbcm2835
- sudo cp RC522.conf /etc/
- sudo ./rc522_reader -d
alternativ: das Python-Dingen:
sudo python /home/pi/MFRC522-python/Read.py
das Paket usbmount
apt get install usbmount