Information screens for c-base infodisplays
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
alien-alarm
bar-history
bar-status
c_lab-music
c_lab
camera-warning
elements
events
he2
infodisplay
internet
lib
life-support
mainhall-music
mainhall
nerdarea-music
nerdarea
robolab-music
robolab
screens
soundlab
svg
theme
visual-paging
weltenbaulab-music
weltenbaulab
workshop-music
workshop
.eslintrc.json
.gitignore
.travis.yml
README.md
favicon.ico
index.js
package.json
webpack.config.js

README.md

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