Monday, November 9, 2015

Digital Signage


After sitting unused for quite some time I found a task which my MK802 "PC on a stick" would be perfectly suited to. As part of my day job I've been asked to set up a TV as a Digital Signage display. It is a vertically mounted Panasonic Viera which has its own "smart TV" features, along with this the company had purchased a Popcorn Hour S-300. Unfortunately this came with a European power plug and not enough room behind the TV to fit it and a plug converter.

So in steps the MK802; there is a powered USB port in the TV which gives 5v, more than enough to power the MK802.

I've installed Lubuntu onto it and worked out how to rotate the frame buffer display (thanks to this bit of info):

/usr/share/X11/xorg.conf.d/01-device.conf



I have a PyDashie system rigged up as the dashboard which is displayed in a Chromium browser window that is automatically launched on login. The browser is launched in kiosk mode so that it is completely fullscreen.

My /etc/lightdm/lightdm.conf has the following in it:



This automatically logs in the user on boot and hides the mouse cursor.

I also removed all screensavers and power management.

The system connects to the network via wifi and occasionally its IP address will change. I rigged up a system where a notification will be sent to my phone using the Notify My Android app. To get the message sent out from the digital signage host I installed the nma-python package (pip install nma-python) and then have a cron task that executes the following bash script every 15 minutes:



Here's a screenshot of the webpage displayed:


And a photo of the setup on the wall: