Installation von TeleFrame auf einem Raspberry Pi 3B

Ich wollte einen digitalen Bilderrahmen auf Basis von TeleFrame bauen. Dabei bin ich nach Anleitung vorgegangen und bekam jedoch das offizielle 7-Zoll-Display schon nicht zum Laufen.

Das Problem ist mit der „latest full version of Raspbian“, welche auf Debian Bullseye basiert, dass das Display mit der Standardinstallation nicht läuft. Auch mit der Deaktivierung des Grafiktreibers funktioniert die Touchbedienung noch nicht.

Der Artikel beschreibt, wie ich alternativ vorgegangen bin.

Voraussetzungen

  • Du benötigst einen unterstützten Raspberry Pi. Das sind derzeit 2, 3 und 4. Für den Artikel habe ich einen RPi* 3B benutzt.
  • Weiterhin habe ich das Raspberry Pi 7-Zoll Touchscreen Display* verbaut.
  • Zu guter Letzt natürlich noch Kleinkram wie Gehäuse für das Display, eine SD-Karte sowie ein vernünftiges Netzteil.
    Ich habe ein Display-Gehäuse von OneNineDesign* gewählt, weil es zum gewählten RPi* 3B passt. Das Display wird um 180° verdreht eingebaut. Da der vertikale Blickwinkel des Displays sehr beschränkt ist, kann ich es jedoch nur bedingt empfehlen. Das Netzteil sollte mindestens 2,5A liefern können.

Installation

Raspbian auf Basis von Debian Bullseye läuft out of the box derzeit leider nicht mit einem 7″-Display zusammen. Ich habe daher die Vorversion installiert, welche auf Debian Buster basiert. Das Image kannst Du Dir von https://downloads.raspberrypi.org/raspbian/images/raspbian-2020-02-14/ herunterladen. Nach dem Aufspielen auf die SD-Karte aktiviere ich gleich noch den SSH-Server und konfiguriere das WLAN. Außerdem deaktiviere ich Bluetooth und drehe die Ausgabe auf dem Display um 180°, damit es korrekt herum angezeigt wird,

SSH und WLAN beim ersten Booten aktivieren

Zum Aktivieren des SSH-Server genügt es, eine leere Datei namens /boot/ssh auf der Boot-Partition anzulegen.

Die Konfiguration des WLANs nimmst Du über die Datei /boot/wpa_supplicant.conf mit folgendem Inhalt vor, den Du noch in den Zeilen ssid und psk an dein WLAN anpassen musst.

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="<Deine SSID>"
    psk="<Dein WLAN-Passwort>"
    ey_mgmt=WPA-PSK
}

Einstellungen beim Booten

In der Datei /boot/config.txt drehe ich die Display-Ausgabe und deaktiviere das nicht benötigte Bluetooth.

...
# Display um 180° drehen
lcd_rotate=2

# Bluetooth ausschalten
dtoverlay=disable-bt

# für Bullseye muss der Grafikkartentreiber deaktiviert werden
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-kms-v3d

Bluetooth komplett deaktivieren

Nach dem ersten Booten kannst Du noch die Bluetooth-Services deaktivieren.

sudo systemctl disable hciuart.service
sudo systemctl disable bluealsa.service
sudo systemctl disable bluetooth.service

Updates installieren

Danach wird der Raspberry Pi auf den aktuellen Buster-Stand gebracht.

sudo apt update
sudo apt full-upgrade

Installation Teleframe

Die Installation erfolgt wie auf der Projektseite von TeleFrame angegeben. Ich nutze dazu die automatische Installation für einen Raspberry Pi über den Befehl

bash -c "$(curl -sL https://raw.githubusercontent.com/LukeSkywalker92/TeleFrame/master/tools/install_raspberry.sh)"

Bei der Installation wirst Du nach dem API-Key Deines Telegram-Bots gefragt, welchen Du parallel über den BotFather einrichten kannst. Wie Du einen Bot anlegen kannst, findest Du in den Schritten 1-2 des Artikels Einrichten eines Telegram-Bots.
Die Ermittlung Deiner Telegram-ID geht nach der Einrichtung dann relativ einfach, indem Du Deinem neu eingerichteten Bot die Zeichenkette Hi schickst. Daraufhin schickt er Dir Deine Telegram-ID zurück.
Danach kannst Du bereits die ersten Bilder an den TelegramBot übermitteln.

Ich empfehle Dir noch, eine Liste mit erlaubten Absendern in der Konfiguration unter ~/TeleFrame/config/config.json zu hinterlegen. Damit können nur noch diese erlaubten Absender Bilder an den Teleframe senden. Auch Gruppen sind möglich.
Wundere dich nicht, wenn die Konfiguration lediglich den API-Key enthält – sie enthält nur Werte, die vom Standard abweichen. Meine Konfigurationsdatei mit zwei Kontakten und einer Gruppe sieht nach der Anpassung so aus:

{
  "botToken": "5551234567:AAAAAAAAAA_BBBB_CC_DDD_EEEEEEEEEEEEEE",
  "whitelistChats": [111111111,2222222222,-999999999],
  "switchLedsOff": true
}

Hilf durch deine Bewertung mit, diesen Blog zu verbessern!
Abonnieren
Benachrichtige mich bei
2 Kommentare
Älteste
Neueste Beliebteste
Inline Feedbacks
Alle Kommentare