As noted here, I’m using the the DirecTV SHEF API and a Raspberry Pi to poll my DirecTV receivers every minute and store what they’re doing into a MySQL database. After ~6 months of storing that data, I thought it’d be interesting to analyze some of it. After all, do I really watch enough HBO and Starz to warrant paying for them every month?
I don’t have a quality window view in my office building and found myself checking the local news’ weather cams throughout the day so I thought it’d be cool to have a live outdoor view streaming to my desk. Using a Pi 3, Pi Display, a case, and camera, I built a digital picture frame which streams a live video feed from my apartment window to my desk at work. While going through the process, I hit a few hiccups and a ton of outdated resources online so I thought I’d share my learnings and provide documentation for anyone wishing to recreate.
The following will setup a Pi to run Chromium in Kiosk mode on startup while silencing errors and hiding your cursor. The assumptions made before beginning are that you’re able to SSH into both of the Pis and your Pis are connected to WiFi. The guide I followed to setup my cam stream is solid so no need to re-invent the wheel – use this guide to setup your first Pi to stream your cam image. The obvious callout is to make sure your stream resolution matches your display’s resolution. The steps below will be for your picture frame Pi and assume you’ve already got your stream up and running… Step 1
Run the update/upgrade and install Chromium (as explained here). sudo apt-get update sudo apt-get upgrade Step 2
Install x11 server utilities and unclutter. sudo apt-get install x11-xserver-utils unclutter Step 3
Since we want this to be as hands-off as possible and to silence any power-saving settings or error messages on power cycles, we’ll edit the LXDE startup to disable this stuff. sudo nano ~/.config/lxsession/LXDE-pi/autostart
and add the following lines (not the screensaver commented out): #@xscreensaver -no-splash @xset s off @xset -dpms @xset s noblank @sed -i ‘s/”exited_cleanly”: false/”exited_cleanly”: true/’ ~/.config/chromium/Default/Preferences
The last line we’ll add in this file will be the address we want to display. In the example below, we’ll sinply load Google.com. We use the incognito tag to prevent Chromium from showing an error in the event of a power cycle. @chromium-browser –noerrdialogs –kiosk http://www.google.com –incognito
Now, exit and write. Step 4
Let’s reboot and apply the changes to see the results sudo reboot