Upcycle your old smartphone with TeleFrame - A Digital photo frame for grandma or your shared flat
Created
Jul 9, 2020
Category
General
Platform
Raspberry Pi
Android
Author
Description
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.
 

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.
 
 

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

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.