• ing.marcoburatto@gmail.com

Monthly Archive December 30, 2021

Raspberry Digital Signage 17.0 released

Raspberry Digital Signage 17.0 released

Raspberry Digital Signage is an operating system designed for digital signage installations on the Raspberry Pi: it displays a full-screen browser view restricted to a specified resource. It shows web resources from Internet, local network or local folders (so you can use the Pi itself as the source webserver).

Raspberry Digital Signage comes with the latest Chromium builds (featuring HTML5 capabilities), so you can display more attractive resources, more easily.

Changelog for v.17.0 follows:

  • Chromium settings persistence logic changed: browser is kept back to default settings or last-persisted settings only when user asks for and not upon every reboot (maybe a more balanced behavior in regard to security vs. user experience);
  • settable DPI feature returns to work (the feature has been removed in the latest builds for some issues of the underlying OS);
  • a new, better, virtual keyboard extension has been installed by default (just remove it if unneeded);
  • lowercase URLs issue fixed;
  • system has been updated to the latest Raspberry Pi OS Lite – this contains important security fixes. Chromium 92 and rpi-chromium-mods 20210212 packages are amongst the others.

In memory of my father Giovanni.

 

Download here.

Raspberry Digital Signage FAQ

RASPBERRY DIGITAL SIGNAGE

About | Download | Donation | Docs | FAQ | Changelog | Plugins | Signage Orchestrator

UPDATE THE UDERLYING RASPBERRY PI OS OPERATING SYSTEM

In order to udpate the Raspberry Pi OS (formerly Raspian), login via SSH as root, then:

apt update
apt upgrade

Please note that it may happen that a system update brakes the digital signage stack.

 

WTF IS THAT LIGHTING BOLT NEAR THE TOP-RIGHT CORNER?

If a lighting bolt is displayed near the top-right corner of the screen, your Raspberry Pi is complaining about the power supply, which probably is not powerful enough.

 

HOW TO EXPAND THE FILESYSTEM SPACE [see for AW SNAP CHROME ERROR]

How can I expand the Raspberry Digital Signage filesystem space in order to fill the whole SD card/USB key space?

This also can prevent the Aw Snap error on Chrome in the cases where system logs become too big.

Just install and use raspi-config:

login as rds-user via SSH, then sudo -i;
apt update
apt install raspi-config
raspi-config

follow the easy instructions.

 

MODIFY THE SPLASH SCREEN

For this, please have a look at Raspbian Plymouth.

 

CHANGE THE SYSTEM HOSTNAME

Default hostname for the operating system is rds.
You can change it by modifying the /etc/hostname and /etc/hosts files.

cd /rds/home/rds-user/
tar -xf chromium-default-settings.tar
rm chromium/Singleton*
tar -cf chromium-default-settings.tar chromium/
rm -R chromium
chown rds-user:rds-user chromium-default-settings.tar

 
Thanks to Stepan Kocourek.

 

CHANGE TIME ZONE

login as rds-user via SSH, then sudo -i;
dpkg-reconfigure tzdata

 

PLAY CONTENT FROM THE INTERNAL SD CARD/USB key: DIY SITE INSTALLATION

Raspberry Digital Signage admin interface allows you to type in the URL of the web resource to be displayed; it can be an Internet one (https://www.binaryemotions.com), a LAN URL (http://192.168.1.100/booking; http://booking.lan), or even a resource located internally, inside the Raspberry Pi’s filesystem.

To simplify the management of the internal site setup, the WordPress plugin adds a WordPress installation to the system (/rds/var/www/wordpress) – see the plugins page for more.

If you however want to add your own site (and/or don’t use the WordPress installation), just copy your website files with scp to /rds/var/www/mySite (create the folder, first), then change the ownership:

chown -R rds-www:rds-www /rds/var/www/mySite

 
and set the URL: http://127.0.0.1/mySite in the admin interface.

Also, you need to allow your www folder to be reached without authentication: add the following to /etc/apache2/sites-enabled/rds.conf:

SetEnvIf Request_URI ^/mySite.* noauth=1

 
and restart apache:

systemctl restart apache2

This way you can natively serve plain HTML and PHP files.

Disable network check
Upon boot, the system checks for the availability of the network, in order to display the proper admin interface if no network is available. However, with an internal site installation, the network check could be undesired: in case, modify /rds/home/rds-user/.rds-xinitrc as:

connectionCheck() {
return 0
}

Note: how to use scp

1. [on the Pi’s shell] Enable the SSH login via root directly: change the password for the root user while SSH’d in as rds-user (sudo passwd root), then modify /etc/ssh/sshd_config with PermitRootLogin yes (sudo mc -e /etc/ssh/sshd_config). Finally restart ssh (sudo systemctl restart ssh).

2. [on your host system] Copy your files: scp /path/to/my/local/files/* root@RASPBERRY_IP:/path/to/destination/

While for *nix users this is trivial, for Windows users this step could be a pain, without the right tools: use mobaxterm or similar.

 

FALLBACK RESOURCE IN THE CASE OF NO-NETWORK

In the case where Raspberry Digital Signage is loading content from the network and the network goes down, in which way can I display a fallback resource in the meanwhile network goes up again?

Usually web pages built for signaging contain a Javascript code which continues checking for network availablity (once loaded). In the case the network goes down, the Javascript code should redirect the internal browser to a locally hosted resource (/rds/var/www). The local resource will do the same job, inverted.

if(navigator.onLine) { // true|false
// …
}

 
Also, have a look at this page.

 

HOW TO INSTALL A SCREENSAVER

Install xscreensaver with apt as root, configure it and launch it from /rds/home/rds-user/.rds-xinitrc, before the main cycle.

 

SYSTEM SCREEN ROTATION

You can set the screen orientation via Raspberry Digital Signage GUI, and this is fine. However, the system boot process runs always in “landscape mode”.
To obtain a “full system rotation”, modify the /boot/cmdline.txt file and add the following directives for 90 rotation at the end of the line:

video=HDMI-A-0:1920x1080M@60,rotate=90 video=HDMI-A-1:1920x1080M@60,rotate=90

So, complete kernel parameters line would be something like:
console=serial0,115200 console=tty1 root=PARTUUID=ae1f6d64-02 rootfstype=ext4 fsck.repair=yes rootwait splash quiet plymouth.ignore-serial-consoles logo.nologo vt.global_cursor_default=0 video=HDMI-A-0:1920x1080M@60,rotate=90 video=HDMI-A-1:1920x1080M@60,rotate=90

Change resolution and rotation according to your needs. Resolution should be the same you see/set in the Raspberry Digital Signage GUI and it must be always specified… and so the rotation 😉

Modify the file via SSH or mount the SD-CARD into a running operating system and modify the file with a text editor.