https://github.com/0bp/rfid-sonos
Application to listen to a USB RFID scanner to trigger Sonos playlists
https://github.com/0bp/rfid-sonos
php raspberry-pi rfid sonos
Last synced: 10 months ago
JSON representation
Application to listen to a USB RFID scanner to trigger Sonos playlists
- Host: GitHub
- URL: https://github.com/0bp/rfid-sonos
- Owner: 0bp
- Created: 2017-11-22T08:08:56.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-17T14:06:16.000Z (over 8 years ago)
- Last Synced: 2025-06-05T21:46:06.414Z (about 1 year ago)
- Topics: php, raspberry-pi, rfid, sonos
- Language: PHP
- Homepage:
- Size: 23.4 KB
- Stars: 10
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rfid-sonos
An application to listen to keyboard inputs of a RFID reader to start
playing playlist on Sonos speakers. Assign playlists to RFID cards and
start playing music by scanning RFID cards.
[Read the story behind](http://0xc2a0.com/001/avoiding-screen-devices.html)
## Requirements
1. A Raspberry Pi with Network connectivity
1. An USB RFID Reader (for example KKmoon M301)
## Install on Raspberry Pi
Build the executable phar file:
```
box build
```
Install the phar file on the Raspberry as `/home/pi/rfid-sonos.phar`
## Configuration
For a minimal setup you have to configure at least the Sonos room and
which keyboard should be used:
```
~/rfid-sonos.phar config --room "Living Room"
~/rfid-sonos.phar config --keyboard /dev/input/event0
```
To test everything before running the systemd service, start the
application manually:
```
~/rfid-sonos.phar run
```
If you scan a card that has not yet been assigned to a playlist
you can do so:
```
~/rfid-sonos.phar assign --card 2,0,4,8,3,5,1,1,5,2 --playlist Fun
```
## Install Systemd Service
Create /etc/systemd/system/rfid-sonos.service
```
[Service]
Type=forking
ExecStart=/home/pi/rfid-sonos.phar run
StandardOutput=null
Restart=on-failure
StandardError=syslog
User=pi
[Install]
WantedBy=multi-user.target
Alias=rfid-sonos.service
```
Start the service:
```
sudo service rfid-sonos start
```