From 8f0b84d2de9269e39b07459a6eb45f76534f1c43 Mon Sep 17 00:00:00 2001 From: Henri Bergius Date: Fri, 1 Dec 2017 13:28:50 +0100 Subject: [PATCH] Initial README --- README.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1be7854 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +c-base information displays [![Build Status](https://travis-ci.org/c-base/infoscreens.svg?branch=master)](https://travis-ci.org/c-base/infoscreens) +=========================== + +[c-base](https://c-base.org/) 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](https://msgflo.org/) message. + +We have several implementations of the infodisplay software: + +* [browser infodisplay](https://github.com/c-base/infoscreens/tree/master/infodisplay) -- the primary implementation used by our static info displays, running in Chrome kiosk mode +* [mqttwebview](https://github.com/c-base/mqttwebview) -- Python implementation mostly used as Linux screensaver in interactive terminals +* [c-beam-viewer](https://github.com/c-base/c-beam-viewer) -- Android implementation for wall-mounted tablets + +## Updating URL lists + +Most of our infodisplays are deployed using Ansible. You can find the configuration in [c-flo repository](https://github.com/c-base/c-flo/tree/master/ansible). + +The [host\_vars folder](https://github.com/c-base/c-flo/tree/master/ansible/host_vars) contains the per-display URL rotation configurations. + +## Screens available + +The URLs give here will generally only work inside the c-base member network. + +### Area-specific dashboards + +* [mainhall](http://c-flo.cbrp3.c-base.org/mainhall/) +* [c-lab](http://c-flo.cbrp3.c-base.org/c_lab/) +* [soundlab](http://c-flo.cbrp3.c-base.org/soundlab/) +* [workshop](http://c-flo.cbrp3.c-base.org/workshop/) + +There are also screens available from c-beam: + +* [he1](https://c-beam.cbrp3.c-base.org/he1display) +* [mechblast](https://c-beam.cbrp3.c-base.org/mechdisplay) + +### Other screens + +* [bar historical data](http://c-flo.cbrp3.c-base.org/bar-history/) +* [bar status](http://c-flo.cbrp3.c-base.org/bar-status/) +* [internet traffic](http://c-flo.cbrp3.c-base.org/internet/) + +There are also screens available from c-beam: + +* [sensors and AP stats](https://c-beam.cbrp3.c-base.org/sensors) +* [today's events](https://c-beam.cbrp3.c-base.org/events) +* [timehole status](https://c-beam.cbrp3.c-base.org/ceitloch) +* [map of c-base](https://c-beam.cbrp3.c-base.org/c-base-map/) +* [open missions](https://c-beam.cbrp3.c-base.org/missions) +* [reddit posts](https://c-beam.cbrp3.c-base.org/reddit) +* [artefact registry](https://c-beam.cbrp3.c-base.org/artefacts) +* [weather conditions](https://c-beam.cbrp3.c-base.org/weather) +* [public transport conditions](https://c-beam.cbrp3.c-base.org/bvg) + +### Visual paging + +For visualizing textual information, there is the [visual paging screen](http://c-flo.cbrp3.c-base.org/visual-paging/). + +This is typically triggered by a MsgFlo participant, for example the [boardingurl component](https://github.com/c-base/c-flo/blob/master/components/boardingurl.py). + +## Development + +Data visualization elements are built in ES6 with [SkateJS](http://skatejs.netlify.com/). + +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](http://openmct.cbrp3.c-base.org/) powered by [cbeam-telemetry-server](https://github.com/c-base/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](https://github.com/c-base/infoscreens/blob/master/theme/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: + +```bash +$ git pull +$ npm install +$ npm run build +```