Using the Raspberry Pi to control digital information screens
Concerto
Concerto [3] consists of a server and one or more clients – either Rasp Pis or normal PCs – that control the screens. The computers get the contents from the Concerto server and administers them via a web interface. A client, therefore, is more or less made up of a web browser that calls up a web page from a server and then displays it in full-screen mode. If you would like to check out Concerto in advance, a demo page [4] on the web shows the screens and offers a test run with the admin interface.
A Concerto client is very easy to install on the Rasp Pi. You will first need a browser. Aside from Midori, this could be Chromium in kiosk mode (@chromium --kiosk
).
Additionally, you can install the unclutter
package if you need to, which will prevent the mouse cursor from appearing. Then, you should make sure the browser starts in full-screen mode and contacts the Concerto server. To do this, simply add the line from Listing 4 to the ~/.config/lxsession/LXDE/autostart
file.
Listing 4
Contacting the Concerto Server
@midori -e Fullscreen -a http://<Concerto-Server>/screen/?mac=<MAC-Address>
You should use the address of the corresponding computer for the <Concerto-Server>
. Here, <MAC-Address>
should be replaced with the MAC address of the Raspberry Pi. Finally, you will need to make sure that the screen does not turn itself off when the information is supposed to be displayed. Go to the /etc/lightdm/lightdm.conf
file in the [SeatDefaults]
area and modify the start command as follows:
xserver-command=X -s 0 dpms
As already indicated, Concerto offers an option for controlling several screens. The server runs as a PHP application that uses a MySQL server as a database. The database server software need not run on the same computer as Concerto.
To install the server, download the server software from the homepage [5], unpack it, and copy the information onto the web server. Concerto comes in two variations. One version has a special authentication system, CAS, from Yale University, and the other does not. Usually the second version concerto-1.9.3-NoCAS
suffices. You can adjust the access rights by entering the following commands on the web server:
$ cd <concerto-directory> $ sudo chown -R www-data .
To continue, copy the configuration file config.inc.php.sample
to the config.inc.php
directory and adjust, at minimum, the variables from Listing 5 according to your situation.
Listing 5
Configuring Concerto
$db_host = 'localhost'; // database server $db_login = 'user'; // database user $db_password = 'password'; // database password $db_database = 'concerto'; // database name // Important paths define('ROOT_DIR', '/var/www/'); // path for the Concerto installation define('ROOT_URL', '/'); // URL for the Concerto installation
Afterward, you should set up the database and fill it with the required tables and data from the install
directory (Listing 6). The last command sets the password for the user admin. Although the server comes without a password, the software does not allow login without a password.
Listing 6
Setting Up the Database
mysql -h localhost -u user -p concerto < schema.sql mysql -h localhost -u user -p concerto < data.sql mysql -h localhost -u user -p concerto -e "update user set password=md5('password') where id=0;"
Concerto has a short diagnostics script (Figure 4) that lets you see whether the installation works. During testing, I found a mistake in the setting for the variable PATH_INFO
. I resolved this easily with one click on try visiting this. If this doesn't do the trick, you will need to add the directive AcceptPathInfo On
in the Apache configuration file .htaccess
.
As a final step, you should install a cron job (Listing 7). If Concerto is on a virtual server or in a subdirectory, adjust the path that is included accordingly.
Listing 7
Installing a cron Job
*/5 * * * * wget --delete-after --quiet http://localhost/common/scripts/cron.php
Now, Concerto is ready to use. Logging in takes you to the dashboard (Figure 5). Here, it quickly becomes apparent that Concerto is a complex application. In addition to user administration, Concerto has the ability to activate content, install screens, and upload and administer content.
As a first step, you should install the templates from the homepage [6]. You can do this by going to Template Importer located at the bottom of the Admin menu (Figure 6). A template describes where text, graphics, and potentially the time of day will go on the display screen. The template also defines the background picture.
Next, download a template ZIP archive, unpack it, and select the graphics and XML files in the importer. Then, set up a feed in the Browse Content tab. Now, you can categorize the messages. Users can fill the feeds with content. Administrators choose which feeds occur on the display screen and how often they occur.
Next, you should set up the first screen in the Screens tab. The MAC address that the software asks for will be the same one you have already entered into the client when providing the URL to the browser. This is how the Concerto server recognizes the individual screens.
If you have set up the screen, then click again on the display screen and configure it for the feeds that it should contain via Manage Subscriptions. As a last step, you should add content using the menu option Add Content and determine the feeds to which the content belongs.
Concerto permits users to set up an account themselves via Signup and then to transfer content. However, the content will remain invisible until a moderator possessing the requisite rights makes it visible (Figure 7).
Conclusion
If you want a quick and easy way to turn a monitor into an information display screen, then Screenly OSE is an excellent option. Installation and administration are easy, and the software already has the features built in that you will need to get started.
Concerto is probably overkill if you only want to operate one display screen. Also, all that Concerto currently supports are images and text. The developers are working on Concerto 2 [7], which should handle videos and dynamic content, such as weather forecasts.
Raspberry Digital Signage might well not be able to compete in this area yet. The way the developers have made the code available for download does not invite any active cooperation.
Many other projects use a Raspberry Pi as a control mechanism for digital signage. If the solutions introduced here do not fulfill your requirements, then you can find further inspiration in the digital signage overview on Elinux.org [8].
Infos
- Screenly OSE: http://www.screenlyapp.com/ose.html
- Raspberry Digital Signage: http://www.binaryemotions.com/raspberry-digital-signage/
- Concerto Digital Signage: http://www.concerto-signage.org
- Concerto demo page: http://www.concerto-signage.org/demo
- Downloading Concerto: http://www.concerto-signage.org/deploy
- Concerto templates: http://www.concerto-signage.org/help_pages/38
- Concerto 2: http://www.concerto-signage.org/blog/tag/concerto2/
- Digital signage projects: http://elinux.org/RPi_Projects/Digital_Signage
« Previous 1 2 Next »
Buy this article as PDF
Pages: 6
(incl. VAT)