soma-pi
soma-pi copied to clipboard
A frontend for soma-pi, a Soma FM playing Pi Jukebox
#soma-pi
A frontend for a SomaFM Pi Jukebox. Soma-pi will provide a web-frontend that can be used to select a station. It'll work with any internet radio stream, but comes with SomaFM streams out of the box. You'll need to hook up your Pi to some speakers. The design is responsive, and should look nice on your phone/tablet as well as your desktop computer.
###Setup/Installation:
- Not covered in this guide: Setting up ssh/wireless/sound card. These topics are covered in this lifehacker guide.
- Assuming you've got the Pi set up as you want, you'll need to install the required tools:
sudo apt-get install mpd mpc python-mpd python-setuptools screen
- Test that
mpc
is working by entering the commandsudo mpc
. You should see output like
volume: 80% repeat: off random: off single: off consume: off
There are futher instructions for setting up/testing mpc if you want them. - Next you'll need to use
easy_install
to install Django:
sudo easy_install django
- Now clone this repository:
git clone git://github.com/fredley/soma-pi.git
cd soma-pi
- Now set up the Django app with the following commands. This will create the database:
./manage.py syncdb
During this step you will be asked for a superuser name and password. You can use these to access the admin should you want to. - [optional] This will pre-populate the database with all of the SomaFM stations :
./manage.py init_soma
- You're now ready to roll! Start up a screen by typing
screen
. Running the server in the screen means that it will keep running afterssh
is disconnected. You need to usesudo
for this command if you want to use port 80 (recommended).
sudo ./manage.py runserver 0.0.0.0:80
- You should now be able to access soma-pi from your web browser, point it at the IP of your Pi. You can go to
http://192.168.pi.ip/admin
and log in with your credentials to access the admin. - Setting up a better web server is left as an excercise for the enthusiast. I can personally recommend gunicorn.
-
Bonus Pebble Round If you have Glance for Pebble you can configure Tasker to operate Soma-Pi with your watch buttons. Simply set up tasks according to Christopher Stein's guide, using the
HTTP GET
action and entering the URL to be (for example)192.168.pi.ip/random
or192.168.pi.ip/stop
conditional on%key
. Congratulations, you have now glimpsed geekvana.