ansible-playbook zur Konfiguration eines FullpageOS-Raspis für die Schule
Find a file
2025-02-01 11:27:17 +01:00
roles first commit 2025-02-01 11:00:35 +01:00
infoscreen.yml first commit 2025-02-01 11:00:35 +01:00
README.md README.md aktualisiert 2025-02-01 11:27:17 +01:00

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