Wednesday, November 06, 2013

Picture viewer with remote picture syncing

Goal of project:
Create a picture viewer display using a raspberry PI, a screen and a wifi usb-interface.
The viewer shall be able to display a number of images and it shall be possible to update the images displayed remotely, preferably from picasa.
It shall also be possible to access the viewer remotely to perform any maintenance of the device.

Final result of project:
Picture viewer deployed, possible to update the images from picasa, the unit opens upp a reverse ssh connection to my home server, giving me handy access, regardless if the viewer hides inside a firewall.

Parts needed:
Raspberry PI,
I used model A due to low performance requirements.

External screen,

Make sure it supports HDMI for easy convenience.
The board I bought had quite a large footprint with HDMI, DVI, VGA inputs and audio output, input.
Try to find one smaller if possible

I ended up using a 16 GB card, from a price / performance perspective.

USB wifi-dongle.
I purchased a realtek one from for about 8 bucks

Power adapter,
I bought a 12V 2A adapter from ebay for about 6 bucks.

Used to get some height against the wooden back plane, I belive I paid 3.20 quid for them.
A very short HDMI cable for internal routing.

I cut a wooden frame that would fit all the parts and drilled and screwed down spacers for mounting of all the base parts. The parts were mounted and connected together.
In the image below the bottom pcb is the raspberry pi connected via a small HDMI cable to the chi-mei main board.
By luck there was a 5V output available on the chi-mei mainboard which I used to power the pi.
The chi-mei input voltage is 12V which is what I feed the system via the power adapter.

I used a 3.5 mm headphone jack wired to the serial rx / tx pins, this allows for easy serial access.

The ordinary raspian debian distribution is used.
I hacked the init script to automatically launch qiv which is a basic photo viewing application.
A cron script pulls down a picasa web album every day where I can put the pictures from my ordinary display.

This unit will reside at my parents in law, behind their firewall.
I wanted to have a fail-safe mechanism of being able to access the device.
This is solved by using a reverse autossh connection.
The machine will at start connect to another pi acting as my local server.
Thus I can at any moment access my local pi and connect to the picture viewer.

See this link for more information:

In order to get native 1024x600 resolution, a custom HDMI mode needed to be used.
This was acheived by adding the following to the /boot/config.txt:

hdmi_cvt=1024 600 60 3 0 0 0


Frame assembled without paint

Final result:

End result

I was satisfied with the final result, things I would improve would be to find a graphic driver with less board space and to improve my woodworking skills.

Labels: , , , ,