I made one of these a few months ago – they’re super simple – but Chris Lynas asked me about it, so I thought I should write it up quickly.
It’s an internet radio that turns itself on for the Archers then turns itself off again afterwards. It’s not very smart: it just uses a crontab and the default Radiodan application’s REST API. It would be more interesting to do it based on real-time metadata. I’ll have a look at that at some point, but this does the job, as the Archers doesn’t move round much at all.
You’ll need: A Raspberry Pi, a speaker with a 3.5mm jack, a USB wifi card (ideally RT5370 chipset), an 8GB micro SD card, a power supply for the PI. And a nice box to put it in.
1. Provision the SD card
If none of this is familiar you might want to follow the official Raspberry Pi instructions. I did this on Mac OS X – it ought to work on linux.
Get the Radiodan 8GB SD card image:
curl -O http://dev.notu.be/2014/12/radiodan/2014-12-23-radiodan.img.gz
Plug the SD card into the laptop using a card reader. List disks:
$ diskutil list
Find the disk number (e.g. “2”). Unmount that disk.
$ diskutil unmountDisk /dev/diskX
Unzip and write the image in 1 step:
$ gzip -dc /path/to/2014-12-23-radiodan.img.gz | sudo dd of=/dev/diskX bs=1m
2. Get the wifi working
Plug everything into the Pi, add the SD card and turn it on.
Then, either:
Wait for it to boot up, look for and connect to the wifi it generates (radiodan-configuration) and follow the instructions on the captive portal it generates, returning to your usual wifi afterwards.
The success of this depends on your chipset – I’ve done a quick analysis here and some just won’t work.
OR, login and add your wifi details to /etc/wpa_supplicant/wpa_supplicant.conf –
network={ ssid="YOUR_NETWORK_NAME" psk="YOUR_NETWORK_PASSWORD" }
usually does the trick. Either way, reboot afterwards.
3. Add a crontab
Ssh in :
$ ssh pi@radiodan.local
password “raspberry”
$ crontab -e
This is for the Archers, using the Radiodan REST API:
# turn it on at 14:02 weekdays 2 13 * * 1-5 /usr/bin/curl -X POST http://localhost/radio/service/radio4 # turn it off at 14:15 weekdays 15 13 * * 1-5,7 /usr/bin/curl -X DELETE http://localhost/radio/power # turn it on at 19:02 weekdays and sundays 2 18 * * 1-5,7 /usr/bin/curl -X POST http://localhost/radio/service/radio4 # turn it off at 19:15 weekdays and sundays 15 18 * * 1-5,7 /usr/bin/curl -X DELETE http://localhost/radio/power # turn it on at 10:00 on sundays for the omnibus edition 0 9 * * 7 /usr/bin/curl -X POST http://localhost/radio/service/radio4 # and turn it off at 11:15 15 10 * * 7 /usr/bin/curl -X DELETE http://localhost/radio/power
Save the crontab file.
4. Put it in a box
And enjoy your Radiodan 🙂