The 100 best digital picture frames on amazon
The 100 best digital picture frames on amazon
The 100 best digital picture frames on amazon
The 100 best digital picture frames on amazon

So schal­test du dei­nen digi­ta­len Bil­der­rah­men zu fes­ten Zei­ten ein und aus

-

Bei rund € 0,30 pro Kilo­watt­stun­de in deut­schen Lan­den im Jahr 2019 ist es sinn­voll, den digi­ta­len Bil­der­rah­men (Ver­brauch rund 20 Watt) in einer häus­li­chen Umge­bung nachts aus­zu­schal­ten.

Das spart nicht nur Strom son­dern ver­län­gert auch die Lebens­dau­er des Bild­schirms. Dafür gibt es ver­schie­de­ne Mög­lich­kei­ten, von denen ich eini­ge auf die­sem Blog schon beschrie­ben habe. Der ein­fachs­te Weg ist ein Zeit­schal­ter.

In Linux macht man das mit dem Cron Dae­mon. Das ist ein Hin­ter­grund­pro­zess, der abhän­gig von der Uhr­zeit (oder Ereig­nis­sen wie z.B. Neu­start) Pro­zes­se initi­iert, die in der Crontab Datei hin­ter­legt sind.

In die­sem Arti­kel erklä­re ich euch die Crontab und wie man sie für das zeit­ge­steu­er­te Ein- und Aus­schal­ten des Bild­schirms nutzt. Außer­dem zei­ge ich euch ein Python Skript für die Bild­schirm­steue­rung.

Dem Rasp­berry Pi die Uhr­zeit bei­brin­gen

Getestet mit: RASPBIAN BUSTER (NOV 2019) und RASPBERRY PI 4

Einen digi­ta­len Bil­der­rah­men auf Basis eines Rasp­berry Pis macht man nie ganz aus, son­dern schal­tet ledig­lich den Bild­schirm schwarz.

Ein Rasp­berry Pi ver­fügt näm­lich über kei­ne eige­ne Hilfs­bat­te­rie (die Real-Time Clock oder RTC), mit deren Hil­fe bei ande­ren Com­pu­ter Boards die Uhr­zeit gespei­chert wird und ande­re Hin­ter­grund­funk­tio­nen gespeist wer­den. Aber da der Strom­ver­brauch nur 2-3 Watt beträgt, fällt es nicht wirk­lich ins Gewicht.

Wenn ein Rasp­berry Pi also an die Strom­ver­sor­gung ange­schlos­sen ist, prüft der Cron Hin­ter­grund­pro­zess stän­dig, ob ein Ereig­nis ein­ge­tre­ten ist, das zum Start von Akti­vi­tä­ten führt. In unse­rem Fall ist das Ereig­nis die Uhr­zeit. Was zu bestimm­ten Zei­ten pas­sie­ren soll, steht in der Crontab Datei.

Die Crontab öff­net ihr mit dem fol­gen­de Ter­mi­nal Befehl:

crontab -e

Soll­tet ihr Crontab zum ers­ten Mal nut­zen, bekommt ihr die Nach­fra­ge, wel­chen Edi­tor ihr nut­zen wollt. Ich emp­feh­le die #2, den Nano Edi­tor zu wäh­len.

Eine typi­sche Zei­le im Crontab Skript um ein Ereig­nis zeit­ab­hän­gig aus­zu­lö­sen sieht unge­fähr so aus:

00 07 * * 1-5 vcgencmd display_power 1

Die­se Kon­struk­ti­on star­tet den digi­ta­len Bil­der­rah­men von Mon­tag bis Frei­tag jeden Mor­gen um 7 Uhr. Der genaue Satz­bau der Befeh­le ist auf crontab.guru sehr gut beschrie­ben, wes­we­gen ich jetzt nicht wei­ter ins Detail gehe.

Und täg­lich grüßt der Bil­der­rah­men

Hier ist ein kom­plet­tes Bei­spiel, um den Rah­men von Mon­tag bis Frei­tag um 7 Uhr zu star­ten, und an Wochen­en­den um 8 Uhr. Aus­ge­schal­ten wird von Sonn­tag bis Don­ners­tag um 22 Uhr 45 und am Wochen­en­de, am Frei­tag und Sams­tag, eine Stun­de spä­ter.

# Bildschirm aus Sonntag - Donnerstag um 22h45
45 22 * * 0-4 vcgencmd display_power 0
# Bildschirm aus display Freitag - Samstag um 23h45
45 23 * * 5,6 vcgencmd display_power 0
# Bildschirm an Montag - Freitag um 7h00
00 07 * * 1-5 vcgencmd display_power 1
# Bildschirm an Samstag - Sonntag um 8h00
00 08 * * 6,0 vcgencmd display_power 1

Der Befehl, um den Bild­schirm aus­zu­schal­ten ist:

sudo vcgencmd display_power 0

und so macht man ihn wie­der an:

sudo vcgencmd display_power 1

Spei­chert die Datei mit STRG+O und ver­lasst den Edi­tor mit STRG+X. Das war's auch schon!

Ihr könnt so vie­le Trig­gers wie ihr wollt in der Crontab hin­ter­le­gen.

Für län­ge­re Urlau­be kann man das natür­lich auch ein­set­zen, je nach Woh­nungs­si­tua­ti­on kann der Bil­der­rah­men auch für etwas wech­seln­des Licht im Wohn­zim­mer sor­gen, was als Ein­bre­cher­schreck ganz nütz­lich sein kann.

Ein- und Aus­schal­ten des Moni­tors mit Python

Falls ihr euch eine Lösung bau­en möch­tet, bei der ihr ein Python Skript zur Bild­schirm­steue­rung auf­ru­fen wollt, dann wür­de der Code zum Ein­schal­ten wie folgt aus­se­hen:

#!/usr/bin/python3
# coding: utf8 #
 
import subprocess  # for command execution
 
def myfunction():
 
	CONTROL = "vcgencmd" # command to turn the screen on
	CONTROL_UNBLANK = [CONTROL, "display_power", "1"] # command to turn the screen on
	subprocess.call(CONTROL_UNBLANK) # command to turn the screen on
 
myfunction()

Um den Bild­schirm aus­zu­schal­ten, ersetzt ihr ein­fach die "1" durch eine "0".

Vie­le Wege füh­ren nach Rom

Es gibt vie­le Mög­lich­kei­ten, um den Bild­schirm aus­zu­schal­ten, wenn er nicht benö­tigt wird.

Zuhau­se haben wir ein Sys­tem zur Anwe­sen­heits­er­ken­nung auf Basis unse­rer iPho­nes kon­fi­gu­riert (nach­zu­le­sen unter "Die Anwe­sen­heits­er­ken­nung von Home Assis­tent für das auto­ma­ti­sche Ein-/Aus­­schal­­ten des Bil­der­rah­mens nut­zen", was zuver­läs­sig funk­tio­niert.

Alter­na­tiv lese ich immer mal wie­der von einer bewe­gungs­ab­hän­gi­gen Steue­rung, aber so rich­tig kann ich mich in Zusam­men­hang mit einem digi­ta­len Bil­der­rah­men nicht dafür begeis­tern. In gro­ßen Räu­men wird das wahr­schein­lich nicht gut funk­tio­nie­ren.

Ein wei­te­rer Weg ist das Geo­fen­cing, also das Trig­gern von Aktio­nen vom Smart­pho­ne aus mit z.B. IFTTT, sobald ein Anwe­sen­heits­ra­di­us ver­las­sen wur­de.

Aber für den Anfang, ist der Weg über die Crontab wun­der­bar ein­fach!