3.5 Zoll TinyLCD Touch-Display

Eigenbau Bilderrahmen mit dem Raspberry Pi

Da nun 2 Raspberry Pi´s mit einem Touchscreen Display herumliegen, war die Überlegung wie kann man diese nutzen um abwechselnd Bilder anzeigen zu lassen. Also wie bei einem elektronischen Bilderrahmen, bei dem zu einer festgelegten Zeit ein anderes Bild angezeigt wird.

Die Lösung ist wirklich sehr einfach, nun die nötigen Schritte zur Installation

sudo apt-get install fbi
mkdir pics
cd pics
wget http://p1.pichost.me/i/41/1644675.jpg
sudo fbi -d /dev/fb1 -a -T 2 1644675.jpg

Hier ein Beispiel mit Vine aufgenommen:
Dieses Beispiel wechselt alle 10 Sekunden mit dem Parameter „-t 10“ das vorhandene Bild, sofern mehrere JPG-Bilder vorhanden sind im gleichen Verzeichnis.

sudo killall /usr/bin/fbi
sudo fbi -noverbose -a -t 10 -T 2 -d /dev/fb1 *.jpg

Damit der Bilderrahmen automatisch bei starten des Raspberry Pi gestartet wird, muss noch ein Eintrag in die „/etc/rc.local“ Datei gemacht werden. Vorher bauen wir uns noch ein kleines Shellscript.

cd
mkdir bin
cd bin

Datei erstellen:
vi bilder.sh
sudo /usr/bin/fbi -noverbose -a -t 60 -T 2 -d /dev/fb1 /home/pi/pics/*.jpg
Datei speichern mit ESC :wq

Ausführbar machen:
chmod +x bilder.sh

Automatischer Start durch „/etc/rc.local“

sleep 30
/home/pi/bin/bilder.sh&
exit 0

Das „sleep“ hab ich eingebaut, damit ich 30 Sekunden Zeit habe, am Display die IP-Adresse des Raspberry Pi ablesen kann, die mir der DHCP-Server zugewiesen hat. Wichtig:  Am Schluß muss „exit 0“ stehen, sonst bekommt man keine Console am Bildschirm. Es gibt Klasse Bilder bei https://giphy.com/ die man auf den Raspberry Pi drauf laden kann. Will man den Bilderrahmen deaktivieren, dann einfach per SSH anmelden und folgenden Befehl eingeben:

sudo killall /usr/bin/fbi

Update 3.05.2018:

Das langweilige Anzeigen von Bildern hab ich damit beendet, dass ich nun Wetterbilder auf den Raspberry Pi per „crontab“ hole und die in einem Verzeichnis speichere.

#!/bin/bash
wget -q -O /home/pi/Pictures/Muenchen.png wttr.in/Munich_0tqp_lang=de.png > /dev/null
wget -q -O /home/pi/Pictures/Moskau.png wttr.in/Moscou_0tqp_lang=de.png > /dev/null
wget -q -O /home/pi/Pictures/Amsterdam.png wttr.in/Amsterdam_0tqp_lang=de.png > /dev/null
wget -q -O /home/pi/Pictures/Davao.png wttr.in/Davao_0tqp_lang=de.png > /dev/null
wget -q -O /home/pi/Pictures/Stuttgart.png wttr.in/Stuttgart_0tqp_lang=de.png > /dev/null
wget -q -O /home/pi/Pictures/Berlin.png wttr.in/Berlin_0tqp_lang=de.png > /dev/null

Anzeige der Wetterbilder wird über folgendes neues Shell-Script gemacht :

#!/bin/bash
sudo killall fbi
sleep 5
sudo fbi -T 2 -d /dev/fb1 -noverbose -a -t 60 /home/pi/Pictures/*.png

 

Und so sieht das neue Display aus.

Viel Spaß beim basteln und Bilder anschauen wünscht Dir Joachim

6 Kommentare

  1. Hallo Joachim,

    vielen Dank für die Anleitung und deine Idee. Die ist wirklich gu, knapp und erfüllt seinen Zweck. Da bin ich über deutlich komplexere Ansätze gestoßen, die mir bei meinem nicht vorhanden Wissen viele Grenzen aufgezeigt haben.

    Es läuft und ich bin zufrieden 🙂

    Gestatte mir dennoch eine Anmerkungen dazu.

    Mir ist nicht klar, wie oder wann die Datei rand.sh ins Spiel kommt. Ich war davon ausgegangen, dass dies eine Systemfunktion ist, das System verwies mich aber darauf, dass sie unbekannt sei. Daher habe ich den Aufruf in der /etc/rc.local wie folgt gemacht:

    sleep 30
    /home/pi/bin/bilder.sh
    exit 0

    Das funktioniert ebenso und ich musste mir keine Gedanken darum machen, was es mit der rand.sh auf sich hat.

    Außerdem habe ich zum Aufruf des fbi noch den Parameter -u hinzugefügt. Dadurch werden die Bilder in unterschiedlicher Reihenfolge abgespielt.

    Außerdem war mir der Parameter -T /dev/fb1 nicht verständlich. Die zufällige Ähnlichkeit zu „fbi“ hat mich irritiert. Ein Blick in die Dokumentation hat verraten, dass es sich um den framebuffer handelt. Da der Rahmen bei Aufruf des Pfades hing, stellt ich bei der Recherche fest, dass es fb1 nicht gibt. Ich habe dann fb0 genommen. Das klappt, bin mir aber der Auswirkungen nicht bewusst. Könnte das Probleme bereiten?

    Als OS verwende ich auf dem Zero Pi das Raspian Stretch Lite ohne GUI.

    Wichtig wäre noch zu erwähnen, dass man SSH aktivieren sollte, bevor man einen Restart mit den Anpassungen durchführt. Sonst hängt man evtl. irgendwo und kommt nicht mehr raus. Ich bin nicht sicher, ob das von Anfang an aktiv ist.

    Gruß,
    Christian

    1. Hallo Christian

      vielen Dank für Deinen Kommentar. Wie Du sicher sehen kannst, ist der Artikel vom Januar 2015 und da musste kein SSH aktiviert werden, da SSH schon aktiv war. In der Regel pflege ich die Artikel nicht nach, aber wäre vielleicht mal ein guter Punkt. Danke für den Hinweis.

      Bin davon ausgegangen dass eh jeder Copy-Paste macht und deshalb die Befehle nicht falsch eingegeben werden können 🙂

      FBI ist das Programm für Framebuffer und da dieses Programm ja auf eine Schnittstelle (Device) schreiben muss wird die Schnittstelle /dev/fb1 oder auch /dev/fb0 genannt. Es ist dabei egal welche Schnittstelle Du beschreibst. Wenn es funktioniert, ist alles wunderbar.

      1. Hallo Joachim,

        vielen Dank für deine Antwort. Dann kann ich meinen Raspi genauso weiter benutzen.

        Wie ich sehe hast du auch prompt noch Anpassungen gemacht und neue Ideen eingebraucht. Toll! Schön zu sehen, dass auch ältere Beiträge noch nachgepflegt werden.

  2. Hallo Joachim,

    vielen Dank für deine Antwort. Dann kann ich meine Raspi genau so weiter verwenden.

    Wie ich sehe hast du auch gleich Anpassungen gemacht und neue Ideen ergänzt. Toll! Schön zu sehen, dass auch ältere Beiträge im Netz noch nachgepflegt werden.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*