3 ms·
I've done a couple of these, and that's close to what I did. I started with a small "industrial" computer — Intel D525, 2g RAM, 40g SSD — costing about $300. I
by cynwoody 13y ago
I've done a couple of these, and that's close to what I did.
I started with a small "industrial" computer — Intel D525, 2g RAM, 40g SSD — costing about $300. I installed Ubuntu 12.04 Alternate with X and Fluxbox. I used Chrome for the display. I configured it to log on automatically upon booting, start X, and run a script configured to start Chrome pointed at the proper URL.
Then I used remastersy† to create an installation USB stick. Boot from the stick, and it installs the customized Ubuntu non-interactively. The first time the system boots, it runs a little dialog where you tell it its role in the system (i.e, what view of the overall status should it display).
If you later need to reconfigure it, you can log in over SSH and run scripts to change the configuration. Or, if absolutely necessary, you can visit in person, open the cabinet, and hook up a keyboard.
It spends almost all its life waiting on an XHR, which asks essentially, I'm showing version x, send me the next version when ready. When version x+1 comes along, the server replies to all the XHRs waiting for version x+1 with a chunk of JSON describing version x+1. The displays then all update their DOMs and hang an XHR for the next version.
I later added a separate heartbeat loop. Once a minute, it asks the server if it's alive, and it puts up an out-of-service screen if the server stops responding.
†http://www.remastersys.com/ http://www.remastersys.com/
- nopassrecover 13y agoTangent, but I've found it a bit odd to see Out of Service messages on billboards. Why not display a default ad (e.g. "Your Ad Here")? Actually on that note I'm surprised I don't see more community/charitable notices in the mix for digital boards (these could serve as "defaults"). Having non-commercial and regularly changing ads in the mix would actually get me watching, and is potentially even tax-deductible.