+Specht
[stratum0-wiki.git] / Infodisplay.mw
index b6cfd15..788fb52 100644 (file)
@@ -10,6 +10,7 @@
 |download=
 |version=
 }}
+[[Datei:Bewegungsmelder am Infodisplay-Pi.jpg|thumb|Bewegungsmelder]]
 
 Auf dem Serverschrank steht ein großer Full HD Fernseher, daran wurde eine Pi angeschlossen und ein bisschen [https://gitli.stratum0.org/kasalehlia/s0infodisplay/ Software] geschrieben. Zu guter letzt bekam der Pi einen Bewegungsmelder, sodass der Fernseher nicht 24/7 laufen muss.
 
@@ -22,20 +23,54 @@ Auf dem Infodisplay stehen relevante Informationen zur Verfügung:
 * 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), ist sie theoretisch auf auf mehreren Displays deploybar.
+Das ganze ist derzeit auf Full-HD optimiert. Da die Software auf einer [http://infodisplay.local:8000 Webseite] basiert (im Fullscreen angezeigt, aus dem Space-Netz erreichbar), ist sie theoretisch auf mehreren Displays deploybar.
 
 == Setup ==
 Raspbian auf Raspberry Pi installieren. Dann:
- sudo apt install firefox xserver-xorg-legacy xserver-xorg             # oder auch firefox-esr, je nach Verfügbarkeit
- git clone https://gitli.stratum0.org/kasalehlia/s0infodisplay/        # macht lokal einen HTTP-Server und baut die HTML-Seite
- git clone https://github.com/rohieb/infopoint-html.git                # startet einen Firefox im Vollbild
- sudo cp s0infodisplay/s0infodisplay.service infopoint-html/infopoint-html.service /etc/systemd/system/
- sudo systemctl daemon-reload
- echo "allowed_users = anybody" | sudo tee /etc/X11/Xwrapper.config    # systemd-logind session activation umgehen...
+
+Pakete installieren:
+ 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 -y install git firefox-esr xserver-xorg-legacy xserver-xorg x11-xserver-utils python3-rpi.gpio npm xinit libicu-dev nodejs unattended-upgrades
+ # oder auch 'firefox', je nach Verfügbarkeit
+
+Libcec mit RPI build system fix bauen:
+ git clone https://github.com/Emantor/libcec
+ cd libcec && mkdir build && cd build
+ cmake -DRPI_INCLUDE_DIR=/opt/vc/include -DRPI_LIB_DIR=/opt/vc/lib ..
+
+Darauf achten das nach dem cmake die Zeile
+ -- Raspberry Pi support:                   yes
+auf yes steht. Dann:
+ make
+ sudo make install
+ sudo ldconfig
+
+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
- sudo systemctl enable s0infodisplay.service
- sudo systemctl enable infopoint-html.service
 
+systemd-logind session activation für den X-Server umgehen:
+ sudo dpkg-reconfigure xserver-xorg-legacy   # hier dann die dritte Option, "Anybody", auswählen
 
+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
 
-[[Datei:Bewegungsmelder am Infodisplay-Pi.jpg|thumb|Bewegungsmelder]]
+=== Troubleshooting ===
+* Wenn das Display mit einem schwarzen Rahmen angezeigt wird
+ sudo raspi-config
+ -> 7 Advanced Options -> A2 Overscan -> <no>
This page took 0.026214 seconds and 4 git commands to generate.