説明なし

Toastie d5a37c58c9 set music folder as $music 4 年 前
deferred 3c53befa9f fixed typo 4 年 前
droppy 9a2fea3e16 added restart policy 4 年 前
ina219 9b4997a697 initial 4 年 前
mopidy de9b223c8d referred to shell history independant of the used shell 4 年 前
prep-sd 3c53befa9f fixed typo 4 年 前
rfidac d5a37c58c9 set music folder as $music 4 年 前
yt-dl 3c53befa9f fixed typo 4 年 前
README.md fe2e7b8ea6 added links to amazon 4 年 前
dudelbox-usb.jpg 48b46bfffe verkleinert 4 年 前
install-docker.sh f49c8099e4 updated examples 4 年 前

README.md

dudelbox

Hardware

  • USB Netzteil mit USB Typ A Buchse (>= 2A) 🛒 8€
  • Pi Zero W (per Micro-USB Kabel am Netzteil) 🛒 12€
  • SanDisk Ultra 32GB microSDHC UHS-I Class 10 🛒 8€
  • Passiver USB Hub (per USB OTG Adapter am Pi) 🛒 6€ 🛒 2€
  • USB Speaker mit eingebauter Soundkarte am USB Hub 🛒 8€
  • Card Reader 125 kHz (arbeitet quasi als Tastatur) am USB Hub 🛒 12€
  • 50x EM4100 Chip-Karten 🛒 18€

Software

  • Raspbian Buster Lite
  • Docker und Docker-Compose

Container / Services

  • droppy Web-Dateimanager, (Port 8989, http)
  • mopidy Music Player:
    • Spielt Medien ab
    • Iris-Extension (WebUI) zur manuellen Steuerung (Port 80, http)
    • MPD-Extension zur Steuerung per MPD-Protokoll (Port 6600)
  • rfidac
    • Liest den USB RDIF Reader
    • Führt Bash-Skipts mit der Tag ID als Namen aus
    • Steuert mopidy per mpd (mpc)
    • Aktualisiert Tag-Ordner im Medien-Verzeichnis

Volumes

  • /home/pi/dudelbox/mopidy/data/mopidy/music/
    • rfidac legt Ordner mit der Tag-ID hier an
    • mopidy spielt die Medien hier ab
    • droppy lässt Dateien hier hochladen, verschieben, löschen und editieren

Tag Actions

  • Die eingesetzten 125 kHz Tags kodieren eine 10-stellige Nummer (ID)
  • Für jeden erkannten Tag wird ein Bash-Skript mit dem Namen der ID ausgeführt, z.B. 0012482569
  • Sollte das Script noch nicht vorhanden sein, wird es als Kopie von _action_tempalte erstellt
  • Das Skript kann jetzt angepasst werden um z.B.:
    • Die Lautstäre zu regeln oder die Wiedergabe zu stoppen
    • Den Pi herunterzufahren
    • Eine bestimmte URI oder Playlist abzuspielen
  • Ohne Anpassung werden vom Skript folgende Aktionen ausgeführt:
    • Im Medien-Ordner wird eine Ordner mit Tag-ID als Namen angelegt (falls noch nicht vorhanden)
    • Der Zeitstempel des Ordners wird aktuallisiert indem eine Datei .lastplay gelöscht und dann angelegt wird
    • Etwaig bestehende Titel in der Playlist werden gelöscht und etwaig gespielte Titel gestoppt
    • Alle Medien im Ordner werden der Playliste hinzugefügt und abgespielt

Konfiguration

Siehe .env für die jeweilgen Container

Glosar

  • Tag: RFID Transponder, z.B. Karte oder Fob