Many thanks to SWLing Post contributor, Richard Schreiber (KE7KRF), who shares the following guest post:
Yet Another Internet Radio!
by Richard Schreiber (KE7KRF)
After deciding that an internet radio could be an important source of entertainment in our household, we formulated a few general guidelines:
- We opted not to use an aggregator but would pick and choose stations we enjoyed and discover the URL’s ourselves. Also would be satisfied with a couple of dozen stations. Based on a recent decision to pare down the number of TV channels we were paying for, having access to hundreds of stations seemed impractical and unnecessary.
- The price had to be affordable, thus eliminating many stand-alone, commercially available internet radios.
- We already owned a quality portable speaker (Bose SoundLink Mini) so the internet radio didn’t need to duplicate that component.
- Didn’t want to tie up nor be tethered to a laptop, tablet, or netbook. We predicted that would eventually lead to less and less use of the radio.
After some research, coupled with the fact I already had some experience with Raspberry Pi computers, that small device appeared to be our best choice. I had recently purchased the newer 2 B model, which has plenty of computing power, and had installed Ubuntu Linaro as the OS. (As an aside, this OS has not to my knowledge been upgraded for the latest Raspberry Pi 3). There are several other operating systems that will work just as well including the official Raspbian OS available through the Raspberry Pi Foundation.
I installed the MPD music player daemon and its client MPC, which is used to add to and delete station URL’s from the playlist, control volume, etc. An important find was the iPhone app called MPod which provides remote wireless access to the features of MPC. At the moment it is a free app for the iPhone (in my case the iPod Touch).
For portability, my Raspberry Pi is being used “headless”, meaning it is not connected to a monitor, keyboard or mouse. If maintenance is required you can use PuTTY, a SSH and telnet client, wirelessly from a Windows (or MAC?) PC, using a command-line interface. Mainly this is needed to shut down the Raspberry Pi properly before turning off the power, but it boots completely on its own when powered up. The MPod app will then load the playlist of stations and let you start playing the radio without direct access to the Raspberry Pi.
The sound output of my Raspberry Pi is connected to the auxiliary port of our Bose SoundLink Mini Bluetooth speaker. But instead of trying to implement Bluetooth on the Raspberry Pi, I took the easy way out and use a direct connection. The sound reproduction from this setup is very good, though audiophiles might be somewhat more critical.
The above represents a minimal investment if you already have a good speaker on hand. It does require some on-line research and learning at least enough to install the OS and software. The good news is that there are many websites and forums providing step-by-step instructions and helpful hobbyists willing to explain some of the more cryptic aspects. A few of the websites that I found to be helpful:
http://www.instructables.com/id/Arduino-Raspberry-Pi-Internet
http://cagewebdev.com/raspberry-pi-playing-internet-radio
https://learn.adafruit.com/raspberry-pi-radio-player-with-touchscreen
A couple of these also explain how to add a display to your Raspberry Pi internet radio.
Our Raspberry Pi radio is on each evening and has been trouble free. It is worth mentioning that this is a very portable setup, and can even be powered by a battery pack (the kind used for recharging tablets and cell phones) for a few hours. Of course you need to be near a wifi hotspot.
Thank you, Richard! What a great way to use the inexpensive Raspberry Pi. I have a spare Pi2 and an amplified speaker here at the house. Though I don’t need another WiFi radio, it would be fun putting this little system together.