The eas­i­est way to build a Rasp­berry Pi pic­ture frame: Stream­ing with the FRAMEN Pho­to App

-

Here is a real treat for all fans of do-it-your­­self Rasp­berry Pi pic­ture frames.

You can now use the free iOS/Android App FRAMEN Pho­to in com­bi­na­tion with your home brewed dig­i­tal pho­to frame.

This means that you can use the advan­tages of the inge­nious FRAMEN Pho­to App for your Rasp­berry Pi project, with­out hav­ing to buy a dig­i­tal pic­ture frame from FRAMEN.

The app makes it very easy to man­age and play back your pic­tures and gives you a remote con­trol for your pho­to frame. Above all, you don't have to set up dif­fer­ent soft­ware pack­ages in Lin­ux any­more; instead, you can get start­ed with­in 30 min­utes.

The FRAMEN Pho­to App is avail­able for iOS and Android and is free of charge in its basic pack­age, which should be plen­ty for most peo­ple.

Tell me about FRAMEN

FRAMEN is a young com­pa­ny that has set itself the goal of mak­ing stream­ing tech­nol­o­gy for images just as pop­u­lar as we know it from Net­flix for videos and Spo­ti­fy for music.

The com­pa­ny was found­ed after a suc­cess­ful Kick­starter cam­paign in 2018 and calls Frank­furt am Main/Germany home.

I recent­ly spoke with founder and man­ag­ing direc­tor Dim­itri Gärt­ner about the future of the so far rather sleepy mar­ket for dig­i­tal pic­ture frames and what FRAMEN's approach is to bring a breath of fresh air to this mar­ket.

Although the com­pa­ny also offers its own line of pic­ture frames, FRAMEN Stream­ing Tech­nol­o­gy is brows­er-based and there­fore plat­­form-inde­pen­­dent.

Since I appre­ci­ate the Rasp­berry Pi as a basis for home­made dig­i­tal pic­ture frames, we dis­cussed how to enthuse and sen­si­tize the large Rasp­berry Pi com­mu­ni­ty about image stream­ing.

The idea came up to write an easy to fol­low man­u­al, which allows con­fig­ur­ing a dig­i­tal pic­ture frame with FRAMEN stream­ing tech­nol­o­gy.

FRAMEN allows the free use of the Pho­to App up to a cloud stor­age vol­ume of 2 giga­bytes, which cor­re­sponds to about 1000 images. This should be ade­quate for most of us.

How will FRAMEN ben­e­fit from non-pay­ing users? Well, the advan­tage is in the poten­tial increase of aware­ness for the young com­pa­ny and its prod­ucts. It's the same strat­e­gy pur­sued by, e.g., Teamview­er or Drop­box which offer free ser­vices for pri­vate users with­in a defined scope.

The only thing you need for a free account is an email, and accord­ing to the man­ag­ing direc­tor Dim­itri Gärt­ner, this will not be shared.

I am very curi­ous how the FRAMEN soft­ware and the image stream­ing will be received by Rasp­berry Pi hob­by­ists and would be hap­py to hear your feed­back.

Who is this guide meant for?

For every­one who wants to build a dig­i­tal pic­ture frame with a Rasp­berry Pi and is look­ing for an inte­grat­ed and straight­for­ward soft­ware solu­tion.

For every­one who wants to man­age and oper­ate more than one pic­ture frame with ease.

For every­one who needs to con­trol a dig­i­tal frame from a dis­tance.

For every­one who has already built a dig­i­tal pic­ture frame, but is intrigued by the pos­si­bil­i­ties of the FRAMEN Pho­to Soft­ware and wants to test it with lit­tle adap­ta­tion effort.

I test­ed the set­up with a Rasp­berry Pi 3 Mod­el B+, but it should work fine with the old­er mod­el 2.

Cur­rent lim­i­ta­tions of the FRAMEN soft­ware

The FRAMEN app has fas­ci­nat­ed me because it allows very ver­sa­tile image man­age­ment, sup­ports mul­ti­ple plat­forms, and is very robust.

But I don't want to hide cur­rent short­com­ings here.

For one thing, there is only a hard cut between images and no smooth cross­fad­ing or oth­er image tran­si­tion effects. This is much more ele­gant with Pi3D.

And sec­ond, playlists can­not be played in ran­dom order at present, and not more than one playlist can be select­ed at a time.

This may be a lit­tle bor­ing over time.

I have addressed these restric­tions with Dim­itri Gärt­ner. He told me that he would be look­ing into how this can be enhanced in future updates.

But you have to keep in mind that this is ver­sion 1.0 of the soft­ware. And even the Apple iPhone didn't have all the fea­tures at launch that we wouldn't do with­out today.

So it could be that these issues will soon dis­ap­pear. Should that be the case, I will be report­ing here.

Aside from that, there is lit­tle that speaks against the FRAMEN App.

How to do it

How to build the phys­i­cal frame you can read in much more detail in my arti­cle "How I built a pro­fes­sion­al dig­i­tal pic­ture frame with a Rasp­berry Pi."

Here is a sum­ma­ry.

Rasp­berry Pi Hard­ware

You will need four com­po­nents and a mon­i­tor:

Rasp­berry Pi 3 Mod­el B+

Rasp­berry Pi 3 Mod­el B+

If you still have an old­er Mod­el 2 with a WiFi don­gle, you can also use this.

A case for the Rasp­berry Pi 3 Mod­el B+

Note: Rasp­berry Pi 2 cas­es are not suit­able for the RPi 3 because the SD card slot does not have a spring ejec­tion mech­a­nism.

San­Disk 32 GB

microSD Card 32GB

8GB is enough, but the small­er capac­i­ties are hard to find and not cheap­er.

5V Pow­er Sup­ply at 2.5A

Pick a good one here, or you'll end up with this.

And if you don't have a mon­i­tor yet, make sure it has an HDMI input, and the res­o­lu­tion doesn't exceed 1920 x 1200 (1920 x 1080 is com­mon). Even the lat­est Rasp­berry Pi 3 Mod­el B+, in May 2019, can't dri­ve a high­er res­o­lu­tion yet.

Exam­ples:

Mon­i­tors as of 21 inch­es

Mon­i­tors as of 24 inch­es

For a lot more infor­ma­tion on screens for dig­i­tal pho­to frames, see my arti­cle "10 essen­tial tips for pick­ing the right mon­i­tor for a dig­i­tal pic­ture frame".

You won't need a key­board or a mouse; the pic­ture frame will be set up as a head­less sys­tem.

Set­ting up the Rasp­berry Pi oper­at­ing sys­tem

Now on to the nec­es­sary steps of installing the oper­at­ing sys­tem and a few adjust­ments to trans­form the Rasp­berry Pi into a main­te­­nance-free dig­i­tal pho­to frame.

Any­one who wants to read about the steps in more detail is invit­ed to take a look at this arti­cle.

Go to https://www.raspberrypi.org/downloads/, click on "Rasp­bian Stretch with desk­top" then on " Down­load ZIP."

After that, you unzip the file.

Go to https://www.balena.io/etcher/, down­load the etch­er 64-bit installer for your oper­at­ing sys­tem, and install the appli­ca­tion. With Etch­er you flash the Rasp­bian image to the SD card.

Now insert the micro SD card into the includ­ed adapter and then into your read­er.

Start Etch­er, select the image and your SD card, and click on "Flash."

As soon as Etch­er is ready, your SD card will be eject­ed. Pull the card out and put it back in. This will remount it as a dri­ve.

Enter WiFi set­tings

Launch the Ter­mi­nal app in macOS or Lin­ux (or PuT­TY for Win­dows) and enter:

cd /Volumes/boot
touch ssh
nano wpa_supplicant.conf

After the edi­tor opens, copy and paste the code below.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
ssid="your-SSID"
psk="your-password"
key_mgmt=WPA-PSK
}

Adjust your coun­try code if nec­es­sary, enter your SSID (WiFi sta­tion name) and your pass­word.

Remove the micro SD card from the adapter, insert it into the Rasp­berry Pi, and plug in the pow­er sup­ply.

The ini­tial boot of the sys­tem

Your Rasp­berry Pi is now boot­ing up for the first time and will con­nect to your WiFi. Look for the IP of "rasp­ber­rypi" in your router.

With this, you go back to the ter­mi­nal and con­nect to the Rasp­berry Pi.

ssh pi@your-ip-address

The default pass­word is "rasp­berry" (with­out quotes).

You are now con­nect­ed to your Rasp­berry Pi.

In case you can't find your Rasp­berry Pi in your router, you may have entered an incor­rect pass­word. Please go back a few steps and check your WiFi set­tings.

Basic Set­up

In the Ter­mi­nal enter

sudo apt-get update
sudo apt-get upgrade

Allow the sys­tem update to com­plete. Then run the sys­tem con­fig­u­ra­tion.

sudo raspi-config

Make the fol­low­ing changes:

  • In 1: Chan­ge User Pass­word - enter your new pass­word
  • In 2: Net­work Opti­ons - N1: Host­na­me: Pick the name for your Rasp­berry Pi. By default, this is "Raspber­ry­Pi". YOu can either leave this or cus­tomize it.
  • In 3: Boot Opti­ons - Desktop/CLI: Select B4 Desk­top Autolo­gin
  • In 3: Boot Opti­ons: Wait for Net­work at Boot: Yes
  • In 4: Loca­li­sa­ti­on Opti­ons: Select I2 and fin­d your time­zone.
  • In 7 - Advan­ced Opti­ons A1: Expand File­sys­tem
  • In 7 - Advan­ced Opti­ons A2: Over­scan - No

Go back, click "Fin­ish" and reboot.

Con­fig­ur­ing the auto­mat­ic brows­er launch in FRAMEN Play

Now for the set­tings that auto­mat­i­cal­ly

  • open a brows­er win­dow in full-screen mode when you boot your Rasp­berry Pi,
  • open FRAMEN.TV, and
  • hide annoy­ing mouse point­ers or annoy­ing sys­tem noti­fi­ca­tions.

Stay in the ter­mi­nal and enter:

sudo apt-get install unclutter
sudo rm /etc/xdg/autostart/piwiz.desktop

Now we cre­ate a start file.

sudo nano /home/pi/start_script.sh

Copy and paste the fol­low­ing text into the edi­tor:

  1. #!/bin/bash
  2. xset -dpms # Turn off dpms blanking until next boot
  3. xset s activate # Force screen blank
  4. xset s 1 # Blank screen again if key or mouse is moved.
  5. unclutter -idle 0.5 -root &
  6. sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' /home/pi/.config/chromium/Default/Preferences
  7. sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/pi/.config/chromium/Default/Preferences
  8. chromium-browser --noerrdialogs --disable-infobars --kiosk https://framen.tv/register & #<<< The & is important
  9. sleep 8 # Allow time for booting and starting browser. Adjust as necessary
  10. xset s reset # Force screen on
  11. xset s 0 # Disable blanking until next boot

Save and exit the edi­tor.

Then enter

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

In the edi­tor, you can delete the whole thing and copy this text into it.

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
bash start_script.sh

Save and exit the edi­tor. Reboot.

Now con­nect the monitor/digital pic­ture frame to your Rasp­berry Pi.

If you haven't already done so, down­load the FRAMEN Pho­to App from the App Store or Google Play onto your smart­phone.

The first time you launch it, a QR Code is shown.In the FRAMEN Pho­to App, go to the fourth icon in the bot­tom row (the mon­i­tor with the plus sign) and scan the QR code.

If you don't have a cam­era, you can also enter the num­ber man­u­al­ly.

After con­nect­ing, go to the Home icon on the app, tap an exist­ing playlist, and tap the paper fly­er icon in the mid­dle. Now the pic­tures should come up on your pic­ture frame.

You can now upload your pho­tos either via the mobile phone's cam­era roll or via app.framen.io on any brows­er.

The free ver­sion allows you to upload 20 images at a time and up to 2GB in alto­geth­er. This equals about 1000 images. Videos are cur­rent­ly not sup­port­ed. The pic­tures can have any aspect ratio. You can choose in the app how you want to dis­play them, depend­ing on the ori­en­ta­tion of your mon­i­tor.

Three pic­ture frames can be con­trolled as part of the free pack­age. You can run a dif­fer­ent playlist on each of them, or let them all run in sync.

The pic­tures are stored on Ama­zon servers and are only acces­si­ble to you. You can also delete them from there at any time. The log­ic is sim­i­lar to that of Drop­box. No one from out­side will look at it unless you explic­it­ly allow it.

How to turn the mon­i­tor on and off

What you can't yet remote con­trol with the FRAMEN Pho­to App is the mon­i­tor itself.

Here is a solu­tion:

Con­clu­sion

The FRAMEN soft­ware for dig­i­tal pic­ture frames is impres­sive. It does not only run on FRAMEN's pic­ture frames but also with every smartTV, smart­phone, tablet, and now with this man­u­al even on the Rasp­berry Pi.

Whether you just want to sniff into this appli­ca­tion area or would like to show fam­i­ly pho­tos in the house with sev­er­al pic­ture frames, with FRAMEN Pho­to and a Rasp­berry Pi, this is very straight­for­ward.

So, what do you think of this solu­tion? Tell me on my feed­back por­tal.