Infodisplay: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
K (Setup: +libudev-dev)
K (umstortiert)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 30: Zeile 30:
  
 
Pakete installieren:
 
Pakete installieren:
  sudo apt -y install git firefox-esr xserver-xorg-legacy xserver-xorg x11-xserver-utils python3-rpi.gpio xinit libicu-dev unattended-upgrades cmake libp8-platform-dev libudev-dev
+
  sudo apt -y install git firefox-esr xserver-xorg-legacy xserver-xorg x11-xserver-utils python3-rpi.gpio python3-venv cec-utils xinit libicu-dev unattended-upgrades  
 
  # oder auch 'firefox', je nach Verfügbarkeit
 
  # oder auch 'firefox', je nach Verfügbarkeit
 
+
  #
Libcec mit RPI build system fix bauen:
+
  # ggf nötig, aber vermutlich nicht mehr, da libcec aus den repos wieder läuft und nicht mehr selbst gebaut werden muss:
  git clone https://github.com/Emantor/libcec
+
  # sudo apt -y install cmake libp8-platform-dev libudev-dev
  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:
 
s0infodisplay macht lokal einen HTTP-Server und baut die HTML-Seite:
 
  git clone https://gitli.stratum0.org/kasalehlia/s0infodisplay/
 
  git clone https://gitli.stratum0.org/kasalehlia/s0infodisplay/
 
  cd s0infodisplay/
 
  cd s0infodisplay/
  virtualenv env
+
  python3 -m venv env
 
  source env/bin/activate
 
  source env/bin/activate
 
  pip install -r requirements.txt
 
  pip install -r requirements.txt
  python3 main.py
+
  # python3 main.py
  
 
infopoint-html startet einen Firefox im Vollbild:
 
infopoint-html startet einen Firefox im Vollbild:
Zeile 74: Zeile 65:
 
  sudo raspi-config
 
  sudo raspi-config
 
  -> 7 Advanced Options -> A2 Overscan -> <no>
 
  -> 7 Advanced Options -> A2 Overscan -> <no>
 +
 +
== TODO ==
 +
* Mauszeiger wegbekommen (unclutter?)
 +
* Energieverbrauchsanzeige reparieren (greift gerade noch auf einen externen, nicht mehr laufenden Server zu, könnte intern auf das Grafana auf der service-vm zugreifen
 +
* Stärkeres Netzteil für den Pi
 +
* SD-Karten-Verschleiß minimieren

Aktuelle Version vom 16. Februar 2019, 02:29 Uhr

Infodisplay
Das Infodisplay im Flur des Spaces
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/
Bewegungsmelder

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 mehreren Displays deploybar.

Setup

Raspbian auf Raspberry Pi installieren. Dann:

Pakete installieren:

sudo apt -y install git firefox-esr xserver-xorg-legacy xserver-xorg x11-xserver-utils python3-rpi.gpio python3-venv cec-utils xinit libicu-dev unattended-upgrades 
# oder auch 'firefox', je nach Verfügbarkeit
# 
# ggf nötig, aber vermutlich nicht mehr, da libcec aus den repos wieder läuft und nicht mehr selbst gebaut werden muss:
# sudo apt -y install cmake libp8-platform-dev libudev-dev

s0infodisplay macht lokal einen HTTP-Server und baut die HTML-Seite:

git clone https://gitli.stratum0.org/kasalehlia/s0infodisplay/
cd s0infodisplay/
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
# python3 main.py

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:

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

Troubleshooting

  • Wenn das Display mit einem schwarzen Rahmen angezeigt wird
sudo raspi-config
-> 7 Advanced Options -> A2 Overscan -> <no>

TODO

  • Mauszeiger wegbekommen (unclutter?)
  • Energieverbrauchsanzeige reparieren (greift gerade noch auf einen externen, nicht mehr laufenden Server zu, könnte intern auf das Grafana auf der service-vm zugreifen
  • Stärkeres Netzteil für den Pi
  • SD-Karten-Verschleiß minimieren