InfoScreen: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „{{ProjektInfoBox |name = InfoScreen |status = beta |image = Infoscreen01.jpg |description = Aktuelle Information über das RaumZeitLabor |aut…“) |
Helix (Diskussion | Beiträge) (Bild aktualisiert) |
||
(27 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ProjektInfoBox | {{ProjektInfoBox | ||
|name = InfoScreen | |name = InfoScreen | ||
|status = | |status = stable | ||
|image = | |image = Infoscreen_v6.jpg | ||
|description = Aktuelle Information über das RaumZeitLabor | |description = Aktuelle Information über das RaumZeitLabor | ||
|author = [[Benutzer: | |category = Infrastruktur | ||
|author = [[Benutzer:Blabber|blabber]], [[Benutzer:Silsha|silsha]] | |||
|username = | |username = | ||
|version = | |version = v6 | ||
|update = | |update = | ||
|platform = | |platform = | ||
|preis = | |preis = | ||
|license = | |license = | ||
|download = https://github.com/raumzeitlabor/ | |download = https://github.com/raumzeitlabor/infoscreen-v6 | ||
}} | }} | ||
== Beschreibung == | |||
Der InfoScreen steht auf dem Kühlschrank und zeigt einige interessante Informationen an. Aktuell sind das: | Der InfoScreen steht auf dem Kühlschrank und zeigt einige interessante Informationen an. Aktuell sind das: | ||
* Aktueller Stromverbrauch + Graph des Verbrauchs über die letzten 60 Minuten | * Aktueller Stromverbrauch + Graph des Verbrauchs über die letzten 60 Minuten | ||
* Anzahl Geräte im Netzwerk | * Anzahl Geräte im Netzwerk | ||
* Temperatur | * Temperatur | ||
* Mitgliederanzahl | |||
* Kontostand | |||
* RaumStatus | * RaumStatus | ||
* Fahrplan der Bahnhaltestelle Boveristraße | * Fahrplan der Bahnhaltestelle Boveristraße | ||
* Twitterwall | * Twitterwall | ||
* Bilder aus [http://log.raumzeitlabor.de log.raumzeitlabor.de] | |||
== Konfiguration == | |||
=== Korrekte Auflösung einstellen === | |||
Aktuell wird der InfoScreen an einem Monitor mit einer Auflösung von 1920x1200 Pixeln betrieben. Um das korrekt einzustellen muss die Datei /boot/config.txt um folgende Punkte ergänzt werden: | |||
hdmi_group=2 | |||
hdmi_mode=68 | |||
Andere Monitore und/oder andere Auflösungen brauchen andere Einstellungen! | |||
=== Software === | |||
Zuerst aktualisieren wir die Paketquellen und das System: | |||
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade | |||
Dann können wir die benötigte Software installieren: | |||
sudo apt-get install chromium x11-xserver-utils unclutter lighttpd php5-cgi git | |||
Nun passen wir die Konfiguration des Webservers an | |||
sudo nano /etc/lighttpd/lighttpd.conf | |||
Folgende Zeile im Abschnitt server.modules hinzufügen: | |||
"mod_fastcgi", | |||
Folgende Zeilen ans Ende der Datei einfügen: | |||
fastcgi.server = ( ".php" => (( | |||
"bin-path" => "/usr/bin/php-cgi", | |||
"socket" => "/tmp/php.sock" | |||
))) | |||
Und die Zeile | |||
server.document-root = "/var/www" | |||
durch | |||
server.document-root = "/var/www/infoscreen" | |||
ersetzen. | |||
=== Installation der Infoscreen Software === | |||
Folgende Zeilen ausführen: | |||
sudo -u www-data -i git clone https://github.com/raumzeitlabor/infoscreen.git /var/www/infoscreen | |||
sudo -u www-data -i cd /var/www/infoscreen && git submodule update --init --recursive | |||
=== Update Repository bei Restart === | |||
sudo nano /etc/local.rc | |||
Folgende Zeile am Ende einfügen: | |||
cd /var/www/infoscreen && sudo -u www-data git pull | |||
=== Autostart in X11 === | |||
sudo nano /etc/rc.local | |||
Folgende Zeile ganz am Ende einfügen: | |||
su -l pi -c startx | |||
=== Autostart Chromium Kiosk === | |||
sudo nano /etc/xdg/lxsession/LXDE/autostart | |||
xscreensaver und lxpanel entfernen. Folgende Zeilen ergänzen: | |||
@xset s off | |||
@xset -dpms | |||
@xset s noblank | |||
@chromium --user-data-dir=/tmp --kiosk localhost | |||
@xmodmap -e "pointer = 1 10 9 8 7 6 5 4 3 2" | |||
=== Entferne Desktop-Icons === | |||
Die Desktop-Icons stören nur, man hat ja keine Maus um sie wegzuklicken. Weg damit: | |||
rm ~pi/Desktop/*.desktop | |||
=== Ändern des Boot-Screens === | |||
Wenn der InfoScreen startet, soll ein hübsches Bild angezeigt werden, welches unter /etc/splash.png liegt. Die aktuelle Version habe ich [https://wiki.raumzeitlabor.de/wiki/Datei:Splash.png hier verlinkt]. Dafür installierien wir uns zuerst fbi: | |||
sudo apt-get install fbi | |||
Dann erstellen wir die Datei /etc/init.d/asplashscreen mit folgendem Inhalt: | |||
#! /bin/sh | |||
### BEGIN INIT INFO | |||
# Provides: asplashscreen | |||
# Required-Start: | |||
# Required-Stop: | |||
# Should-Start: | |||
# Default-Start: S | |||
# Default-Stop: | |||
# Short-Description: Show custom splashscreen | |||
# Description: Show custom splashscreen | |||
### END INIT INFO | |||
do_start () { | |||
/usr/bin/fbi -T 1 -noverbose -a /etc/splash.png | |||
exit 0 | |||
} | |||
case "$1" in | |||
start|"") | |||
do_start | |||
;; | |||
restart|reload|force-reload) | |||
echo "Error: argument '$1' not supported" >&2 | |||
exit 3 | |||
;; | |||
stop) | |||
# No-op | |||
;; | |||
status) | |||
exit 0 | |||
;; | |||
*) | |||
echo "Usage: asplashscreen [start|stop]" >&2 | |||
exit 3 | |||
;; | |||
esac | |||
Nun machen wir die Datei ausführbar und nehmen sie in den Startprozess mit auf: | |||
sudo chmod a+x /etc/init.d/asplashscreen | |||
sudo insserv /etc/init.d/asplashscreen | |||
(Anleitung via [http://www.recantha.co.uk/blog/?p=799]. Danke!) | |||
=== Ändern des Desktophintergrunds === | |||
Nachdem wir so ein tolles Bootlogo haben und auch alle Desktopicons versteckt sind, können wir auch den Desktophintergrund auf unser Bootlogo ändern. In der Datei | |||
~pi/.config/pcmanfm/LXDE/pcmanfm.conf | |||
gibt es folgenden Wert: | |||
wallpaper=/etc/alternatives/desktop-background | |||
Dies ersetzen wir durch | |||
wallpaper=/etc/splash.png | |||
Fertig. Nun wird beim Bootvorgang ausschließlich das RZL-Logo zu sehen sein! | |||
=== Automatischer Update-check === | |||
Wenn wir am InfoScreen entwickeln, wollen wir ihn nicht dauernd neu starten um eventuelle Änderungen zu sehen. Harte Reboots (abziehen der Stromversorgung im laufenden Betrieb) können zudem das Dateisystem beschädigen. Also wollen wir minütlich prüfen, ob neue Änderungen auf Github bereitstehen und in diesem Fall das Repository pullen sowie den Browsertab neustarten. Das alles machen die beiden Scripte check.sh und refresh.sh. Ersteres ruft Letzteres im Falle von Änderungen auf um den Browsertab neuzuladen. Während man entwickelt sind kürzere Prüfzeiten von zB nur einer Minute zu emfehlen. Dafür ergänzt man in der crontab des Nutzers root eine Zeile. Wir installieren zuerst das xdotool, mit dem wir den Browser zum aktualisieren der Seite bringen: | |||
apt-get install xdotool | |||
Dann öffnen wir den Crontab von root: | |||
sudo crontab -e | |||
Dann ergänzen wir: | |||
* * * * * /var/www/infoscreen/check.sh | |||
Dies prüft minütlich. Möchten wir zB halbstündlich prüfen, würde die Zeiele so aussehen: | |||
0,30 * * * * /var/www/infoscreen/check.sh | |||
Aktuell wird minütlich geprüft. Wir entwickeln ja noch! | |||
[[Kategorie:Hardware]] |
Aktuelle Version vom 15. Februar 2020, 15:28 Uhr
InfoScreen Release status: stable [box doku] | |
---|---|
Beschreibung | Aktuelle Information über das RaumZeitLabor |
Kategorie | Infrastruktur |
Autor(en) | blabber, silsha |
Letzte Version | v6 |
Download | https://github.com/raumzeitlabor/infoscreen-v6 |
Beschreibung
Der InfoScreen steht auf dem Kühlschrank und zeigt einige interessante Informationen an. Aktuell sind das:
- Aktueller Stromverbrauch + Graph des Verbrauchs über die letzten 60 Minuten
- Anzahl Geräte im Netzwerk
- Temperatur
- Mitgliederanzahl
- Kontostand
- RaumStatus
- Fahrplan der Bahnhaltestelle Boveristraße
- Twitterwall
- Bilder aus log.raumzeitlabor.de
Konfiguration
Korrekte Auflösung einstellen
Aktuell wird der InfoScreen an einem Monitor mit einer Auflösung von 1920x1200 Pixeln betrieben. Um das korrekt einzustellen muss die Datei /boot/config.txt um folgende Punkte ergänzt werden:
hdmi_group=2 hdmi_mode=68
Andere Monitore und/oder andere Auflösungen brauchen andere Einstellungen!
Software
Zuerst aktualisieren wir die Paketquellen und das System:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Dann können wir die benötigte Software installieren:
sudo apt-get install chromium x11-xserver-utils unclutter lighttpd php5-cgi git
Nun passen wir die Konfiguration des Webservers an
sudo nano /etc/lighttpd/lighttpd.conf
Folgende Zeile im Abschnitt server.modules hinzufügen:
"mod_fastcgi",
Folgende Zeilen ans Ende der Datei einfügen:
fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/tmp/php.sock" )))
Und die Zeile
server.document-root = "/var/www"
durch
server.document-root = "/var/www/infoscreen"
ersetzen.
Installation der Infoscreen Software
Folgende Zeilen ausführen:
sudo -u www-data -i git clone https://github.com/raumzeitlabor/infoscreen.git /var/www/infoscreen sudo -u www-data -i cd /var/www/infoscreen && git submodule update --init --recursive
Update Repository bei Restart
sudo nano /etc/local.rc
Folgende Zeile am Ende einfügen:
cd /var/www/infoscreen && sudo -u www-data git pull
Autostart in X11
sudo nano /etc/rc.local
Folgende Zeile ganz am Ende einfügen:
su -l pi -c startx
Autostart Chromium Kiosk
sudo nano /etc/xdg/lxsession/LXDE/autostart
xscreensaver und lxpanel entfernen. Folgende Zeilen ergänzen:
@xset s off @xset -dpms @xset s noblank @chromium --user-data-dir=/tmp --kiosk localhost @xmodmap -e "pointer = 1 10 9 8 7 6 5 4 3 2"
Entferne Desktop-Icons
Die Desktop-Icons stören nur, man hat ja keine Maus um sie wegzuklicken. Weg damit:
rm ~pi/Desktop/*.desktop
Ändern des Boot-Screens
Wenn der InfoScreen startet, soll ein hübsches Bild angezeigt werden, welches unter /etc/splash.png liegt. Die aktuelle Version habe ich hier verlinkt. Dafür installierien wir uns zuerst fbi:
sudo apt-get install fbi
Dann erstellen wir die Datei /etc/init.d/asplashscreen mit folgendem Inhalt:
#! /bin/sh ### BEGIN INIT INFO # Provides: asplashscreen # Required-Start: # Required-Stop: # Should-Start: # Default-Start: S # Default-Stop: # Short-Description: Show custom splashscreen # Description: Show custom splashscreen ### END INIT INFO do_start () { /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png exit 0 } case "$1" in start|"") do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) # No-op ;; status) exit 0 ;; *) echo "Usage: asplashscreen [start|stop]" >&2 exit 3 ;; esac
Nun machen wir die Datei ausführbar und nehmen sie in den Startprozess mit auf:
sudo chmod a+x /etc/init.d/asplashscreen sudo insserv /etc/init.d/asplashscreen
(Anleitung via [1]. Danke!)
Ändern des Desktophintergrunds
Nachdem wir so ein tolles Bootlogo haben und auch alle Desktopicons versteckt sind, können wir auch den Desktophintergrund auf unser Bootlogo ändern. In der Datei
~pi/.config/pcmanfm/LXDE/pcmanfm.conf
gibt es folgenden Wert:
wallpaper=/etc/alternatives/desktop-background
Dies ersetzen wir durch
wallpaper=/etc/splash.png
Fertig. Nun wird beim Bootvorgang ausschließlich das RZL-Logo zu sehen sein!
Automatischer Update-check
Wenn wir am InfoScreen entwickeln, wollen wir ihn nicht dauernd neu starten um eventuelle Änderungen zu sehen. Harte Reboots (abziehen der Stromversorgung im laufenden Betrieb) können zudem das Dateisystem beschädigen. Also wollen wir minütlich prüfen, ob neue Änderungen auf Github bereitstehen und in diesem Fall das Repository pullen sowie den Browsertab neustarten. Das alles machen die beiden Scripte check.sh und refresh.sh. Ersteres ruft Letzteres im Falle von Änderungen auf um den Browsertab neuzuladen. Während man entwickelt sind kürzere Prüfzeiten von zB nur einer Minute zu emfehlen. Dafür ergänzt man in der crontab des Nutzers root eine Zeile. Wir installieren zuerst das xdotool, mit dem wir den Browser zum aktualisieren der Seite bringen:
apt-get install xdotool
Dann öffnen wir den Crontab von root:
sudo crontab -e
Dann ergänzen wir:
* * * * * /var/www/infoscreen/check.sh
Dies prüft minütlich. Möchten wir zB halbstündlich prüfen, würde die Zeiele so aussehen:
0,30 * * * * /var/www/infoscreen/check.sh
Aktuell wird minütlich geprüft. Wir entwickeln ja noch!