For my work, I have been asked to look into a Raspberry – Digital Signage / Narrowcasting tool. In this blog we are going to use a Raspberry Pi for this project and I will show you how to install the digital signage software called Screenly OSE.
Screenly Open Source Edition
Meet Screenly OSE. The most popular digital signage / Narrowcasting solution for the Raspberry Pi. Screenly OSE (Open Source Edition) is a digital signage software that has been built to make the most of the Raspberry Pi’s limited hardware. This software package allows you to easily manage and display webpages, videos, images, and more.
For every asset you add to your screen, you can specify the dates you want it to run on and how long you want it displayed on your screen. All of these settings are easily configurable through Screenly’s simple web interface. The Raspberry Pi is one of the best digital signage / Narrowcasting devices thanks to its decent specs and low power usage. Screenly is an excellent alternative to a Raspberry Pi kiosk if you want to display images or movies on to a screen. Please note that this is the free, open-source edition of Screenly, not the paid Screenly Pro.
Below, you can check out the equipment we used in this Raspberry Pi project to set up Screenly.
Micro SD Card
Ethernet Cable or Wi-Fi dongle
A TV or monitor with a HDMI connector.
Installing the Raspberry Pi
For the installation, we recommend the latest Raspbian installation. So we’ll have to do some extra work ourselves. For the Raspberry Pi®, I’m using an old model, a Raspberry Pi Zero W. Screenly OSE works on all Raspberry Pi versions, including Raspberry Pi Zero 2 W, Raspberry Pi 3 Model B, and Raspberry Pi 4 Model B.
Note: During ideal conditions (Raspberry Pi 3 Model B+, class 10 SD card and fast internet connection), the installation normally takes 15–30 minutes. On a Raspberry Pi Zero or Raspberry Pi Model B with a class 4 SD card, the installation will take hours.
Set up your SD card
With a new update to the Raspberry Pi® Imager, it’s become easier than ever to set up your Raspberry Pi’s connection, regardless of if you’re going for a headless setup or not. Let’s get started!
We recommend using an SD card of 8 GB or greater capacity with Raspberry Pi® OS. If you are using the lite version of Raspberry Pi® OS, you can use an 8 GB card.
Install Raspberry Pi® OS
Raspberry Pi® Imager is the quick and easy way to install Raspberry Pi® OS and other operating systems to a microSD card, ready to use with your Raspberry Pi®. Download and install Raspberry Pi® Imager to a computer with an SD card reader. Put the SD card you’ll use with your Raspberry Pi® into the reader and run Raspberry Pi® Imager.
To install on Ubuntu or Raspberry Pi® OS, open a Terminal window and type:
sudo apt install rpi-imager
Open the Raspberry Pi® Imager. You should be greeted with the same screen as always.
Press CMD + Shift + x to open the advanced menu (Ctrl + Shift + x for Windows). There are also settings in the Advanced option’s menu that you can explore. For example, you can turn on SSH for easier headless installations and even configure the hostname of your Raspberry Pi®
Note: Write down your password, as you need it Later on!
Scroll down to Configure Wi-Fi, check the box and enter your Wi-Fi credentials
Note: Be sure to change your Wi-Fi country according to your country code!
Click SAVE. Now click on choose OS. Next click Raspberry Pi® OS (other)
Here select Raspberry Pi OS Lite (32bit).
Important note: We tested this guide on a Lite edition of Raspberry Pi OS Buster. The Bulseye version is not (yet) working at time of writing.
Now click Choose storage and select your SD card.
Click on the Write button. A warning pane will pop up, select YES.
Raspberry Pi® Imager now will Install the OS on your SD card with all the provided credentials.
That’s it! Connect the power and wait a few minutes so the Raspberry Pi can start up.
Secure Shell connection
SSH or Secure Shell is a network communication protocol that enables two computers to communicate (c.f http or hypertext transfer protocol, which is the protocol used to transfer hypertext such as web pages) and share data. An inherent feature of ssh is that the communication between the two computers is encrypted, meaning that it is suitable for use on insecure networks.
SSH is often used to “login” and perform operations on remote computers, but it may also be used for transferring data.
Click the Launchpad icon in the Dock, then Other, then click Terminal.
Now make a connection to your Raspberry Pi. By typing ssh firstname.lastname@example.org and pressing Enter.
It will establish a secure connection, and ask you if you want to accept it. Type YES.
A secure connection will be established, but you have to give it access by typing the Password of your Raspberry Pi you provided in the Advanced options’ menu.
Once the connection is made, you will be granted access to the prompt of your Raspberry Pi.
Now we only have to do one thing before we can install Screenly OSE. First, we’re going to change one setting and do some updating. Type the following command and press enter.
The Raspberry Pi Software Configuration Tool opens.
Select 6 Advanced Options and press enter.
Then select A1 Expand Filesystem and press enter.
The files system fit be expanded and is will return to the Raspberry Pi Software Configuration Tool. A Pane will tell you the root partition has been resized. Press OK.
You will go back to the main menu, here select Finish.
You will be asked if you want to reboot, press Yes.
Now make a new connection to your Raspberry Pi. By typing ssh email@example.com and pressing Enter.
Now we need to update and upgrade your Raspberry Pi, to the latest available files. We start with the update. Type sudo apt-get update followed by an enter.
Sudo apt-get update
After this process is done, we can upgrade our Raspberry Pi by typing sudo app-get upgrade -y followed by an enter.
Sudo apt-get upgrade -y
That’s it. Your Raspberry Pi is ready for use!
Before installation, we need to prepare the hardware. First, we connect the Network cable. After this, we connect the HDMI cable to the TV or monitor. After we have prepared the SD card, we can connect the power supply.
In this section, we will walk you through the straightforward steps to installing Screenly OSE to your Raspberry Pi. We recommend that you use the lite edition of the Raspberry Pi OS. The reason for this is that you don’t need the full operating system GUI, as you will be using a web interface to manage Screenly.
The Screenly OSE team has made the installation process relatively simple by providing a script that handles everything for us. To run this script, we can run the following command.
bash <(curl -sL https://www.screenly.io/install-ose.sh)
This command will download the installation script from the Screenly website and pass it directly to
Note: Typically, you should avoid running scripts from a website without verifying its contents. You can verify the contents of this script by going to the URL mentioned in the command above.
During installation, you will be asked a series of questions. The first of these is whether you want to continue. You will be warned that the standard desktop environment, if available, will no longer work after installation. Type Y to continue with the Screenly installation process on your Raspberry Pi.
Next, you will be asked if you want to use the Production or development branch of Screenly. Typically, development features will be unstable. Unless you know why you are choosing development, type in 1 to continue.
It is recommended that you enable this as it allows you to manage your network through Screenly’s web interface. Type in Y to continue with the installation process.
Next, you will be asked if you want to if you would you like to perform a full system upgrade as well. Type Y to continue with the Screenly installation process on your Raspberry Pi.
Note: The installation normally takes 15-30 minutes. On a Raspberry Pi Zero or Raspberry Pi Model B with a class 4 SD card, the installation will take hours.
Once the installation is done, you will be asked to reboot the system for the installation to complete. Type Y to continue and reboot the Raspberry Pi.
Accessing the Screenly Web interface
Now that we have installed Screenly to our Raspberry Pi, we can now access its web interface. This web interface is what allows you to configure your digital signage / Narrowcasting with relative ease. To access the Screenly web interface, you need to know your Raspberry Pi’s local IP Address. The easiest way to retrieve this is by using the “
hostname -I” command on the device.
Open a new terminal screen and type the command:
With the IP address in hand, go to it in your favourite web browser. For example, with an IP address of “
192.168.178.137“, we would go to the following URL.
If your Screenly installation can’t connect to your Wi-Fi network, it will show you this screen.
Once you go to that address, you will be greeted by the Screenly OSE interface.
You will soon see how easy it is to use this interface to add assets to display on your signage / Narrowcasting.
Adding an Asset to your Raspberry Pi Digital Signage / Narrowcasting
Thanks to Screenly’s web interface, adding an asset to display is a straightforward process. While on the homepage of the Screenly OSE web interface, click the “Add Asset” button. Clicking the button will bring up a dialogue that allows us to add assets to our Raspberry Pi to display.
With the add asset dialogue now on the screen, there are two ways we use it. Screenly gives you two separate ways of adding assets to its schedule. The first is adding a URL asset. This URL can be a media file or a webpage. Screenly will stream assets from the provided URL, so make sure you have a reliable internet connection when using this feature. The second way allows you to upload a file directly to Screenly. Screenly will automatically verify what file type.
Adding a URL Asset
When adding a source as a URL, Screenly will try to automatically check what type of asset it is and handle it correctly. You can use this method to link to images, webpages, or video files. Once you have entered a URL, you will need to click the “Save” button.
Uploading an Asset
Additionally, you can upload files to your Raspberry Pi itself to display. This feature is useful if you will not have internet access from your device or don’t want the assets publicly available. To upload a file, you can either drag and drop it onto the provided area or click the “Add Files…” button. When a file is uploaded, it will automatically be analysed and added as an available asset.
Editing an Asset within Screenly
Once you have added some assets, they will appear within your schedule overview. You can edit your assets by clicking the little pencil icon button next to them.
Within the asset editor, you can adjust how long you want the asset to be played before moving on to the next one. To control when an asset is displayed can use a preset option by using the “
Play for” dropdown. This dropdown allows you to select presets such as 1 week, 1 month, 1 year, or forever.
Alternatively, you can manually select the start and end dates for the asset. The asset will only be displayed on your Raspberry Pi’s signage / Narrowcasting during the specified dates and time. Finally, you can select how long you want that asset to be displayed on the screen. If this asset is a video, the duration will automatically be set to the video’s length. Once you have made your changes, you can confirm them by clicking the “
Activating an Asset using Screenly
Before the Screenly software can start displaying stuff to your Raspberry Pi’s screen, you will need to turn your assets on. Toggling your assets on is a relatively simple process. Next to each asset, you should notice a toggle. To activate an asset, click the toggle. When activated, it should move to the top of the screen and turn green.
At this point, you should now have successfully added some assets to your Screenly signage / Narrowcasting. They will automatically be displayed on your connected screen within the specified start and end dates.
If you ever want to disable an asset, all you need to do is click the toggle again. Please note that the asset will not disappear immediately. You will have to wait for the duration to pass before it stops showing.
Configuring Screenly on your Raspberry Pi
Configuring the Screenly software on your Raspberry Pi is made quite simple through the web interface. Using this, we can control what audio outputs we are using and adjust the durations assets are displayed, as well as some other options.
Getting to the settings page is simple. In the main menu bar at the top of the website, click the “Settings” option.
On this page, you will find many options. We will split this into two sections, so we can explain the options better. You can use the “Player name” option to define a name for your current Raspberry Pi running Screenly. You can use this option to adjust the default duration for non-video assets. This number is measured in seconds, with the default being 10 seconds.
The default streaming duration is the time in seconds that a video should be streamed for, Typically, Screenly will automatically try to determine the length of a video. You can use this configuration page to control the “Audio output” device.
By default, this will be set to the HDMI cable. However, you can change this to the 3.5 mm jack with ease using this option. Setting the date format can be very useful as countries can differ substantially in their standards. For example, the default is “month/day/year“, but here in Australia, we use “day/month/year“.
Using the “Authentication” option, you can lock down your Screenly web administrator screen. The only available option for this is to enable “Basic” authentication.
In this section, we highlight a bunch of options that you can easily toggle on and off. The two most useful options here will be disabling the splash screen or shuffling the playlist. You will only need to enable the debug mode if you run into issues with the Screenly software on your Raspberry Pi.
Finally, in this section, you can easily use Screenly to generate a backup of all your assets and settings. Use the “Get backup” button to download a backup of your settings. The “Upload and Recover” button is used to upload your backup back to the server.
If you scroll down further, you will find a few more features that you can utilize within the settings page. The “USB assets” feature allows you to load assets from a USB device. For Screenly to load in files from your USB, it will need to find the file generated by this option. Screenly will not load any assets from a USB if it cannot find the provided file. This is to stop people from placing a random USB into the device and loading up malicious assets.
It is possible to upgrade Screenly and your underlying Raspberry Pi’s operating system with ease. Within this interface, click the “Upgrade” button and follow the prompts.
If you are having issues with your Wi-Fi, you can utilize the settings page to wipe the config settings. Upon rebooting, you will need to physically interact with your Pi to select the Wi-Fi network you want to connect to.
Finally, the last two buttons available are the system controls. Using these buttons, you can reboot or shut down your Raspberry Pi with ease.
You should now understand how to use the Screenly web interface to configure your digital signage / Narrowcasting on your Raspberry Pi. Before you finish setting up your Raspberry Pi, we recommend that you enable basic authentication for Screenly.
Activating Authentication for Screenly
Screenly has built-in support for basic HTTP authentication. This means that you will be asked to enter a username and password when you try to access your Raspberry Pi’s Screenly web interface. Even though it’s a rather primitive way of adding security to your device, it is still effective. First, make sure that you are on the settings page within the web interface.
On this page, look for the “Authentication” select box and change this from “
None” to “
Basic”. Selecting “Basic” will bring up three new text boxes that you need to fill in. The first textbox you need to fill out is the user one. In this textbox, enter the username you want to use when logging in to your Screenly web interface.
Finally, you will need to enter the password you want people to use when accessing the web interface. Make sure that you enter something secure for the password. If someone manages to guess this easily, they could potentially gain access to the Screenly admin interface. Once you have set a username and password, click the “Save Settings” button.
Next time you access the Screenly web interface on your Raspberry Pi, you will be required to enter your newly set username and password. To further improve your digital signage’s / Narrowcasting security, be sure to check out our guide on improving the security of your Raspberry Pi. At this point in the project, you should now have the Screenly digital signage / Narrowcasting software successfully setup on your Raspberry Pi.
Raspberry, Raspberry Pi Imager ,https://www.raspberrypi.com/products/ pimylifeup, How to Set Up Screenly on the Raspberry Pi ,https://pimylifeup.com/raspberry-pi-screenly