Recently I wrote about the new dashboard interface for viewing data collected aboard the Okeanos Explorer. I think it’s a great way to get a quick snapshot as to the health of the data collection systems aboard the vessel. However it still requires having a browser open. Tying up a computer just to look at a webpage is kinda a waste… unless that computer fits in the palm of your hand and cost ~$40.00.
Last week at RVTEC, John Haverlack from the University of Alaska, Fairbanks showed me a bunch of great stuff that the team from WAY up North plan to install aboard the new research icebreaker, the R/V Sikuliaq. One of the things really grabbed my attention was some of the hardware John brought, specifically the Raspberry Pi micro computers. These (really) little guys come with all the IO you could ask for including ethernet, 2 USB ports, GPIO, composite video and even HDMI video/audio. The boards can run Raspbian, a custom Linux OS based off of Debian which is installed onto an SD card. All in all it’s a really cool package with huge potential for building applications that require a basic operating system but not a lot of horsepower.
One of the other great things John showed my was how the Chromium web-browser could be used in kiosk-mode which basically turn the browser into digital signage. This gave me the idea to build a cheap solution for displaying the Okeanos Dashboard on any SD or HD TV. The setup could’t be easier.
- Follow instructions on installing the Raspbian OS onto the raspberry pi available here. During the initial setup be sure to configure the OS to start the Xwindows environment (it’s the last option in the setup dialog window)
- Connect to the internet (I choose to connect to my home wireless network)
- Install the Chromium web browser. From a terminal window type:
sudo apt-get install chromium
- Add these two lines to the /etc/xdg/lxsession/LXDE/autostart file to have Chromium launch at startup and go to the desire URL. The first line prevents the error message caused when the computer under goes a hard reset.
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences @chromium --noerrdialogs --kiosk <add your url here>
- Disable the screensaver
Add these lines to ~/.xinitrc (you may have to create this file):
xset s off # Don't activate the screensaver xset -dpms # Disable the DPMS (Energy Star) features xset s noblank # Don't blank the video device exec /etc/alternatives/x-session-manager # start lxde
... BLANK_TIME=0 ... BLANK_DPMS=off ... POWERDOWN_TIME=0 ...
Install the screensaver package
apt-get install xscreensaver
In the Preferences–>Screensaver app, disable the screensaver.
- All done!
Here’s a video of the finished product. I plan to make a custom dashboard page that better fills a 1080i screen but this will work for now.
- Raspberry Pi: $40 – Adafruit Industries
- USB, WiFi adaptor: $12 – Adafruit Industries
- Case: $8 – Adafruit Industries
- 5v 1.5A Micro USB Power supply: $11 – Radio Shack
- HDMI cable: $0 – found around the house
- 4GB SD card: $0 – found around the house
Big thanks to the Raspberry Pi support forums for figuring out how to disable the screensaver (the hardest part… seriously) and of course John Haverlack for giving me the idea!
I hope this helps,