Wygaszacz ekranu
Dawno wspominany i jak zawsze przypadek sprawił że postanowiłem się tym zająć ( no i odrobina wolnego czasu wieczorem )
Pomysł na realizację wygaszacza zaczerpnięty ze strony https://www.ketzler.de/2017/12/exit-screensaver-on-raspberry-pi-with-motion-sensor/ i został zaadaptowany do potrzeb DVPi.
Proces instalacyjny opisany jest na powyższej stronie i przebiega bezproblemowo.
Konfiguracja już się różni i częściowo wynika to z wersji GPIO-Watch oraz specyfiki DVPi.
Bez wskazywania różnic przedstawię własną wersję konfiguracji oraz wykonania autostartu.
Konfiguracja
Należy utworzyć katalog /etc/gpio-scripts/
w którym będziemy tworzyli pliki z instrukcją co ma się stać gdy GPIO-Watch wykryje aktywność na GPIO.
I tu ważna uwaga odnośnie różnic jak DVPi aplikacja widzi GPIO a jak to widzi GPIO-Watch.
DVPi schemat GPIO
GPIO-Watch
Neleży stosownie policzyć co mamy na którym pinie i jaki to jest numer dla GPIO-Watch. Moge podpowiedzieć iż w przypadku "standardowej" konfiguracji DVPi można utworzyć pliki o numerach 12 13 16 19 20 26 6.
Tak więc tworzymy plik 12 dla gpio numer 12 komendą sudo nano /etc/gpio-scripts/12
i umieszczamy w pliku
#!/bin/sh
#echo 'set on'
xset s reset
xset dpms force on
Zapisujemy plik i nadajemy mu uprawnienia do uruchamiania komendą chmod +x /etc/gpio/scripts/12
W taki sposób przygotowywujemy pliki dla każdego portu GPIO jaki chcemy monitorować.
PIERWSZE URUCHOMIENIE TESTOWE
Uruchomienie musi się odbywać na ekranie DVPi i nie może być zrealizowane poprzez połaczenie SSH
Wydając takie komendy w oknie terminala wykonacie konfigurację wygaszacza i ostatnia linijka to uruchomienie monitora GPIO.
xset dpms 120 120 120
xset s reset
xset dpms force on
gpio-watch -e rising 6 12 13 16 19 20 26
Wymieniona cyfra 120 to czas w sekundach - na potrzeby testu sugeryje zamienić na 20 lub 30 - te komendy nie zapisują się w systemie tak więc spokojnie.
Automatyczne uruchamianie
Jeśli testy z poziomu terminala przeszły pozytywnie można przejść do ostatniego elementu układanki AUTOSTARTU.
Tu należy wspomnieć o fakcie iż są dwa etapy. Pierwszy to samo włączenie wygaszacza ( komendy xset ) a drugi to wybudzenie czyli gpio-watch.
Zaczniemy od GPIO-Watch. Pierwsze co robimy to tworzymy scrypt uruchomienia monitora GPIO
sudo nano /home/pi/gpiowatch.sh
i wklejamy do niego
gpio-watch -e rising 6 12 13 16 19 20 26
Proszę pamietać iż u Was mogą to być inne porty.
Teraz czas uruchomić sam wygaszacz w systemie. W tym celu edytujemy plik sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
Zmieniamy wpisy z frazą xset i dopisujemy ścieżkę do naszego skryptu uruchomienia GPIO-Warch tak aby wyglądało to jak na zdjęciu
Generalnie to komenda xset dpms 120 120 120
zawiera w sobie trzy czasy i w zależności od posiadanego wyświetlacza LCD to tyle moze być fukcji. Dla przykładu komenda wyglądająca tak xset dpms 100 200 300
pozwala na uruchomienie wygaszacza po 100sek, uspienie wyświetlacza po 200sek. i wyłączenie wyświetlacza po 300sek. Ja mogę jedynie mieć pierwszy paramert na wyświetlaczy Waveshare. Uzyskane efekty są uzależnione od posiadanej wersji wyświetlacza. Często na wyświetlaczach nie będzie można uzyskać efektu wyłączenia podświetlenia czy loga startowego.