diff --git a/README.md b/README.md new file mode 100644 index 0000000..0bf92b8 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# Rasperry Pi RFID Jukebox + +Disclaimer: this is a perpetual work in progress! + +This is a personal project of [Annika Backstrom][1] for using a Raspberry Pi as +an RFID-controlled "jukebox". Given an RPi with attached MFRC522, UIDs from 1K +MIFARE tags can be associated with media (MP3 files) and actions (currently, +STOP and PAUSE). + +## Components + +* Jukebox app with web frontend (node.js) +* RFID tag reader (Python) +* MP3 player (mpg321, not included) + +## Setup + +This section is incomplete (of course) and parts are tuned to my setup and +for my own convenience: + +1. Clone project +2. Copy config.json.sample to config.json +3. Edit config.json for your setup +4. `npm install` (node.js dependencies) +5. `make all` (Python dependencies, mpg321 dependency) + +TODO: Can this be streamlined? Maybe move Makefile commands into `npm` commands. + +## config.json + +The following keys are available: + +* `port` -- web server port +* `tag_reader` -- path to tag reader script. jukebox expects the tag reader to + spit out a unique string for each tag (e.g. 10 character hex UID) +* `mpg321` -- path to mpg321 executable. should be run in "remote control" mode + (`-R`), reading commands from stdin. +* `stop_id` -- id of the card that stops playback +* `pause_id` -- id of card that pauses playback + + [1]: https://sixohthree.com/