Forum: PC Hard- und Software Linux/Browser: Monitor einschalten wenn sich Bildschirminhalt ändert


von H. K. (spearfish)


Lesenswert?

Hallo!

Möchte über einen Raspberry Pi einen Infoscreen anzeigen. Dieser 
Infoscreen läuft auf einem Webserver und wird dann im Browser angezeigt. 
Grundsätzlich ist das ganze ein statisches Display, es ändert sich 
jedoch hin und wieder. Damit der Monitor nicht die ganze Zeit läuft, 
hätte ich gerne das sich der Monitor für 1h (oder einen anderen 
Zeitraum) einschaltet, wenn sich am Screen etwas geändert hat.

Gibt es für sowas vielleicht ein Plugin für Chrome oder Firefox? Ich 
würde es mir so vorstellen, dass der Browser bei einem "Change"-Event 
ein eigenes lokales Script aufruft. Im lokalen Skript würde ich dann die 
CEC Utils (cec-client) nutzen um den Monitor ein- und wieder 
auszuschalten.
Ideal wäre, wenn der Infoscreen auch die aktuelle Uhrzeit anzeigt. D.h. 
der Browser sollte am Besten nur in einem definierten Bereich ein 
Change-Event generieren.
Oder gibt es dafür andere (bessere) Lösungen und ich bin am Holzweg?

Es ist leider keine Option, die Serverapplikation am Raspberry Pi laufen 
zu lassen. Der Raspberry Pi soll ein reines Anzeigegerät sein.

Danke!

von wendelsberg (Gast)


Lesenswert?

H. K. schrieb:
> Es ist leider keine Option, die Serverapplikation am Raspberry Pi laufen
> zu lassen. Der Raspberry Pi soll ein reines Anzeigegerät sein.

Dann lass den doch jede Minute den Infoscreen holen (wget http://....) 
und mit dem letzten vergleichen. Muss doch niemand sehen.
Wenn veraendert - Skript starten, dann soll es ja gezeigt werden.

wendelsberg

von Thomas (Gast)


Lesenswert?

wendelsberg schrieb:
> Dann lass den doch jede Minute den Infoscreen holen (wget http://....)
Wenn sich irgendwelche nicht Anzeige-relevanten Dinge ändern, ist w3m 
-dump http://usw... etwas gutmütiger. Oder z.B. mit Beautiful Soup die 
interessanten Elemente aus dem HTML ziehen.


Wenn es primitiv auf Anzeige-Ebene gehen soll, könnte man Screenshots 
machen und vergleichen:
1
#!/bin/bash
2
#  braucht imagemagick
3
#  ein ausschnitt der groesse 100x200 an der stelle 30,40:
4
REGION='100x200+30+40'
5
OLD="/tmp/old.bmp"
6
NEW="/tmp/new.bmp"
7
8
import -window root -crop "$REGION" "$OLD"
9
while true; do
10
    sleep 1m
11
    import -window root -crop "$REGION" "$NEW"
12
    if ! cmp -s  "$OLD" "$NEW" ; then
13
        echo "AENDERUNG!"
14
    fi
15
    mv "$NEW" "$OLD"
16
done

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.