No description
Find a file
2017-12-06 16:07:59 +01:00
alien-alarm Make the text static 2017-12-06 16:07:59 +01:00
bar-history Tweak title 2017-12-05 12:44:38 +01:00
bar-status Ceva 2017-12-05 13:21:49 +01:00
c_lab Include web components polyfill for older browsers 2017-12-01 12:44:53 +01:00
c_lab-music New c-lab dashboard with music 2017-12-04 17:41:25 +01:00
elements Support for a textual state description 2017-12-05 14:43:07 +01:00
events Tweak title 2017-12-05 14:02:38 +01:00
infodisplay Don't stop the rotation here 2017-12-01 19:51:13 +01:00
internet Tweak network traffic screen 2017-12-05 14:05:47 +01:00
lib Live-update line charts with new data 2017-12-04 18:43:12 +01:00
mainhall Un-bold ceva 2017-12-01 20:29:53 +01:00
mainhall-music New mainhall dashboard with music 2017-12-04 17:39:06 +01:00
nerdarea Add nerdarea dashboard 2017-12-05 14:26:22 +01:00
nerdarea-music New nerdarea dashboard with music 2017-12-04 17:45:14 +01:00
robolab Prepare screens for robolab 2017-12-05 14:50:17 +01:00
robolab-music Prepare screens for robolab 2017-12-05 14:50:17 +01:00
screens Use theme 2017-11-30 17:36:02 +01:00
soundlab Tweak titles 2017-12-05 16:28:59 +01:00
theme Fix background sizing 2017-12-04 20:02:31 +01:00
visual-paging Make visual paging more similar layout as other screens 2017-12-05 12:37:11 +01:00
weltenbaulab Tweak titles 2017-12-05 16:28:59 +01:00
workshop Un-bold ceva 2017-12-01 20:29:53 +01:00
workshop-music New workshop dashboard with music 2017-12-04 17:58:39 +01:00
.eslintrc.json Live-update line charts with new data 2017-12-04 18:43:12 +01:00
.gitignore Initial build setup 2017-11-28 21:43:25 +01:00
.travis.yml Prep Travis 2017-11-28 21:58:47 +01:00
favicon.ico Add favicon 2017-12-01 11:58:27 +01:00
index.js Custom element for visualizing MPD status 2017-12-04 16:14:46 +01:00
package.json Use heatmap color for user list 2017-12-04 19:53:58 +01:00
README.md Add alien alarm screen 2017-12-05 22:10:25 +01:00
webpack.config.js Initial event calendar / departures screen 2017-12-01 16:29:50 +01:00

c-base information displays Build Status Greenkeeper badge

c-base has a set of information displays located around the station, showing various statistics, current events, and notifications.

These displays work by rendering different HTML screens loaded from a URL. The info displays each have their own rotation of URLs configured that they switch at frequent intervals. In addition it is possible to trigger a custom URL to be opened by a screen by sending it a MsgFlo message.

Workshop dashboard screen

We have several implementations of the infodisplay software:

  • browser infodisplay -- the primary implementation used by our static info displays, running in Chrome kiosk mode
  • mqttwebview -- Python implementation mostly used as Linux screensaver in interactive terminals
  • c-beam-viewer -- Android implementation for wall-mounted tablets

The standard MsgFlo signature provides an open inport for sending new URLs for a display to open, and opened outport to tell when a URL has been opened:

Info display as seen in Flowhub

Updating URL lists

Most of our infodisplays are deployed using Ansible. You can find the configuration in c-flo repository.

The host_vars folder contains the per-display URL rotation configurations.

Screens available

The URLs given here will generally only work inside the c-base member network.

Area-specific dashboards

There are also screens available from c-beam:

Other screens

There are also screens available from c-beam:

Visual paging

For visualizing textual information, there is the visual paging screen.

This is typically triggered by a MsgFlo participant, for example the boardingurl component.

Development

Data visualization elements are built in ES6 with SkateJS and Plotly.

Screens are plain HTML that uses various data visualization elements.

Data sources

The primary data source for building new information displays is the c-base OpenMCT installation powered by cbeam-telemetry-server. New MsgFlo participants can be configured to write there, making the data available for visualization.

In addition there are some APIs available in other systems like c-beam and the c-base website.

Style guide

To fit in c-base, the screens should in general be dark and futuristic. You can find some common styling rules in c-base.css.

Most of our info displays are 1080 landscape monitors, but we also have other sizes (including portait) in use.

Because of this, all sizing and positioning on the screens should use viewport units (vh, vw, vmin, vmax). An info screen should utilize the whole screen area.

The screens are often seen from afar, so using bright colors and big text is advisable.

Deployment

This repository is deployed on the c-flo machine in /opt/infoscreens. Deploy new version with:

$ git pull
$ npm install
$ npm run build