Radio on the internet radio streamer

VLC radio streamer

I wanted to have a way to play fm radio streams other than having a bookmarks folder and have it all self contained. I used a Raspberry pi 3b, some speakers, led 7 segment display and a numpad.

I used VLC to stream FM radio streams that I found on each of the radio websites. I am storing these streams in a Google Spreadsheet to make updating easier. The first 9 rows on the sheet correspond to the 1 - 9 keys. I can include extra streams the spreadsheet and they can be accessed either randomly or sequentially. I mapped the 0 key to pick random stream from any stream over 9 or I can step through them with the mapped key right above the 0 key. I currently have 32 streams to pick from. I am using a mechanical numpad keypad mounted sideways and usb plugged into the Raspberry pi.

I also Included a mute key and a pause key and they have an led indicator for each. You can also control the volume and there is an audio sound for minimum and max volume. The end key ends the program which I kept and mainly used when debugging. There is a small power button at the top that is used to boot and power down. These are wired into the appropriate GPIO's

I connected a cheap 8 digit led 7 segment to use to show channel info. Channel number and short description or call letters.  The letters get a bit funky when displaying some letters on a 7 segment but once you learn the pattern you can figure it out. I also included a transition animation because, just because.

The speakers are just some cheap usb speakers that use a 1/8 inch headphone plug. They make a buzzing sound but that is fine with me.

The case! The case is an old film slide projector. I removed everything and cut a new hole for the other speaker. I sort of painted it black and it looks somewhat like a cyberpunk prop.

Before:



After:

Also do not look inside. Everything is just jammed in there.



The code is still a work in progress. Things could be optimized and there may better ways to do things but it works. It is so hard to get a project completed but this works for me.

Check out the code in github. It was created from trial and error and evolved to where it is now.

I run the script from the terminal so I need to wait for the gui to load and for network connection. Once everything is loaded I send a ready message to the display and it is waiting for input. Then simply detect keypress in a while loop and perform the needed action.

Comments

Popular Posts