69 lines
3.3 KiB
Markdown
69 lines
3.3 KiB
Markdown
# infoscreen-playbook
|
|
## Voraussetzungen
|
|
- RaspberryPi
|
|
- SD-Karte mit frischem FullPageOS
|
|
- ansible auf dem Rechner, an dem du gerade sitzt
|
|
|
|
## Nutzung:
|
|
### FullPageOS auf SD-Karte installieren
|
|
Anmerkung: wenn der konfigurierte User auf dem Raspi "pi" ist, ist die Version von FullpageOS egal. Wenn du aber einen eigenen Nutzernamen konfiguriert hast, dann musst du das Nightly-Build verwenden (das älteste davon reicht)
|
|
|
|
- RaspberryPi imager runterladen
|
|
- Raspi-Modell wählen
|
|
- OS wählen: "Other specific-purpose OS" --> "FullpageOS" --> "FullpageOS (Nightly)"
|
|
- in den Einstellungen einen Nutzer und SSH-Key einfügen
|
|
|
|
Raspi booten (am Netz)
|
|
Auf dem Rechner an dem du sitzt:
|
|
|
|
```
|
|
git clone https://git.az-it.net/infoscreen
|
|
cd infoscreen
|
|
```
|
|
dann in der infoscreen.yml Anpassungen vornehmen:
|
|
- den User, den du beim Installieren im RaspberryPiImager gesetzt hast. (zwei mal!)
|
|
- infoscreen_url: Hier kommt die URL rein, die angezeigt werden soll. (lässt sich später z.B. per MQTT auch steuern.)
|
|
- Optional: Splash-Screen anpassen (siehe unten)
|
|
- Optional: ssh-keys auf den Raspi-Schieben (siehe unten)
|
|
- Optional: Steuerung über MQTT aktivieren (siehe unten). Dazu benötigst du einen schon vorhandenen Broker. Das Display lässt sich dann per MQTT steuern.
|
|
```
|
|
ansible-playbook infoscreen.yml -i infoscreen-name-im-netzwerk,
|
|
```
|
|
** das Komma hinter dem infoscreen-namen ist wichtig! **
|
|
|
|
|
|
|
|
## optional: MQTT-Steuerung aktivieren
|
|
Wenn du das Board per MQTT steuern willst (siehe hier: https://github.com/olialb/mqttDisplayClient), dann musst du
|
|
- einen MQTT-Broker haben oder auf einem vorhandenen Linux-Server schnell nachinstallieren:
|
|
- broker mit `~# apt install mosqitto` installieren
|
|
- passwort mit `~# mosquitto_passwd -c /etc/mosquitto/.passwd _mqtt_username_ einrichten
|
|
- Datei `/etc/mosquitto/conf.d/auth.conf` anlegen mit folgendem Inhalt:
|
|
```
|
|
listener 1883
|
|
allow_anonymous false
|
|
password_file /etc/mosquitto/.passwd
|
|
```
|
|
- in infoscreen.yml die Variable auf true setzen
|
|
- in roles/mqttDisplayClient/vars/main.yml die Konfiguration durchführen
|
|
- mqtt_broker: IP oder FQDN deines mosquitto-servers
|
|
- mqtt_port: _mqtt-port_
|
|
- mqtt_username: _mqtt-username_
|
|
- password: kann im Klartext eingetragen werden (ist aber nicht empfohlen)
|
|
mit ~# ansible-vault encrypt_string 'meinSicheresPasswort' --name 'password'
|
|
kann man sich ein verschlüsseltes Kennwort anlegen, muss dabei ein vault-passwort vergeben
|
|
- roles/mqttDisplayClient/templates/mqttDisplayClient.ini.j2 durchsehen und ggf topics anpassen oder HomeAssistant-Discovery abschalten
|
|
|
|
## optional: eigenen splash-screen einbauen
|
|
- png-Datei mit 1920x1080 nach roles/lmnStuff/files/background.png kopieren
|
|
|
|
## optional: SSH-Keys hinzufügen
|
|
Wenn du von verschiedenen Servern/Rechnern aus auf den infoscreen zugreifen möchtest, kannst du hier die Keys eintragen. Diese werden sowohl für den Nutzer als auch root auf dem Raspi gesetzt.
|
|
- roles/sshKeys/vars/main.yml
|
|
|
|
# bekannte ungelöste Probleme
|
|
## Sprachauswahl chrome
|
|
bei manchen Seiten (blöderweise auch der Webuntis-Vertretungsplan-Seite) kommt oben rechts eine Auswahl zwischen English und German. Die geht auch nicht von alleine weg.
|
|
### workaround
|
|
mit MQTT lässt sich ein Mausklick auf der Seite simulieren, der die Meldung entfernt. (der MQTT-Cronjob erledigt das, aber natürlich klappt das nur, wenn man die MQTT-Geschichte auch installiert...)
|
|
|