infrastruktur:lounge:kiosk
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| infrastruktur:lounge:kiosk [2017-11-09 01:36] – ↷ Seite von infrastruktur:kiosk nach infrastruktur:lounge:kiosk verschoben makefu | infrastruktur:lounge:kiosk [2021-03-24 16:59] (aktuell) – ↷ Links angepasst weil Seiten im Wiki verschoben wurden 192.168.146.218 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== kiosk ====== | + | ====== kiosk ====== |
| - | {{tag> hardware software}} | + | {{tag> hardware software |
| - | Das Shackspace Informationsterminal | + | Das Shackspace Informationsterminal |
| - | Siehe [[project: | + | |
| + | DNS entry: lounge.kiosk.shack \\ | ||
| + | username: | ||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ===== Features ===== | ||
| + | |||
| + | * [[infrastruktur/ | ||
| + | * Übersicht über die nächsten U-Bahnen | ||
| + | * [[doku: | ||
| + | * Anzeige aktuelles Playback des [[infrastruktur/ | ||
| + | * Anzeige aktueller Keyholder (Siehe auch: [[infrastruktur/ | ||
| + | * Fancy Screensaver | ||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ==== Lichtsteuerung ==== | ||
| + | Hier kann das Licht in der Lounge bequem an- und ausgeschaltet werden. | ||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ==== U-Bahnen ==== | ||
| + | Diese Ansicht zeigt die nächsten vier U-Bahnen bzw. Nachtbusse, welche an der Haltestelle "Im Degen" in Richtung Hedelfingen/ | ||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ==== Stromverbrauch ==== | ||
| + | |||
| + | Hier wird der aktuelle Stromverbrauch des shack angezeigt. Einsehbar ist der gesamte Stromverbrauch sowie der Verbrauch über die einzelnen Phasen verteilt. Die Ansicht kann über diverse Zeiträume gezoomt werden. | ||
| + | |||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ==== Matemat-Füllstand ==== | ||
| + | Hier wird der aktuelle Füllstand der Schächte im [[project: | ||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ==== Eventliste ==== | ||
| + | Zeigt die nächsten anstehenden Events von events.shackspace.de an, zudem deren Dauer. | ||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ==== Informations-Seite ==== | ||
| + | Hier finden sich im Moment nur die Abholtermine der Müllabfuhr (Restmüll, Gelber Sack, Papiermüll). Mehr folgt irgendwann™. | ||
| + | |||
| + | ---- | ||
| + | ==== volumio Playback ===== | ||
| + | Der obere Teil des Hauptmenüs zeigt an, was aktuell im [[infrastruktur/ | ||
| + | Es besteht die Möglichkeit, | ||
| + | |||
| + | ---- | ||
| + | ==== Keyholder ===== | ||
| + | Im Hauptmenü wird unten links der Name des aktuellen Keyholders angezeigt. | ||
| + | |||
| + | ---- | ||
| + | {{ : | ||
| + | ==== Screensaver ===== | ||
| + | Erfüllt keine Funktion, soll aber Aufmerksamkeit erregen. Ist auf dem 9ten shack-bday entstanden. | ||
| + | |||
| + | |||
| + | ---- | ||
| + | ===== Entwicklung ===== | ||
| + | |||
| + | ==== System ==== | ||
| + | Der kiosk_v5 läuft auf einem NixOS. Dieses meldet automatisch den User //shack// an, welcher dann eine **i3**-Session startet. | ||
| + | |||
| + | Der **i3** startet dann die Kiosk-Anwendung. | ||
| + | |||
| + | Besonderheit: | ||
| + | |||
| + | Configs/ | ||
| + | |||
| + | ==== Anwendung ==== | ||
| + | |||
| + | Entwickelt mit C++17 auf Basis von SDL2 als Renderer und libcurl als Web-Backend. Benutzt nix sowie qmake als Buildsystem. | ||
| + | |||
| + | === Allgemeines === | ||
| + | |||
| + | Source-Repository: | ||
| + | |||
| + | Dependencies: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * sdl2 (pkg-config) | ||
| + | * sdl2_image (pkg-config) | ||
| + | * sdl2_ttf (pkg-config) | ||
| + | * libcurl (pkg-config) | ||
| + | |||
| + | === Software-Architektur === | ||
| + | |||
| + | Die Anwendung hat eine schwache Modularisierung: | ||
| + | * UI-Module (mainmenu, screensaver, | ||
| + | * Hilfmodule (fontrenderer, | ||
| + | |||
| + | Die Module sind untereinander nur mit der notwendigen API verbunden und haben nach außen hin eine kleine Schnittstelle. Innerhalb eines Moduls ist nicht mehr als die notwendige Abstraktion getätigt (KISS-Prinzip). | ||
| + | |||
| + | Die Initialisierung eines UI-Moduls ist etwas unorthodox (Singleton-Pattern mit "init on first access" | ||
| + | |||
| + | === Touchscreen Treiber === | ||
| + | |||
| + | Der Monitor des Kiosk wird mit einem eGalax Touch-Display bedient, wofür es nur poporitäre Treiber gibt. Diese findet man auf der [[http:// | ||
| + | |||
| + | Die Treiber im Repo wurden für die existente NixOS-Installation angepasst und so gepatcht, dass sie problemlos auf dem System funktioniert (Pfade mit patchelf und ähnlichem angepasst, damit die Shared Objects gefunden werden). | ||
| + | |||
| + | Zudem muss der Treiber noch passend im X-Server konfiguriert werden. Dies geschieht in der NixOS-Konfiguration. | ||
| + | |||
| + | ===== Historie ====== | ||
| + | |||
| + | Siehe [[friedhof: | ||
infrastruktur/lounge/kiosk.1510187816.txt.gz · Zuletzt geändert: von makefu
