Seite 1 von 1

Anzeige von Bildern aus Ordner auf ePaper-Display

Verfasst: Dienstag 17. Januar 2017, 11:05
von Amateur
Ich habe einen Raspberry Pi und einen ePaper Display
Damit man auf den ePaper Display Bilder anzeigen kann, muss man im Terminal Befehle eingeben.
Da es sehr aufwendig ist hab ich mir gedacht, ich schreibe einen Script. Der soll (im Hintergrund) die Bilder die auf dem Ordner z.B /home/pi/Test erstellt werden automatisch auf das ePaper anzeigen.
Könnt ihr mir dazu eventuell ein paar Tipps geben?

PaPiRus Image API:

Code: Alles auswählen

#!/usr/bin/python

from papirus import Papirus
from PIL     import Image

papirus = Papirus()
image = Image.open('/home/pi/test2.png')
papirus.display(image)
papirus.update()

Re: Anzeige von Bildern aus Ordner auf ePaper-Display

Verfasst: Dienstag 17. Januar 2017, 11:37
von BlackJack
@Amateur: Wozu denn jetzt genau? Was willst Du erreichen, was hast Du dafür gemacht, und was funktioniert nicht? Fehlermeldungen? Anderes Verhalten des Programms als Du erwartet hast? Was hast Du erwartet? Was passiert stattdessen?

Re: Anzeige von Bildern aus Ordner auf ePaper-Display

Verfasst: Dienstag 17. Januar 2017, 13:21
von Amateur
Ja damit ich die Befehle nicht Händisch im Terminal tippen muss. Das Script soll, wenn eine neue Bilddatei z.B. Test.jpg auf dem deffinierten Ordner erstellt wird mit einem Grafikprogramm z.B. GIMP auf dem ePaper Display anzeigen und das alles soll im Hintergrund passieren.



Ich hab das mit einem Bildbetrachter gemacht also einen Script geschrieben. Die Bilder werden mit GPicView geöffnet

[codebox=bash file=Unbenannt.bsh]#!/bin/bash
bilderdir=/home/pi
cd /home/pi
gpicview *.jpg
while [ true ]; do
vorher=$(ls –ld $bilderdir)
sleep 5
danach=$(ls –ld $bilderdir)
if [ „$vorher“ != „$danach“ ]; then
killall gpicview
gpicview *.jpg
fi
amleben=$(ps ax | grep gpicview | grep –v grep)
if [ -z “$amleben” ]; then
gpicview *.jpg
fi
done[/code]

Re: Anzeige von Bildern aus Ordner auf ePaper-Display

Verfasst: Dienstag 17. Januar 2017, 13:35
von BlackJack
@Amateur: Die typografischen Anführungszeichen im Shellskript sind ein Fehler. Und das ``while [ true ]`` im Grunde auch, denn ``while [ false ]`` hätte genau den gleichen Effekt:
[codebox=bash file=Unbenannt.bsh]$ [ true ]; echo $?
0
$ [ false ]; echo $?
0
$ true; echo $?
0
$ false; echo $?
1[/code]

Beim Test in Zeile 14 verhindern die Anführungszeichen das der jemals wahr werden kann, womit die Zeilen 13 bis 16 ersatzlos entfallen können, ohne das sich am Verhalten des Programms etwas ändert:
[codebox=bash file=Unbenannt.bsh]$ [ -z “$amleben” ]; echo $?
1
$ [ -z "$amleben" ]; echo $?
0[/code]

Wenn man das auf diese Weise in Python nachbauen möchte, dann muss man Inhaltsverzeichnisse auflisten und eine Zeit schlafen. Einen Haufen Funktionen rund um das Betriebs- und damit auch Dateisystem findet man im `os`-Modul. Die `sleep()`-Funktion im `time`-Modul.

Re: Anzeige von Bildern aus Ordner auf ePaper-Display

Verfasst: Dienstag 17. Januar 2017, 14:15
von Amateur
Danke schön!