Giter Club home page Giter Club logo

screenstation's Introduction

Screenstation

NOTE: I've stopped using this product a while ago (mostly we removed big screens at my office after covid so i don't have an use right now) but it should works fine.

Screenstation is a group of services used to remotely manages a fleet of screens across multiple rooms or offices.

When working at Keymetrics, some developers were working on a internal product that was allowing to manage screens that we had around our offices to display specific pages (mostly monitoring or BI). When i left and joined Reelevant we had the same issue, sadly they didn't released the internal tool to the world so i motived myself to code a simpler version. One of my goal was to be able to use chromecast to avoid using as many PI's as screens i had.

Here the different services:

  • api is the gateway that the frontend use to communicate to workers (over websockets)
    • its automatically exposed on api-screenstation.local (using mdns).
    • its register workers.screenstation.local which is used by worker to connect to it (using mdns too).
  • frontend is the UI that allows to manage all workers
    • its automatically exposed on screenstation.local (again using mdns)
  • worker is the actual worker that you'll need to deploy on each hardware.
    • one worker can use the screen connected to it and can cast to any chromecast available in its network.

A summary of features that you can use:

  • Cast to the worker's attached screen
  • Cast to any chromecast inside the network
  • Automatically refresh any page every configurable interval
  • Remotely connect to any screen to click/type on it (if you can to log yourself for ex.)
  • If you shutdown a worker, it will stop sharing to any chromecast but will start again on startup.
  • If someone take the control of a chromecast, the worker will wait for it to be available again to avoid a war :)

How to use

Currently targeting both armv7 (except of the frontend, but shouldn't be hard to build from source) and x86, you can find the last build i've made on the latest release (v0.3.3).

When you have all binaries on your host, you simply need to launch them one by one (order: api -> worker -> frontend). There are systemd service template in /deploy if you want.

All the services are discovering themselves over mdns so there is no config to do prior to launching all services. After few seconds, you should be able to reach screenstation.local from your browser.

Screenshots

Homescreen

Screenshot from 2021-11-21 17-31-05

Set a refresh time for a view

Screenshot from 2021-11-21 17-31-27

Remotely control a view

Screenshot from 2021-11-21 17-31-46

Set an url

Screenshot from 2021-11-21 17-32-09

Cast to a chromecast

Screenshot from 2021-11-21 17-35-02

screenstation's People

Contributors

vmarchaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

screenstation's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.