The Station

Each station is a small PC that runs Microsoft Windows 10 and sits up on a shelf in the utility room. A HDMI feed of the display feeds into a VECOAX unit which injects the display into the house digital antenna array. Video selection is all handled at the database level.

The following features exist on each station:

  • On startup each station logs in and start up the NIASTV C# module.
  • Designated stations launch a separate thread which is a database maintenance module. This module will index new videos into the database.
  • Read from a local configuration file an ID and a database connection string. Then sign into the database to obtain all configuration settings.
  • Sign into Rabbit MQ (if so configured to do so) and listen on its own queue. This allows some features to be sent to a station (like Skip, Quit, or display titles etc.).
  • On completion of a video or on startup, a request to the database on the next video to play.
  • At the end of the day terminate itself and launch itself again (pulling in the new release if found).
  • When configured to do so, sends the current video selection to the API Proxy. This is then transmitted to an Azure Rest API populating a “What’s On” type UI written in Thymeleaf.
  • Sends activity (including video statistics) to a logging table inside the database for tracking purposes.