chebe: (VintageMoon)
2017-03-28 12:24 am
Entry tags:

Pimoroni Pirate Radio tweak; aka 'Talk to me Sweetie!'

You know what's super annoying? Not knowing the ip-address of the server you're trying to access. I could scan the network and find the right machine. But, I'm lazy. And, the server knows its own ip, it should simply tell me.

This is something I believed my Pirate Radio could manage. When the pHAT BEAT bonnet gets installed it sets itself up with a daemon in /usr/bin. Technically I installed it twice (once for spotipy as well). I don't know if the code differs, but as I installed vlc-radio last, that's the code I will play with.

Think it through. I've just booted up the server. The volume and power buttons do very necessary jobs, so we'll leave them alone. The fast-forward and rewind buttons start playing a station/cycle through stations. Very useful if you can't be bothered finding the ip-address. That leaves Play/Pause, which doesn't do anything until a station has started streaming. And if I have access to the web interface, well I can do that very job there. That's it, I'm sacrificing Play/Pause!

In the end I simply replaced line#204 with a call out to my script;
(making sure to import it at the top of the file. Let's hear it for the wonders of Open Source!)

What script you ask? A simple one, to parse the wlan0 ip from ifconfig, and then a call to text-to-speech to actually read it out loud to me.

You'll probably need to install the text-to-speech stuff;
sudo pip install pyttsx
sudo apt-get install espeak

Then save this as a file named (or whatever) into /usr/bin

#!/usr/bin/env python

import os, pyttsx, time

def read_ip():
f = os.popen('ifconfig wlan0 | grep "inet\ addr" | cut -d: -f2 | cut -d" " -f1')


print your_ip

if __name__ == '__main__':

And sure, give it a reboot to make sure the changes are picked up.

Now, when I press play the Pirate Radio reads out its ip-address to me! So handy.
(Note; if you press play with monitor and OTG cable attached, it'll probably crash and reboot. So don't do that.)
chebe: (Purple - DanceLikeNooneisWatching)
2017-03-26 10:44 pm
Entry tags:

Pimoroni Pirate Radio

Order the Raspberry Pi Zero W Pirate Radio (get it?) kit.
Assemble. Making sure you put the headers on the correct way around *cough*.

Download the NOOBS installer. Extract archive. Copy contents to microSD card of 8GB+.
Put microSD card in Pi, supply power to boot. (You will need a monitor (micro HDMI), OTG micro-USB adapter to plug in keyboard and mouse.)
When boots into installer connect to wifi. (Have the details handy, you'll need them again later.)
From the network install list select Raspbian Jessie Lite.
Lite boots into console only (you can do away with the mouse now). Default login deatils are; pi/raspberry. You'll need to edit a config file to connect back to wifi;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
And add;

Once online, install all your favourites (*cough* vim *cough*). Now is also a good time to set up the Pi as you want it. For instance, change the hostname;
sudo hostnamectl set-hostname new_host_name
You'll also need to update the hosts file;
sudo vim /etc/hosts
And update the line that says; raspberrypi

You can test the speaker with;
aplay /usr/share/sounds/alsa/Front_Center.wav

Okay, so far so good. But, it's supposed to be a radio yeah? Do you have Spotify Premium? Then you can hook it up, with a convenient one-line installer;
curl | bash
It will install a whole load of things (details here), asking for your input (including Spotify login details), and then reboot.

From another device you can access the web interface at (run ifconfig on the Pi and take the ip address from the wlan0 interface). You'll need to go to the Settings tab and Authorize your Spotify account. Ta-da, that's it, rock out.

(But, it seems the installer doesn't actually remember your Spotify details properly, so open /etc/mopidy/mopidy.conf, down the bottom check that the [spotify] section contains your username and password. It had forgotten my username and mangled my password, so definitely check.)

(Also, your session will timeout regularly, just log back in, no worries.)

But, I was not content with just Spotify. I wanted actual internet radio. So I installed the vlc-radio as well.
Again, just one line installer;
curl | bash
You can access the web interface at (default login details; blank username/raspberry).
If you want to queue up your own internet radio stations save them as playlist.m3u, and scp over to /home/pi/.config/vlc/. Then reboot.

(SSH server is off by default, you can turn it on through sudo raspi-config, more details here.)

Other than warning you that the default volume is very high, that's it. Enjoy!