WallPanel - jak najlepiej to ugryźć?

Cześć,

Posiadam RPi 4 (4GB), na którym stoi HA oraz drugie RPi 4 (8GB) z systemem Ubuntu i podłączonym wyświetlaczem WaveShare 13.3". Chciałbym jakoś dobrze to ze sobą zintegrować i na tej drugiej malinie zrobić fajną centralkę w postaci WallPanel.

Na chwilę obecną wygląda to tak: Ubuntu z włączoną przeglądarką w trybie pełnoekranowym (powiem, że wszystko działa dobrze i tak mogłoby nawet zostać). Chciałbym poznać jakieś inne wasze rozwiązania/pomysły, co można by było tutaj zrobić. Może znajdą się jakieś ciekawsze rozwiązania, które przyniosą ze sobą dodatkowe korzyści.

Mam też kilka pytań:

  1. Jeżeli zostawiłbym to w takiej konfiguracji jak teraz, to w jaki sposób zarządzać wyświetlaczem? Chciałbym, żeby w ciągu dnia chodził cały czas, a na noc się wyłączył i był możliwy do wybudzenia dotknięciem palca.

  2. Czy mogę w jakiś sposób zintegrować malinę z wyświetlaczem z tą drugą, która posiada HA? Chodzi tutaj bardziej o jakieś zarządzanie nią przez HA - tylko nie wiem, czy coś takiego jest wykonalne :stuck_out_tongue:

Zachęcam do dyskusji, jestem otwarty na różne rozwiązania. :slight_smile:

Musisz przejrzeć specyfikacje WaveShare 13.3 czy pozwala na jakiekolwiek sterowanie z lini komend, web. W przypadku Tabletu z androidem nie ma problemu istnieją oprogramowania które pozwalają sterować ekranem i są zintegrowane z HA przez mqtt, template, curl i obsługują wybudzanie ekranu z kamery, mikrofonu lub przez utworzone encje w HA.

Ad.1) Oczywiście da radę zarządzać ekranem przez cron - włączyć w nocy tryb wyłączania ekranu. Przy dotknięciu panelu włączy się (panel dotykowy zachowuje się jak myszka,touchpad,etc.).

Ad.2) Np. przez integrację “Command Line” - za pomocą ssh. Inne rozwiązanie to extender hdmi+usb to IP, Twój panel byłby bezpośrednio podłączony do RPi z HA. Nie potrzebna byłaby wtedy malina przy panelu, ale wada do koszt extenderów.

Ekran to ekran, więc obsługą zajmuje się system
https://www.raspberrypi.org/forums/viewtopic.php?t=281523
w Ubuntu być może jest nieco inaczej (zapewne vbetool można użyć).
A digitajzer jak już wspomniano jest urządzeniem HID (i zachowuje się z grubsza jak mysz).

Ja mam rasberry z Kioskiem i w trybie kiosku niestety nie działa żaden wygaszacz ekranu, jak go “opuszczę” wygaszacz od razu działa jak trzeba. Nie wiem jak zrobić aby kiosk był widoczny ale jak by na 2 planie.

Skoro robiłeś “tryb kiosku”
to w 2 pierwszych tutorialach znalezionych przez google
https://starter-kit.nettigo.pl/2018/12/raspberry-pi-w-trybie-kiosku/

jest wyjaśnione, że wygaszanie nie działa bo je usuwamy… załatwiają to te komendy:

# Disable any form of screen saver / screen blanking / power management
xset s off
xset s noblank
xset -dpms

Robiłem to - szukałem w sieci odpowiedzi.
Niestety nie działa u mnie :frowning:

No ale chyba ten swój tryb kiosku oparłeś na jakimś tutorialu?
Daj linka, to może tam ktoś znajdzie przyczynę (ale jak pisałem wyżej - w najpopularniejszych instrukcjach za brak wygaszania odpowiadają te 3 komendy).
Jeśli coś można wyłączyć, to można to i włączyć…
https://www.x.org/archive/X11R7.5/doc/man/man1/xset.1.html

Ja teraz mam tak:
xset s on
#xset s noblank
xset +dpms

A jakaś komenda, która wygasi ekran? np.
po czasie
xset s 30 60
albo od ręki
xset dpms force standby
czasem jest potrzebna sztuczka z komendą sleep aby enter nie wybudził

Można też podejrzeć co masz aktualnie ustawione
xset q

PS zakładam, że masz typowy ekran hdmi i używasz okien x11.

https://www.raspberrypi.org/forums/viewtopic.php?t=281523

Jeszcze jedno rozwiązanie takie “z innej beczki” przyszło mi do głowy

w 11 i 18 minucie na tym filmiku widać co mam na myśli
https://www.youtube.com/watch?v=atpIP2RYldA

W tej chwili nic nie trzeba instalować żeby ruszył kiosk.
Na czysty system raspberry wchodze w:

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

i nim mam:

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash

xset s 30 60
#xset s noblank
xset +dpms

# Allow quitting the X server with CTRL-ATL-Backspace
setxkbmap -option terminate:ctrl_alt_bksp

# Start Chromium in kiosk mode
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
chromium-browser --disable-infobars --kiosk http://login:haslo@192.168.1.12:8123

jeszcze w pliku:

sudo nano ~/.bash_profile

wpisuje aby wywalić kursor:

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor

po tym ostatnim zabiegu nie mogę połączyć się poprzez VNC ale nie jest to problem.
Problemem jest to, że nie działa wygaszanie ekranu. Ale jak zamiast strony z HA wsadze wp.pl czy inną wygaszacz działa. Czemu?

Nie wiem czemu lovelace blokuje wygaszanie, ale wydaje się, że browsermod ma szansę rozwiązać twój problem.

hmmm znalazłem, że jak włączę admina to wygaszacz działa a jak wróce na “przegląd” to znowu lipa.
Myślę, że wine tu ponosi mój wygląd:

mam taki lovelace.

OK. Więc zrobiłem tak, że wywaliłem animacje i działa super.
Pytanie dodatkowe - czy jest jakieś magiczne polecenie które np. po wykryciu ruchu przez czujkę ruszy delikatnie myszką? Chodzi mi o to aby monitor się włączył jak zobaczy ruch aby pokazać obraz z kamerki.
Tak pomyślałem, że ruch myszki i 1 pixel by mógł uruchomić ekran bo nic innego mi nie przychodzi do głowy.