No description
Find a file
2018-12-26 19:17:50 +01:00
35c3-events Update c-base.js 2018-12-26 18:04:54 +01:00
35c3-life-support 35C3 life support screen 2018-12-24 16:04:15 +01:00
35c3-video Use postMessage for communicating waitUntil 2018-12-26 16:51:28 +01:00
35c3-visual-paging 35C3 variants of video player and visual paging 2018-12-26 14:45:27 +01:00
alien-alarm Default background color 2017-12-06 16:10:15 +01:00
bar-history Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
bar-status Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
c_lab Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
c_lab-music Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
camera-warning Pagetitle: camera warning 2018-01-21 15:14:26 +01:00
elements Make data source configurable 2018-12-24 16:04:02 +01:00
events Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
he2 Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
infodisplay Use postMessage for communicating waitUntil 2018-12-26 16:51:28 +01:00
internet Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
lib Live-update line charts with new data 2017-12-04 18:43:12 +01:00
life-support Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
mainhall Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
mainhall-music Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
nerdarea Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
nerdarea-music Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
robolab Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
robolab-music Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
server Route for serving pictures 2018-12-26 19:17:50 +01:00
soundlab Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
svg pictograms as single files and as a collection and credits 2018-03-15 15:43:13 +01:00
theme Fix background sizing 2017-12-04 20:02:31 +01:00
video Use postMessage for communicating waitUntil 2018-12-26 16:51:28 +01:00
visual-paging Make visual paging more similar layout as other screens 2017-12-05 12:37:11 +01:00
weltenbaulab Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
weltenbaulab-music Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
workshop Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
workshop-music Copy pages and assets to dist folder 2018-12-09 21:42:17 +01:00
.eslintrc.json Live-update line charts with new data 2017-12-04 18:43:12 +01:00
.gitignore Ignore package lock 2018-03-11 20:07:41 +01:00
.travis.yml Tag with build number since we're not versioning this 2018-12-09 19:12:54 +01:00
docker-compose.yml Expose pictures as volume 2018-12-26 19:17:50 +01:00
Dockerfile Expose pictures as volume 2018-12-26 19:17:50 +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 Serve videos too 2018-12-26 12:58:32 +01:00
README.md Add Docker hub badge 2018-12-09 19:11:23 +01:00
webpack.config.js Implement 35c3 event calendar 2018-12-24 15:18:35 +01:00

c-base information displays Build Status Greenkeeper badge Docker Hub

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