Made for phones? Well, not yet.Some hope from the communityThe first prototypeFinal adjustments and autostart in Linux My first pull-request
During my research on what to do with an old smartphone, I stumbled over the following project. TeleFrame is a fully fletched digital photo & video frame software running on any kind of server.
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.