Direkt zum Inhalt

Digital Signage [20200212 Update]

Von unbekannt - en:File:Raspberry Pi Logo.svg,
Logo, https://de.wikipedia.org/w/index.php?curid=7078568

Das Update wurde wegen Buster notwendig.
Stolz wie Bolle über die geglückte Erneuerung des Systems habe ich alles wieder Live geschaltet.

Etwa zwei Stunden nach dem Start gab es bei mir eine Fehlermeldung: "Chromium braucht ein Update"... Übliche Vorgehensweisen führten mich nicht zum Erfolg. Bis ich diese Webseite gefunden habe >>hier.
Mir hat dann dieses Vorgehen geholfen
In das Terminal eingeben
sudo touch /etc/chromium-browser/customizations/01-disable-update-check;echo CHROMIUM_FLAGS=\"\$\{CHROMIUM_FLAGS\} --check-for-update-interval=31536000\" | sudo tee /etc/chromium-browser/customizations/01-disable-update-check

Der Anlass

Für „Ein Haus für Alle“ sollte ein schwarzes Brett für die Aktivitäten der Bewohner erstellt werden. Ich habe sofort an „digital signage“ gedacht und wollte eine Unterseite der Webseite von Ein Haus für Alle dafür verwenden. Da ich mich vor Jahren mal kurz damit beschäftigt habe, sah ich jetzt einen Grund mich nochmal daran zu versuchen.

Die Bedingungen

    • Ein Raspberry Pi
    • mit Wlan-Modul
    • Monitorausgabe längs (wegen der Optik)
    • Zeit geschaltet (aus Energiespargründen)

Also los
Ein älterer wenig genutzter Raspberry lag noch in der Grabbelkiste.
Zunächst gilt es den Raspberrypi mit dem aktuelle Raspbian zu versorgen. Dazu lädt man das Image von hier https://www.raspberrypi.org/downloads/raspbian/. Dabei ist es egal welche Version man herunterlädt. Bei der Light-Version ist man jedoch auf einen Zugang durch SSH angewiesen. (Wer weiß was das heißt, soll es machen), auch für alle anderen ist es SINNVOLL sich bei diesem Projekt in die Arbeit an der Konsole zu üben denn, läuft das Ganze, ist es gut ohne Maus und Tastatur in das System zu gelangen.

Zip-File entpacken
Steckt die SD-Karte in euren Rechner bzw. das Lesegerät
Das entpackte Image muss anschließend auf die SD-Karte geschrieben werden.
Hier die Anleitung der Raspberry Pi Foundation:

    Linux https://www.raspberrypi.org/documentation/installation/installing-images/linux.md
    Mac OS https://www.raspberrypi.org/documentation/installation/installing-images/mac.md
    Windows https://www.raspberrypi.org/documentation/installation/installing-images/windows.md
    
Nachdem das Image auf die SD-Karte geschrieben wurde solltet ihr auf das Dateisystem zugreifen können.
Navigiert auf die Partition /boot und legt dort eine Datei mit dem Namen »ssh« an. Dies ist erforderlich, um anschließend mittels Secure Shell (SSH) auf den Raspberry Pi zugreifen zu können. Unter Windows gibt es diesen Ordner nicht, hier legt ihr die Datei direkt im Hauptverzeichnis der SD-Karte an.
WICHTG, wer als Windows-Nutzer auf die System-Partition zugreifen möchte, der muss sich bspw. den Ext2Fsd http://www.ext2fsd.com/ Treiber installieren.

Die SD_Karte in den Raspberry stecken. Wenn an den Raspberry Tastatur, Maus, Monitor und Netzwerkkabel angeschlossen sind das Netzgerät anschließen und der Raspberry startet. In der Leiste oben gibt es ein Menü und Symbole für häufig gebrauchte Apps.
Die Raspbiankonsole (Terminal) findet sich in der Leiste und lässt sich durch einen Mausklick öffnen.
Das Raspi Standard-Passwort lautet Raspberry

Ins Terminal

sudo apt-get update

eingeben
warten bis der Befehl abgearbeitet wurde

sudo apt-get upgrade

eingeben
warten bis der Befehl abgearbeitet wurde

Um den Raspi zu konfigurieren, gib in das Terminal

raspi-config

ein.

Es öffnet sich ein Fenster in dem man mittels der Tabulatortaste navigieren und mit der Leertaste auswählen kann.
Das Passwort zu ändern ist sinnvoll, da das Standard-Passwort allgemein bekannt ist.
Mehr und tiefergehende Informationen hier http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_Install.html

Der Raspberry kann nur über die Konsole ausgeschaltet werden.

sudo reboot

startet den Raspi neu

sudo shutdown

fährt den Raspberry herunter.

Die LED erlischt. Neustart durch Abziehen und einstecken der Stromzufuhr.

Sich intensiver in den Zugang zum Raspi per SSH einzuarbeiten ist schon darum interessant, weil man an den Raspi nicht für jeden Kleinkram Tastatur und Maus anschließen muss.

Wir wollen nach dem Starten automatisch eingeloggt sein das ist per default so eingestellt. Geschieht das nicht automatisch, folgendes in die Befehlszeile der Konsole eingeben (egal ob im Desktop oder per ssh)

sudo nano /etc/lightdm/lightdm.conf

Es öffnet sich eine Datei und wir schauen nach folgenden Zeilen

[SeatDefaults]
autologin-user=pi

Wenn wir den Raspberry Pi starten, mit Tastatur, Maus und Monitor sollte jetzt der Desktop zu sehen sein. Sonst können wir uns wenig später per

ssh pi@IP-Adresse   XXX.XXX.XXX.XX

Vom Terminal unseres Pc in den Raspi einloggen.
Nach Eingabe des Passworts landen wir auf der Konsole des Raspi.

IP Adresse herausfinden in der Fritzbox ganz einfach. Auf die fritzbox gehen, „Heimnetz“ „Netzwerk“ IP-Adresse notieren. Weiter mit bearbeiten anklicken diesem Netzwerkgerät immer diegleiche IPv4-Adresse zuweisen. OK und abmelden.
Andere Router, Betriebssysteme: reinfuxen


Die Vorarbeiten sind abgeschlossen

Im Terminal
unclutter installieren

sudo apt-get install unclutter

xdotool installieren

sudo apt-get install xdotool


Jetzt müssen wir eine Datei erstellen, die automatisch ein Script aufruft, das den Raspi zum Digitalsignagesystem macht.

Der Ordner autostart muss im Ordner .config angelegt werden. Danach:

Im Termial

nano /home/pi/.config/autostart/kiosk.desktop

und füge folgende Zeilen ein

[Desktop Entry]
Type=Application
Name=Kiosk
Exec=/home/pi/kiosk.sh
X-GNOME-Autostart-enabled=true


Am Ende: Zeilenumbruch nicht vergessen

Speichern mit Strg o
Schließen mit Strg x

Verbergen des Mauszeigers,  Bildschirmschoner deaktivieren, Chromium im Vollbildmodus laden

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

# Mauszeiger verbergen
@unclutter

# Bildschirmschoner deaktivieren
#@xscreensaver -no-splash  
@xset s off
@xset -dpms
@xset s noblank

# lädt Chromium im Vollbild bei einem Neustart
@chromium-browser --incognito --kiosk https://example.site

Am Ende: Zeilenumbruch nicht vergessen

Speichern mit Strg o
Schließen mit Strg x

Das eigentliche Setupscript das nach dem Start ausgeführt werden soll.

Im Terminal

nano /home/pi/kiosk.sh

und füge folgende Zeilen ein

# Die folgende Sequenz startet eine Schleife, die Webseite regelmäßig
# neu aufzurufen, um geänderte Inhalte darzustellen
# #
while (true)
 do
  xdotool key strg+F5  # xdotool muss installiert sein
  sleep 1200 #zeit in Sekunden bis zum Neuaufruf der Webseite
done

Zeilenumbruch

Speichern mit Strg o
Schließen mit Strg x

Das Script muss mit folgendem Befehl ausführbar gemacht werden.

In die Befehlszeile eingeben

chmod +x kiosk.sh

eingeben.

Mittels reboot

In das Terminal eingeben

sudo reboot

startet Raspi neu


Wenn es noch nicht so läuft: So beenden Sie den Kioskmodus
Im Raspberry Pi Desktop können Sie die Windows-Taste auf Ihrer Tastatur drücken, um das Menü zu öffnen. Sie können dann im Menü zu Zubehör> Terminal navigieren.

Einmal im Terminal

sudo killall chromium-browser

oder einfach Alt + F4 drücken, um Chromium zu schließen.

Suchen Sie mithilfe von "Nano" in den Scripten die Sie erstellt haben und korrigieren Sie eventuelle Fehleingaben.

Fertig


Extras

Um den Monitor zeitgesteuert ein- und auszuschalten habe ich einen zeitgesteuerten Job einen Cron erstellt, der die nötigen Befehle zum Ein- und Ausschalten gibt

Für die Erstellung eines Cronjobs ist eine Tabelle mit Uhrzeit und Befehl zu erstellen.

In die Befehlszeile eingeben

crontab -e

Dann wird man eventuell aufgefordert einen Editor zu wählen.

Meine Crontab sieht am Ende so aus. Die letzten beiden Zeilen habe ich hinzugefügt.

# m h  dom mon dow   command

0 6,16 * * * vcgencmd display_power 1
0 10,21 * * * vcgencmd display_power 0

Zeilenumbruch

Vor und zwischen den Sternchen sind Leerzeichen

Speichern mit Strg o
Schließen mit Strg x

Dabei steht „0“ für die Minute „6“ für die Stunde hinter dem Komma „16“ für eine weitere Stunde.

dom = day of month
mon = month
dow = day of week
Das Ganze lässt sich also sehr fein regulieren.

dann folgt der Befehl. In diesem Fall das Einschalten des Monitors.

Bei „10“,“21“ wird der Monitor ausgeschaltet.

Meine Monitorausgabe musste gedreht werden.

In das Terminal eingeben

sudo nano /boot/config.txt

folgendes eingeben

display_rotate=1  #der Monitorinhalt dreht um 90 Grad "2" 180 Grad "3" um 270 Grad
Zeilenumbruch

Speichern mit Strg o
Schließen mit Strg x

Das Ein- und Ausschalten des Raspi wäre über eine Zeitschaltuhr eine weitere Alternative. Der Raspi müsste pünktlich herunterfahren. Eine Zeitschaltuhr, die ihn anschließend von der Stromzufuhr trennt und später wieder Strom zuführt, verbraucht selbst auch Strom. Das habe ich gelassen.

Ob die Tabelle angelegt wurde, können Sie mit

crontab -l  kleines L

überprüfen.