This is a small project that creates a pseudo-kiosk streaming media box from a Raspberry Pi. Once you are done, you’ll end up with a Raspberry Pi that loads Chromium into full screen kiosk mode on startup with your favourite streaming services only a click away thanks to some minimal html acting as your command centre.
Step 1 - Install Raspbian
We are going to install Raspbian as our base operating system. Follow the instructions on the Raspberry Pi site to install raspbian.
Step 2 - Open Chromium on startup
Once your operating sytem is installed and you’ve got your Pi up and running, it’s time to set it up so Chromium starts whenever we log in. You’ll need to edit a few files to make this all hang together so get comfortable. I prefer to
ssh in and work from my primary machine, but you can also work directly on the Pi if you’ve got a decent screen, keyboard and mouse set up. You might need to enable
ssh on your Rasperry Pi if you prefer to work from a different machine.
To open Chromium on startup is a one-liner added to
~/.config/lxsession/LXDE-pi/autostart Including the
--kiosk flag will open Chromium full screen without menu bars. This enhances the feeling of it being a dedicated “media” machine.
If you don’t have
~/.config/lxsession/LXDE-pi/autostart, create it with
Open the file in your favourite text editor and add this line in:
If you tend to simply turn your Pi off at the socket rather than shutting down cleanly, one of the annoyances you’ll have is a little Chromium popup every time you start up telling you it didn’t shut down properly.
To stop this happening, we can replace Chromium’s memory of its state with the following bits of magic added to
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State' sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
Step 3 - Create a nice home page
The final piece of the puzzle is to put together a nice default home page to act as the command centre. Grab the icons for your various streaming media services, replace the hrefs and set it as the default home page in Chromium’s settings.
My end result looked something like this:
Here’s the basic template - it supports tabbing through items and has a basic animation effect to give you a visual cue of which icon you are currently focussed on.
Note that if you are in the UK, at the time of writing, 4OD wouldn’t stream through Chromium for some reason.
That’s it; a basic kiosk that works well enough for me. If you want something more full featured, check out Donald Derek’s Smart TV tutorial.