vrr-infoscreen (formerly vrr-fakedisplay) shows departures at a public transit stop, serving both as infoscreen / webapp and LED departure monitor look-alike.
It supports most german local transit networks and also some austrian ones.
There's a public vrr-infoscreen service on finalrewind.org. You can also host your own instance, see the Setup notes below.
Examples
Dependencies
- perl ≥ 5.10
- Cache::File (part of the Cache module)
- DateTime
- DateTime::Format::Strptime
- File::ShareDir
- GD
- Mojolicious
- Travel::Status::DE::EFA ≥ 1.15
- Travel::Status::DE::HAFAS ≥ 2.03
- Travel::Status::DE::URA ≥ 2.01
Setup
First, build App::VRR::Fakedisplay which is required for the LED frontend:
- perl Build.PL
- ./Build
- ./Build manifest
- sudo ./Build install
vrr-infoscreen is configured via environment variables:
Variable | Default | Description |
---|---|---|
VRRFAKEDISPLAY_LISTEN | http://127.0.0.1:8091 |
IP and Port for web service |
VRRFAKEDISPLAY_STATS | None | File in which the total count of (non-cached) backend API requests is written |
VRRFAKEDISPLAY_CACHE | /tmp/vrr-fakedisplay |
Cache directory |
VRRFAKEDISPLAY_WORKERS | 2 | Number of concurrent worker processes |
Set these as needed, create templates/imprint.html.ep
(imprint) and
templates/privacy.html.ep
(privacy policy), and configure your web server to
pass requests for vrr-infoscreen to the appropriate port.
You can run the app using a Mojo::Server of your choice, e.g. perl index.pl daemon -m production (quick&dirty, does not respect all variables) or hypnotad (recommended).