No description
Find a file
2026-06-06 11:33:02 +02:00
Bilder Readme.md und Fotos ergänzt 2026-06-02 16:50:11 +02:00
down.py Das Display kann geschaltet werden 2026-06-06 11:33:02 +02:00
LICENSE Initial commit 2026-05-25 15:16:21 +02:00
README.md Lizenzhinweis 2026-06-02 16:51:48 +02:00

Speedtest_Display_Rasberry_Pi

1. Raspberry Pi OS installieren

Empfohlen:

  • Raspberry Pi OS Lite (64 Bit)

Mit Raspberry Pi Imager auf die SD-Karte schreiben.

Während des Flashens direkt konfigurieren:

  • WLAN
  • SSH aktivieren
  • Hostname setzen

2. System aktualisieren

sudo apt update
sudo apt full-upgrade -y
sudo reboot

3. SPI aktivieren

sudo raspi-config

Dann:

Interface Options
→ SPI
→ Enable

Neustarten:

sudo reboot

4. Prüfen ob SPI aktiv ist

ls /dev/spi*

Erwartet:

/dev/spidev0.0
/dev/spidev0.1

5. TFT-Display aktivieren

Datei öffnen:

sudo nano /boot/firmware/config.txt

Ganz unten ergänzen:

dtparam=spi=on

dtoverlay=piscreen,speed=16000000,rotate=270

6. Framebuffer aktivieren

Neustart:

sudo reboot

Danach prüfen:

ls /dev/fb*

Erwartet:

/dev/fb0

7. Testbild auf Framebuffer

sudo apt install -y fbi

Test:

sudo fbi -T 1 -d /dev/fb0 -noverbose test.jpg

8. Python installieren

sudo apt install -y python3 python3-pip python3-pil python3-numpy

9. DejaVu Fonts installieren

sudo apt install -y fonts-dejavu-core

Prüfen:

ls /usr/share/fonts/truetype/dejavu/

10. InfluxDB Python Client installieren

pip3 install --break-system-packages influxdb-client

11. Python-Datei anlegen

nano /home/hubobel/down.py

Python-Code einfügen und speichern.


12. Testlauf

python3 /home/hubobel/down.py

Jetzt sollte sichtbar sein:

  • Downloadrate
  • Uploadrate
  • Ping
  • WLAN-IP
  • WAN-IP
  • Verlaufsgrafik

13. systemd Service anlegen

sudo nano /etc/systemd/system/down.service

Inhalt:

[Unit]
Description=Framebuffer Speedtest Display
After=network-online.target

[Service]
Type=simple
User=hubobel
WorkingDirectory=/home/hubobel
ExecStart=/usr/bin/python3 /home/hubobel/down.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

14. Service aktivieren

sudo systemctl daemon-reload
sudo systemctl enable down.service
sudo systemctl start down.service

15. Status prüfen

systemctl status down.service

Live-Log:

journalctl -u down.service -f

16. Nach Reboot testen

sudo reboot

Ergebnis

Das System läuft danach:

  • ohne Desktop
  • direkt auf /dev/fb0
  • rebootfest über systemd
  • ressourcenschonend
  • ideal für Embedded-Statusanzeigen

Dashboard-Umschaltung per GPIO-Taster

Das Display unterstützt drei unterschiedliche Dashboards, die direkt über GPIO-Taster am Raspberry Pi ausgewählt werden können.

Verwendete GPIOs

Funktion GPIO Pin
Dashboard 2 GPIO5 Pin 29
Dashboard 3 GPIO21 Pin 40
Masse (GND) Pin 39

Die Taster werden jeweils zwischen GPIO und GND angeschlossen.
Die internen Pull-Up-Widerstände des Raspberry Pi werden per gpiozero verwendet, daher sind keine zusätzlichen Widerstände notwendig.

Logik

Zustand Anzeige
kein Taster aktiv Dashboard 1
GPIO5 gegen GND Dashboard 2
GPIO21 gegen GND Dashboard 3

Hinweise zur Konfiguration

Die dargestellten Werte werden nicht direkt durch das Projekt ermittelt, sondern aus bereits vorhandenen Datenquellen abgerufen.

Voraussetzung ist, dass die benötigten Messwerte über ioBroker und/oder InfluxDB bereitgestellt werden. Die verwendeten Datenpunkte, Measurements, URLs, Zugangsdaten und Abfragen müssen daher an die jeweilige Umgebung angepasst werden.

Das Projekt dient als Beispiel für die Visualisierung von Infrastruktur-, Netzwerk- und Systemdaten. Welche Werte angezeigt werden, hängt von den in der eigenen Installation verfügbaren Datenquellen ab.

Aktuell werden die Daten unter anderem aus folgenden Quellen bezogen:

  • InfluxDB (z. B. Speedtest-, Proxmox- und Sensordaten)
  • ioBroker Simple-API (/getPlainValue/...)
  • UniFi Controller / UniFi Network über ioBroker
  • Linux-Control Adapter für Systemdaten

Vor der Inbetriebnahme müssen die verwendeten Datenpunkte und URLs entsprechend der eigenen Umgebung angepasst werden.

Screenshots

Dashboard 2 Hubobels Netzwerk

Übersicht über die UniFi-Infrastruktur mit:

  • Aktive Clients (LAN / WLAN)
  • UXG Max CPU- und RAM-Auslastung
  • US24 CPU- und RAM-Auslastung
  • US24 Temperatur
  • Gateway-Uptime

Dashboard 3 Proxmox Monitoring

Übersicht über den Proxmox-Host mit:

  • Aktuelle CPU-Frequenz
  • CPU-Auslastung
  • Load Average (1 / 5 / 15 Minuten)
  • RAM-Auslastung inkl. absolutem Verbrauch
  • CPU-Temperatur
  • Serverraumtemperatur

Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Details siehe Datei LICENSE.