Keine Beschreibung

Toastie 08512e7136 added usb expanson board vor 3 Jahren
deferred 3c53befa9f fixed typo vor 4 Jahren
droppy bbbeda35c9 added alternatives section vor 3 Jahren
ina219 9b4997a697 initial vor 4 Jahren
minio d961911bd4 added .gitignore vor 4 Jahren
mopidy 76d730b6a2 added locat ext. and volume default vor 4 Jahren
prep-sd 3c53befa9f fixed typo vor 4 Jahren
rfidac d5a37c58c9 set music folder as $music vor 4 Jahren
yt-dl d2664e510e initial vor 3 Jahren
README.md 08512e7136 added usb expanson board vor 3 Jahren
dudelbox-usb.jpg 48b46bfffe verkleinert vor 4 Jahren
install-docker.sh f49c8099e4 updated examples vor 4 Jahren

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€ oder Expansion Board 4 Port Hub 🛒 6€
  • USB Speaker mit eingebauter Soundkarte am USB Hub 🛒 8€
  • Card Reader 125 kHz (arbeitet quasi als Tastatur) am USB Hub 🛒 12€ Amazon DE / 5€ bei eBay aus CN
  • 50x EM4100 Chip-Karten 🛒 18€
  • OnOff Shim [🛒 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