Quantcast
Channel: Mark Samberg
Viewing all articles
Browse latest Browse all 14

Digital Signage for $350? Yup…

$
0
0

Early after starting work at the Friday Institute, I was issued a seemingly simple challenge. The first floor of our building is an event space. We have small conferences and workshops, classes and meetings throughout this space almost daily. The rooms are identified by the names of our donors (thank you Nortel, BB&T, and Wachovia!) rather than by room number, so people sometimes have to search a bit before finding their events. Early on, there was a television at the front entrance that displayed a PowerPoint slide with the list of daily events. However, this slide had to be manually updated each day on the connected laptop. We also wanted to be able to display these events outside of the rooms as well. A PowerPoint slide on each computer would be extremely difficult to maintain. So if this paragraph was confusing, imagine being in the real-life building, setting up real-life signage.

IMG_20160201_114705So, I started looking at a few digital signage systems. My requirements were pretty basic: I needed a system that could display a schedule for rooms on several different screens. I wanted something database driven so I could eventually automate as many things as possible. Also, feed items needed to be able to be turned on and off at specific times so that you could pre-load events for the entire day or week.

Digital signage controllers cost in the thousands of dollars, plus you needed a full-sized computer or a specialized transceiver to run them. Being the Open Source fanatic and the #macgyverlibrarian that I am, I wanted to see if there was a way that I could do this with free software and re-purposed hardware instead. Like everything I’m doing at the Friday Institute, I want the solution we choose to be something that a K-12 school could implement just as easily.

My early Google searches led me to the Concerto project. Concerto is an open-source digital signage project started out of Rensselaer Polytechnic Institute. Concerto has two versions – a PHP version and a Ruby on Rails version. The Ruby on Rails version is far more feature-filled as it is the current, actively maintained version. The coolest thing about Concerto – the screens need to only run a web browser in order to work. There is no special hardware or software needed for the client displays – only a simple web browser.

For this reason, I chose to use a Raspberry Pi as the driver. A Raspberry Pi is a small, basic all in one computer board that costs about $35. I purchased it with a case and wireless adapter from Amazon for a total of about $75. I also purchased an 8GB SD card for about $4. For the display, we had the original HD TV in the lobby. We set up four of these, attached to 27” Dell IPS LED monitors that ran about $250 each. We chose the Dell monitors for a few reasons. The first was price – these monitors weren’t terribly expensive – we needed full HD monitors (not more than that). The second was the fact that the Dell monitors are VESA mount capable – we were able to mount them to the wall with a $10 VESA mount. The third reason was we needed a monitor that was LED backlit so it would be bright enough to be seen from far away, and used In-Plane Switching (IPS) so viewing angles would be wide enough for people to see. The Dell fit the bill. It also has USB ports, which is an added bonus – because the Raspberry Pi is USB powered, we were able to power it straight off of the monitor. The last thing we needed was a micro USB cable and an HDMI cable, and we were all set to go.

Shopping List (1 screen)

Raspberry Pi: $35
Raspberry Pi Case: $5-10 on Amazon or 3-D print your own
Raspberry Pi Wifi adapter: $10
8GB MicroSD Card: $8.09
3’ MicroUSB Cable: $4.69 (though you can get cheap multipacks)
3’ HDMI cable: $5.09
Dell 27” IPS LED Monitor: $259.88
VESA Mount: $9.99

Total cost: $342.74

Setup Instructions

Concerto

  • Download from http://www.concerto-signage.org and install on a web server per their documentation. All you need is a simple web server running MySQL and Ruby on Rails. If you don’t have one, there’s a VM image you can use. You can also use Heroku.
  • Create your background image for your screens. We wanted all of our screens in portrait, so we created this image that was 1080×1920. You can style it however you want, and fix any elements. I added the FI logo and the directional signs to the background template.
  • In Concerto, click on “Screens”. On the right, locate “Top 5 Templates”, select “View All”, and “New Template”.
  • Create a new template from scratch. Upload your background image.
  • Define your feed areas. This screen has three text areas – one below the FI logo which displays the date and time, and two others which display room information.
  • In the Content section, add your Feeds. I have one feed for each room, one for directories, and one for the date/time.
  • Click back on “Screens” and add the screen. Use the template you just created and assign the appropriate feeds to the different text areas.
  • Get the URL for the screen by clicking “Preview”. You’ll need it later.

 

Raspberry Pi

  • Download the Raspberry Pi NOOBS installer and copy it to the SD card.
  • Insert the SD card into your Raspberry Pi, connect it to your monitor, attach a keyboard, mouse, power, and boot up!
  • Install Raspbian following the prompts on the SD card.
  • Install Chromium web browser (my preference). Go to a terminal window and type the following commands:
    • wget http://ftp.us.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u3_armhf.deb
    • wget http://launchpadlibrarian.net/218525709/chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
    • wget http://launchpadlibrarian.net/218525711/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
    • sudo dpkg -i libgcrypt11_1.5.0-5+deb7u3_armhf.deb
    • sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
    • sudo dpkg -i chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
  • At the terminal window, install XScreensaver by typing sudo apt-get install xscreensaver. You’ll need this in order to disable screen blanking.
  • Open XScreensaver in the configuration menu and disable the screensaver.
  • Set Chrome to run at startup. At the terminal window, type sudo nano -w /etc/xdg/lxsession/LXDE/autostart. Add the following line:
    • @xscreensaver --no-splash
    • @chromium --incognito --kiosk [SIGNAGE URL]
  • If you want to use your monitor in portrait mode, at the terminal window, type sudo nano /boot/config.txt and add the following text:
    • display_rotate = 1
  • Reboot, and you’re all set!

Viewing all articles
Browse latest Browse all 14

Latest Images

Trending Articles





Latest Images