Turn your old Raspi-Hardware into a remote-controlled picture frame for your elderly family members and friends!
Or simply for yourself!
This Project is currently not actively maintained and there are some issues in the installation process as well as with dependencies which are broken. If you don't want to tinker around, please be patient and wait for the next update!
- About
- Hardware prerequisites
- Software architecture and prerequisites
- Installation
- Usage and configuration
Teleframe is a Node-Red based open source app that turns your Raspberry Pi or Linux computer connected to a touchscreen display into a digital picture frame. Using the Messenger App Telegram, you can send pictures, videos and messages to Teleframe while it ensures that all messages and media are displayed in an automatic slideshow on screen.
Teleframe is designed primarily for elderly people or people with disabilities who can't or don't want to use computers/mobiles/tablets. Once set up, Teleframe works completely autonomously but can also be operated via touchscreen or webinterface in the browser or as progressive web app. This enables externals, e.g. family members to manage and control the device remotely.
ARM-SoCs: All Raspberry Pi boards from Raspi 1B+ upwards, as well as Raspi Zero W are supported. Older models and other Linux computer may work, but have not been tested and may require software adjustments.
Displays: Basically, all touchscreens supported by Raspberry Pi boards can be used. Tested and recommended are Touchscreens from Waveshare or the official Raspberry Pi 7 inch Touchscreen.
Wifi: For Raspberry Pi 1B+ an additional Wifi dongle is required. Tested and recommended are cheap Realtek rtl8188eu chips. Other chips might also work but must support AP mode. Please note that additional drivers for rtl8188eu are needed, as the Raspbian default kernel driver doesn't support AP-Mode.
Loudspeaker: In order to watch videos with audio or you want to use sound notifications, a loudspeaker must be connected. There are no special limitations other than a standard 3.5mm headphone jack is needed (not supported by raspi zero w!).
To enhance the level of security and to provide SSL support, the web server nginx configured as reverse proxy handles network traffic over https between Teleframe device and its clients using the webinterface.
Kodi is used to present videos and pictures as a slideshow and enables smooth transitions also on low power devices. Kodi is actually a popular, very powerful media centre application, which at first glance seem too extensive for the simple task of showing media on a display. However, compared to appropriate libraries providing gpu support, it makes optimal use of GPU acceleration also on older Raspberry Pi boards, which is important to enable smooth transitions. Teleframe therefore does not handle the rendering itself but controls Kodi via JSON-RPC API.
A script for automatic installation will be provided soon.
Only Raspbian is supported so far. Other distros might work.
-
Download newest version of Raspbian Lite
-
Copy Raspbian Image to SD-Card. Etcher is highly recommended
-
Boot Raspbian and set up wifi using raspi config by enter
raspi-config
in terminal -
Update and install prerequisites/dependencies:
sudo apt update && sudo apt upgrade sudo apt install kodi nginx ffmpeg
optional: Install OpenVPN for VPN access
sudo apt install openvpn
-
Start and enable kodi and nginx on system boot
sudo systemctl enable kodi nginx sudo systemctl start kodi nginx
-
Install Node.js and Node-red
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
-
Open Node-Red Editor under
http://<raspi-ip>:1880
and enable git support -
Create new Node-Red Project using "Clone project" and add Teleframe git url
-
When project is loaded, Teleframe WebUI is available under
https://<raspi-ip>:1243
Teleframe supports just a few simple touchscreen gestures to reduce usage complexity. However, most important commands are supported:
Gesture | Command |
---|---|
One finger tap | Play / pause slideshow |
Swipe left / right | Previous / next image |
One finger long press | Turn on display + jump to newest message or image |
Two finger long press | Turn off display |
While touchcontrol is limited, Teleframe is highly configurable and controllable using the build in WebUI. Open https://<raspi-ip>:1243
in your browser, login with username and password and check out navigation panel behind hamburger menu button at the top left.
Navigation: You can watch and control the image slideshow actually displayed on the device. Use navigation buttons to control the slideshow, use the stick button for preventing images from being automatically deleted or delete images using the trash button manually.
Note: If a message was attached to an image, you are able to delete only the message without deleting the image at the same time. Just click on the trash button and you are being asked whether you want to delete only text or both, image and text.
General Settings: Set up showtime, as well as max. images in the loop and trash.
Note: Teleframe was intended to be able to operate completely autonomously and without additional intervention. To consider storage limitations, images as well as videos are stored in a loop with a predefined maximum size. The loop is working according to the first in, last out principle, therefore old images are moved to trash automatically when new images are arriving and the loop size has reached a predefined maximum.
Galerie: Overview of all active images stored in the slideshow loop. You can delete or stick image or start the slideshow from a certain position.
Trash: Overview of all images in the trash. Images can be restored or finally deleted.
Textoverlay: Adjust message text related format settings like size, font, colour etc. as well as size and position of the sender's name.
If new images arrive…: Set several options to notify the Teleframe user about new messages, either by sound or onscreen info.
Navigation: All received Videos are shown up in the video gallery at the bottom of the navigation section. Click on a video for previewing within the browser. Use Navigation Buttons to start the video remotely on the Teleframe screen.
Settings: Set max. number of videos are being stored until old videos will be deleted. If you have issues playing videos on the Teleframe, try using the option convert incoming videos
. Use it only if really needed, as transcoding is usually painfully slow especially on old Raspis.
Add, rename and delete users to/from the list of users allowed to send messages and media.
You add new users using the following procedure:
- Activate
allow new user
button - Send a message with random content to the telegram bot
- The Telegram users unique Chat-ID will appear instantly. Add a username and click on
+
button. The new user with Chat-ID will be entered in the user list and is now allowed to send messages to the Teleframe bot - Deactivate
allow new user
button (will automatically turn off after 10 min.)
Screen: Turn on or off the screen manually or set timers for switching the screen on and off automatically.
Power: Power off or restart the device.
Wifi: Enter your Wifi credentials to connect to your Wifi.
FreeDNS: Free Dynamic DNS service used to access Teleframe from outside your local network. Please visit FreeDNS Homepage, create an account and follow instructions on how to create your own subdomain. Having a new subdomain created, copy its direct URL (under Dynamic DNS section) and paste it to Update-URL
in the FreeDNS section of the Teleframe-WebUI. Add the related subdomain and click on update
.
Note: You must set up a port forwarding rule in your local router to enable remote access. Choose Port 1243
as internal port and map it to the Teleframe ip address.
For experienced users only!!! Several options for debugging, restoring Nginx and Node-Red default setting, resetting the whole system or specific internal procedures, and other stuff usually not needed if everything runs trouble free.