Infodisplay
Infodisplay | |
---|---|
Das Infodisplay im Flur des Spaces | |
Beschreibung: | S0 Infodisplay |
Kontakt: | Kasa, larsan |
Status: | aktiv (Was heißt das?) |
Quellcode: | https://gitli.stratum0.org/kasalehlia/s0infodisplay/ |
Auf dem Serverschrank steht ein großer Full HD Fernseher, daran wurde eine Pi angeschlossen und ein bisschen Software geschrieben. Zu guter letzt bekam der Pi einen Bewegungsmelder, sodass der Fernseher nicht 24/7 laufen muss.
Auf dem Infodisplay stehen relevante Informationen zur Verfügung:
- Uhrzeit und auf welche Entität der Space derzeit geöffnet ist
- Katzenbilder
- Wetter
- Relative und absolute ÖPNV-Abfahrtszeiten von Haltestelle Hamburger Straße, sowie Ludwigstraße
- Kalender
- Visualisiert Stromverbrauch und Netzwerkdinge im Spacenetz
- IRC-Channel
Das ganze ist derzeit auf Full-HD optimiert. Da die Software auf einer Webseite basiert (im Fullscreen angezeigt, aus dem Space-Netz erreichbar), ist sie theoretisch auf auf mehreren Displays deploybar.
Setup
Raspbian auf Raspberry Pi installieren. Dann:
Pakete installieren:
sudo apt install git firefox-esr xserver-xorg-legacy xserver-xorg x11-xserver-utils cec-utils python3-rpi.gpio npm xinit libicu-dev # oder auch 'firefox', je nach Verfügbarkeit curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - # oder was mittlerweile nach https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions aktuell ist sudo apt-get install -y nodejs
s0infodisplay macht lokal einen HTTP-Server und baut die HTML-Seite:
git clone https://gitli.stratum0.org/kasalehlia/s0infodisplay/ cd s0infodisplay/ npm install NODE_ENV=production npm run build
infopoint-html startet einen Firefox im Vollbild:
cd git clone https://github.com/rohieb/infopoint-html.git echo -e '#!/bin/sh\nexec /home/pi/infopoint-html/src/infopoint-html' | sudo tee /usr/bin/infopoint-html sudo chmod +x /usr/bin/infopoint-html echo 'URL="http://localhost:8000/"' | sudo tee /etc/default/infopoint-html
systemd-logind session activation für den X-Server umgehen:
echo "allowed_users = anybody" | sudo tee /etc/X11/Xwrapper.config
systemd-Services installieren:
sudo cp s0infodisplay/s0infodisplay.service s0infodisplay/pirscreencontrol.service infopoint-html/infopoint-html.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable s0infodisplay.service sudo systemctl enable infopoint-html.service sudo systemctl enable pirscreencontrol.service