infrastruktur:lounge:kiosk
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
infrastruktur:lounge:kiosk [2019-05-24 00:11] – Beginn Dokumentation v5 xq | infrastruktur:lounge:kiosk [2019-05-25 21:33] – Neue Features dokumentiert, Touchscreen-Installation dokumentiert xq | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ======= kiosk ======= | + | ====== kiosk ====== |
{{tag> hardware software kiosk}} | {{tag> hardware software kiosk}} | ||
+ | Das Shackspace Informationsterminal (kurz: kiosk) bietet Zugriff auf häufig benötigte Funktionen und Informationen des shack. Diese sind über eine einfache Menüstruktur schnell zu erreichen und durch die Position im Zentrum der Lounge auch physisch in Reichweite. | ||
- | Das Shackspace Informationsterminal | + | DNS entry: lounge.kiosk.shack \\ |
+ | username: | ||
+ | |||
+ | ---- | ||
+ | {{ : | ||
+ | ===== Features ===== | ||
- | ====== Features ====== | ||
* [[infrastruktur/ | * [[infrastruktur/ | ||
* Übersicht über die nächsten U-Bahnen | * Übersicht über die nächsten U-Bahnen | ||
Zeile 12: | Zeile 17: | ||
* Fancy Screensaver | * Fancy Screensaver | ||
+ | ---- | ||
+ | {{ : | ||
+ | ==== Lichtsteuerung ==== | ||
+ | Hier kann das Licht in der Lounge bequem an- und ausgeschaltet werden. | ||
- | ===== Lichtsteuerung ===== | + | ---- |
+ | {{ : | ||
+ | ==== U-Bahnen | ||
+ | Diese Ansicht zeigt die nächsten vier U-Bahnen bzw. Nachtbusse, welche an der Haltestelle "Im Degen" in Richtung Hedelfingen/ | ||
- | ===== U-Bahnen ===== | + | ---- |
+ | {{ : | ||
+ | ==== Stromverbrauch | ||
- | ===== Stromverbrauch | + | Hier wird der aktuelle |
- | ===== volumio Playback ===== | ||
- | ===== Keyholder ===== | + | ---- |
+ | {{ : | ||
+ | ==== Matemat-Füllstand | ||
+ | Hier wird der aktuelle Füllstand der Schächte im [[/ | ||
- | ===== Screensaver ===== | + | ---- |
+ | {{ : | ||
+ | ==== 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. | 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. | Entwickelt mit C++17 auf Basis von SDL2 als Renderer und libcurl als Web-Backend. Benutzt nix sowie qmake als Buildsystem. | ||
+ | |||
+ | === Allgemeines === | ||
Source-Repository: | Source-Repository: | ||
- | Aux/ | + | 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 ====== | + | ===== Historie ====== |
Siehe [[project: | Siehe [[project: |
infrastruktur/lounge/kiosk.txt · Zuletzt geändert: 2021-03-24 16:59 von 192.168.146.218