Upcycle your old smartphone with TeleFrame - A Digital photo frame for grandma or your shared flat

Upcycle your old smartphone with TeleFrame - A Digital photo frame for grandma or your shared flat

Jul 9, 2020
Raspberry Pi
But aren't digital photo frames something for grandmas? Why would I put this to my student apartment?
The clou here: You can feed it with content using the popular Telegram Messenger.
notion image

Made for phones? Well, not yet.

The initial joy dropped quite abruptly when I realised that the software would require the Raspberry Pi to have some kind of screen connected to it. My Raspberry Pi however was setup to run in a headless environment (without any screen connected, using Raspbian Lite (the stripped down version without GUI / Window server)).
So I decided to ask the community on whether they have an Idea on that

Some hope from the community

Luckily, a user proposed using his repository which contains a web-server add-on for TeleFrame that mirrors the output from the rendered GUI from the Pi to an interactive website.
notion image

The first prototype

With the Webserver plugin in place, I still needed to get a screen connected to the Pi.
As a quick alternative for testing I tried using a VNC server which basically creates a remote desktop session with graphical environment. Suddenly, the Pi had an external screen (virtual screen tunnelled to my computer) and I managed to start the server which magically brought up the desired interface.
With the interface running and TeleFrame-webRemote installed, the interface also appeared on Port 3000 and I was finally able to access the interface on my phone.
Disclamer: This type of lasagna has some history amongst our flat mates 😁 - the choice of frame was easily made
notion image

Final adjustments and autostart in Linux

Using a VNC session to getting things running obviously was no long-term solution, so I dug a bit deeper and found, that it is actually possible to create virtual screens. With this approach, physical screens and VNC sessions can be avoided entirely.
Create a virtual screen by executing the following command. Adjust the screen ID (:X) to your needs.
Xvfb :1 -screen 0 1920x1080x24+32 -fbdir /var/tmp &
With the virtual screen running, you can now run the TeleFrame command. Make sure to use the same screen ID.
cd ~/TeleFrame && DISPLAY=:1 nohup npm start &
With everything in place, I thought this is now a great solution, because honestly everyone has some smartphones flying around - and everyone has family who would appreciate a photo or video now and then. In long chat histories, these photos often get lost - but having a screen that is dedicated to constantly reminding you at your adorables might be the next big thing at the intersection of analogue photographs and fast-living society spending lots of time at home - time that could also be used to develop depressive vibes.
Example use case:
  • You have 2 grandmas and 2 old phones → Put them into a nice case, maybe wooden finish
  • You have 1 Raspberry Pi at your home serving the phones
  • While on the go, you and everyone else associated to your grandma can casually send photos and videos with explanatory captions to the Telegram chatbot
  • The photos or videos magically appear on the digital frame in a never-ending slideshow (as long the server keeps on running 😅)
  • The result: 2 happy grandmas being able to spend the entire day watching photos of their loved ones
After all, after having this installed for a few days in my kitchen it brought me to realise how much personal notes photos can bring

My first pull-request

After feeling connected to the Open Source community, sourcing information from loads of blogs over the years and the permanent question "How might I participate?", I decided to share my progress with the developer by creating a pull-request. Another milestone in the GitHub game - now that's how Open Source works, amazing.