Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay

Begonnen von Pythonf, 23 Februar 2016, 00:00:19

Vorheriges Thema - Nächstes Thema

Pythonf

Ich hab auf einem Raspberry Pi TabletUI auf dem 7"-Display mit Chromium im Kiosk mode laufen:
http://forum.fhem.de/index.php/topic,48604.msg413811.html#msg413811.
Leider läd chrome die Seite nach einiger Zeit nicht mehr und ich muss den Browser manuell refreshen. Geht ja ganz einfach: Auf der Tastatur F5 drücken. Da ich aber keine Tastatur dauerhaft angeschlossen habe möchte ich das ganze irgendwie anders lösen.
Habt ihr Ideen? Crownjob hab ich gefunden aber vielleicht gibt es bessere Möglichkeiten, als den Browser mit killall regelmäßig zu beenden und dann irgendwie neu zustarten.

Beste Grüße
Fabian

Dr. Boris Neubert

Hallo,

ich verwende auf meinem Raspberry mit Touchscreen, den ich als elektronischen-Bilderrahmen-cum-Hausautomationssteuerung verwende, folgendes Skript, um RSS zu starten. Dich interessiert dabei vermutlich xte.

#!/bin/sh
xset s off
xset -dpms
xset s noblank
unclutter &
while :
do
        epiphany-browser -a --profile $HOME/.config/ http://example.com:8083/fhem/rss/rapad.html > /tmp/epiphany.$$.log 2>&1 &
        PID=$!
        sleep 20
        xte "key F11" -x:0
        wait $PID
done


Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

gexle


Laire

Zitat von: Dr. Boris Neubert am 24 Februar 2016, 19:19:11
Hallo,

ich verwende auf meinem Raspberry mit Touchscreen, den ich als elektronischen-Bilderrahmen-cum-Hausautomationssteuerung verwende, folgendes Skript, um RSS zu starten. Dich interessiert dabei vermutlich xte.

#!/bin/sh
xset s off
xset -dpms
xset s noblank
unclutter &
while :
do
        epiphany-browser -a --profile $HOME/.config/ http://example.com:8083/fhem/rss/rapad.html > /tmp/epiphany.$$.log 2>&1 &
        PID=$!
        sleep 20
        xte "key F11" -x:0
        wait $PID
done


Grüße
Boris

Hallo Boris,

wie hast du das mit dem Bilderrahmen realisiert? Zur Zeit habe ich einfach als Bildschirmschoner laufen.

Dr. Boris Neubert

Hallo,

ich setze mittlerweile ein anderes Skript ein:

$HOME/.config/lxsession/LXDE/autostart

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@unclutter &                                                                               
@xset dpms 0 0 0
@xset dpms force on
@chromium-browser --allow-cross-origin-auth-prompt --start-fullscreen http://meinfhemserver.example.com:8083/fhem/rss/rapad.html


Der Raspi ist so konfiguriert, dass er in die graphische Benutzeroberfläche (X) bootet und den Benutzer pi ohne Kennwort anmeldet. Sobald die Oberfläche steht, wird über obiges Autostart-Skript Chrome gestartet und der HTML-Feed rapad aufgerufen. Der HTML-Feed ist mit meinem RSS-Modul in FHEM realisiert.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

gexle

#5
Hallo

Das scrpit habe ich so auch halt ne andere Weboberfläche...bzw. habe ich es nach dieser Anleitung gemacht.. https://213.252.140.23/index.php/topic,37043.msg568285.html#new

Mein Problem besteht darin das er manchmal über crontab nicht refresht...

Hast du dazu auch ne Lösung und brauchst du keinen refresh??

Läuft das Script den ohne Probleme usw..??

Danke dir

Dr. Boris Neubert

Hier noch die Definition des RSS-Geräts in FHEM:

#
# rapad
#

define rapad RSS jpg has.home.neubert-volmar.de /opt/fhem/conf/Etc/rapad.layout
attr rapad alias Rapad
attr rapad bg /opt/fhem/PictureFrame/s800x480
attr rapad group Bilderrahmen
attr rapad refresh 15
attr rapad room System
attr rapad size 800x480
attr rapad tmin 1
attr rapad noscroll 1
attr rapad viewport width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

gexle

Habe das ganze auf einen RPI 2 laufen mit Raspian v 2.0.1

Wie gesagt ich hole mit über den RPI (mit Display) einfach die Weboberfläche von dem RPI der mir über Solarview die Daten vom WR loggt..

Weil der RPI mit Display mit Touch in der Wand verbaut ist somit kann ich jeden Tag draufschauen...

Nur muss ich auch jeden Tag einen Refresh machen mit dem RPi mit Display damit ich die aktuelle Anzeige vom RPI mit Logger habe...also die aktuelle grafische Darstellungen weil das eben Solarview wenn man es sich auf einen Display darstellen lässt nicht macht...

Wie gesagt morgen stelle ich Bilder ein von meine Script.. laut Anleitung hier aus dem Forum hier...

Mein Script muss ich sagen schaut etwas anders aus als das von Boris vielleicht liegst daran...

Autostart mit Kiosk mode usw funktioniert...nur eben manchmal der refresh nicht...bzw.. wenn ich dann test refreshs mache geht's...ich denke das sich da irgendwo irgendwie was aufhängt....Vielleicht hast du ja ne Lösung Boris weil ich gesehen habe du hasts ja auch so oder??

Danke

gexle

#8
Anschauen tuts eingendlich so...

so schauts eigendlich aus wie gessgt etwas anders

und xdotool

sudo apt-get install xdotool


anschließend öffnen wir den Autostart mit

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

hier passen wir es wie folgt an

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
#@xset s off
#@xset -dpms
#@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@/usr/bin/chromium-browser --noerordialogs --disable-session-crashed-bubble --disable-infobars --Kiosk http://10.0.0.X:xy


nun das Ganze Speichen mit "Strg+O" und dann verlassen mir "Strg+X"

Nun konfigurieren wir noch die Automatische Aktualisierung der Seite.

Dazu legen wir der Übersicht halber noch einen Pfad an indem wir eingeben

cd /home/pi

und dann

mkdir scripts

nun gehen wir wieder in unser Standard Verzeichnis zurück mit

cd ..

dort geben wir nun ein

sudo nano /home/pi/scripts/refresh.sh

anschließend fügen wir dort folgendes ein

#!/bin/sh

WID=$(xdotool search --onlyvisible --class chromium|head -1)
xdotool windowactivate ${WID}
xdotool key ctrl+F5


hier speichern wir es wieder mit "Strg+O" und schließen es mit "Strg+X"
Nun machen wir das Script noch ausführbar mit

sudo chmod +x /home/pi/scripts/refresh.sh
        !!muss hier 755 stehen weil ich habs genau so ausführbar gemacht!!


Nun erstellen wir noch die crontab dazu geben wir ein

crontab -e

03 5 * * * DISPLAY=:0 /home/pi/scripts/refresh.sh








Dr. Boris Neubert

Zitat von: gexle am 27 Januar 2017, 20:48:57
Wie gesagt ich hole mit über den RPI (mit Display) einfach die Weboberfläche von dem RPI der mir über Solarview die Daten vom WR loggt..

Die Weboberfläche ist FHEMWEB, ja?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

gexle

#10
Hallo

FhemWeb..nein

So sieht diese aus..läuft auf einen RPI mit Raspian...

Was meinst könnte man das irgendwie ändern das es zuverlässiger funktioniert??

Dr. Boris Neubert

Fürs Protokoll: diese Frage hat nichts mit FHEM zu tun.

Die Problemstellung ist, einen Browser im Kiosk-Mode die angezeigte Webseite periodisch neu laden zu lassen. Ich würde das lösen, indem ich eine im Browser anzuzeigende HTML-Seite erstelle, die die fremde Seite vollflächig als Frame einbindet, und den Inhalt des Frame per Javascript periodisch neu lädt. In diese Aufgabe müsste ich mich erst einarbeiten. Im Web sollten sich Anleitungen finden.

Ich kann leider nicht weiter helfen.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

gexle

#12
Du hast do auch diesen Code

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@unclutter &                                                                               
@xset dpms 0 0 0
@xset dpms force on
@chromium-browser --allow-cross-origin-auth-prompt --start-fullscreen http://meinfhemserver.example.com:8083/fhem/rss/rapad.html

und das ist meiner ...

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
#@xset s off
#@xset -dpms
#@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@/usr/bin/chromium-browser --noerordialogs --disable-session-crashed-bubble --disable-infobars --Kiosk http://10.0.0.X:xy


Ich dachte vielleicht stimmt da was nicht

Du hast sicher mehr Ahnung als ich:)


Dr. Boris Neubert

Ja, aber bei mir sorgt die Webseite http://meinfhemserver.example.com:8083/fhem/rss/rapad.html für den Refresh. GGf. kannst Du Dir von dem HTML-Code, den RSS ausliefert, etwas abschauen. Die Demo-Konfiguration, die bei FHEM dabei ist, beinhaltet ein Beispiel.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

gexle

#14
Hallo

Ich habe eine Frage ich bekomme mein Touch nicht in den den Standby modus also display aus...

Das wäre das script...

Kann ich da was weglassen das es funktioniert??

Display wäre 7Zoll Touch von Pollin...

wenn ich dann auf das Touch drücke soll das BIld wieder da sein...