I have now got to testing the Python script for my Google Play Music Radio on the Raspberry Pi, in doing this I found several problems:
- PyALSAaudio will not change volume levels anything as smoothly or responsively as it did on my laptop, as a result I will use a pair of digital potentiometer ICs to control the volume between the 3.5mm jack on the Pi and the 3.5mm 5 pin headphone jack (which switches the audio to the amplifiers automatically if no jack is present).
- GStreamer emits loud pops between songs, I don't think I can do much about this, from what I gather this is an issue with ALSA running on the Pi.
However, the main parts are now all working, here is a list of all that is left to do:
- Update volume management class for digital potentiometers and amplifier power.
- Update LCD management class to turn off backlight after a period of inactivity.
- Add Python code for giving a song a "Thumbs Up" on Google Play as well as Loving it on Last.fm.
- A strange scrobbling bug has emerged, it needs fixed.
- Test all electronics on a standalone Atmel IC, rather than an Arduino Nano.
- Finalise PCB design.
- Construct electronics.
- Design and construct enclosure.
Here is a video of the testing, it is very brief and not all functions are shown, but the fact that GStreamer, the Google Play API, Last.fm API and logic level converters worked was enough for me to call this a success.
Again, I was relying on tapping the legs of resistors with a ground wire to simulate switched so it's not the best video, also on the final design the encoders (used to move cursor in menus) will be read using an interrupt enabled pin so it should perform a lot better than it does in this video.