We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
I am trying to setup this project at home and when I test for playback I receive the below error...
pi@raspberrypi:~/diskplayer $ ./player -uri spotify:album:3oyu7chRauu88JYPYfFB55
2020/07/02 16:27:19 client identified by Diskplayer not found
Here are my yaml file settings, with the client id and secret removed.
spotify:
callback_url: http://localhost:8080/callback
device_name: Diskplayer
client_id: ****
client_secret: ****
recorder:
folder_path: /tmp
filename: diskplayer.contents
server_port: 3000
token:
path: ./token.json
Any ideas why the client identified is not found?
Omg I had a similar idea with yours.
This is truly amazing!
I use a bluetooth speaker instead of a sound add-on and I store web radio urls in the floppy drives instead of Spotify playlists.
Visitors seem to enjoy the idea a lot and it definitely has caused some awesome reactions!
Keep up the good work. Your project is really cool.
Thank you for the kind words! Your project also sounds interesting. Was your floppy-disk web radio tuner running on a Pi or on a PC?
It is based on a Raspberry Pi Zero W. I find the processing power to be sufficient and the output power to be enough to drive a usb floppy drive. I created a system service responsible for playing music for the provided web radio URL so every time you pick another disk I stop that service and start it up again with another URL. I do believe though that a NFC tag version will also be awesome. You should build that too.
Great article, I love the idea of using floppy disks! I recently built a multi-room RFID/NFC-enabled project with a RPi + Mopidy + Spotify (works fine) + Snapcast.
In case anyone wants to build an RFID-enabled jukebox: here's RFID software I wrote: https://github.com/scheleaa... and the Ansible scripts to install the RFID reader: https://github.com/scheleaa.... You can also check my GitHub profile for Ansible scripts to install Mopidy and Snapcast.
This is a really cool idea!
I have been trying to get this to work for several days now but always end up with an error message.
Running "./player -uri spotify:album:3oyu7chRauu88JYPYfFB55" for example works just fine. But when inserting the disk to trigger the shell script, I end up with:
Fri 14 Feb 23:13:12 CET 2020 Start.
Fri 14 Feb 23:13:12 CET 2020 Media change detected on device /dev/sda
sda 8:0 1 1.4M 0 disk
Fri 14 Feb 23:13:12 CET 2020 Device exists on machine.
Fri 14 Feb 23:13:12 CET 2020 Mounting device /dev/sda to /media/floppy.
Started unit media-floppy.mount for mount point: /media/floppy
2020/02/14 23:13:16 Get https://api.spotify.com/v1/me/player/devices: Post https://accounts.spotify.com/api/token: dial tcp: lookup accounts.spotify.com on 10.0.0.253:53: write udp 10.0.0.178:51603->10.0.0.253:53: write: operation not permitted
Stopped unit media-floppy.mount for mount point: /media/floppy
Fri 14 Feb 23:13:16 CET 2020 End.
Do you have any idea what might be wrong?
Sorry, I know you specifically said you are done with the project and that you are not going to support it. But I really can't see what I might have missed. Could there be details missing in the documentations?
I could not get it to work unless I ran "player" and the spotifyd.service as the pi user, like this:
.....
if [ $? -eq 0 ]; then
echo "$(date) Device exists on machine."
echo "$(date) Mounting device $1 to /media/floppy."
/usr/bin/systemd-mount $1 /media/floppy
runuser -l pi -c 'systemctl --user start spotifyd.service'
cd /opt
runuser -l pi -c '/home/pi/player --path /media/floppy/diskplayer.contents'
/usr/bin/systemd-mount --umount /media/floppy
else
echo "$(date) Device does not exist on machine."
cd /opt
runuser -l pi -c '/home/pi/player --pause'
runuser -l pi -c 'systemctl --user stop spotifyd.service'
fi
echo "$(date) End."
Thanks for making this great project!
Thank you so much! I was facing the "write" issue as well and the runuser fix worked for me here
Great! :)
Daniel Johansson Did you ever get an error related to 'client identified not found'? I was able to get to the point you are at except for that error.
pi@raspberrypi:~ $ cat mount.log
Sun 05 Jul 2020 11:06:35 AM CDT Start.
Sun 05 Jul 2020 11:06:35 AM CDT Media change detected on device /dev/sda
sda 8:0 1 1.4M 0 disk
Sun 05 Jul 2020 11:06:35 AM CDT Device exists on machine.
Sun 05 Jul 2020 11:06:35 AM CDT Mounting device /dev/sda to /media/floppy.
Started unit media-floppy.mount for mount point: /media/floppy
2020/07/05 11:06:38 client identified by spotifyd not found
Stopped unit media-floppy.mount for mount point: /media/floppy
Sun 05 Jul 2020 11:06:38 AM CDT End.
If anyone finds this thread it looks like Christopher opened an issue on Github and got a reply here. The solution is setting up spotifyd discussed earlier in this write-up
Hi Daniel, sorry I didn't respond earlier! I can't recall of the top of my head, but I will take a look at my command history on the Pi and how my systemd service is configured, I might have done something related to the user.
Thank you for the kind words :)
This is sick!
I thought about making a retro console doing something similar using floppy disks.
Nice work. I did a similar project with an old cassette boombox and Google Play Music. I put NFC nail tags in a bunch of old cassettes I bought on Etsy, and used a Pi with a DAC hat. The tag data could correspond to an album, an artist or a playlisy. I made the buttons work and even added voice control.
I never use it though, it's more convenient and better sounding to just cast to my Sonos or a Bluetooth device.
That sounds very cool! NFC tags are cool because you are then not limited by the media... technically you could use everyday objects to represent albums... a beer mug, a teapot, a cheese grater... :P
My original idea was to use vinyl records with RFID tags and a record player with an embedded RFID reader. I wanted the tag to be read when the record was placed on the record player, and then playback controlled via the player buttons. I found that the distance required for the RFID reader was too great to work from inside the record player out through the platter to read the tag on the record, so I abandoned that idea.
At the time I was using Mopidy, and I see on the Mopidy front page there they also feature a cassette based project: https://www.youtube.com/wat...
Interesting and nice idea. I think an interesting addiction is to make it possible if there's an m3u file or the like on the floppy, that the playlist will be played instead.
I still buy music on CD, by the way, normally on flea markets or when I go to a gig.
For that task of playing local media I think it might be a good idea to switch to using Mopidy as a music server on the Pi, and then using playlist IDs on the disks. It would be an interesting extension to the project to allow for various sources of music.
Super cool idea, very retro!
Hey Dino,
Check it out:
https://www.raspberrypi.com...