Benutzer-Werkzeuge

Webseiten-Werkzeuge


nanopi_m4:kiosk:software

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
nanopi_m4:kiosk:software [2020/11/10 00:33]
andmin [Software]
nanopi_m4:kiosk:software [2021/04/16 21:06] (aktuell)
andmin [Kiosk Ping]
Zeile 29: Zeile 29:
   * sudo apt upgrade   * sudo apt upgrade
   * sudo apt dist-upgrade   * sudo apt dist-upgrade
-  * sudo apt install xorg xserver-xorg-legacy openbox chromium xdotool unclutter lighttpd twinkle swaks bluez php-cgi+  * sudo apt install xorg xserver-xorg-legacy openbox chromium xdotool unclutter lighttpd twinkle swaks bluez php-cgi ​php7.3-gd
   * sudo lighty-enable-mod fastcgi-php   * sudo lighty-enable-mod fastcgi-php
   * sudo nano -w /​etc/​X11/​Xwrapper.config   * sudo nano -w /​etc/​X11/​Xwrapper.config
Zeile 39: Zeile 39:
 <​code>​ <​code>​
 #!/bin/sh #!/bin/sh
 +    touch /​tmp/​kiosk.status
 +    chmod 666 /​tmp/​kiosk.status
 +    touch /​tmp/​switch.status
 +    chmod 666 /​tmp/​switch.status
     sleep 10     sleep 10
     xset s noblank     xset s noblank
Zeile 44: Zeile 48:
     openbox-session &     openbox-session &
     unclutter -grab -visible &     unclutter -grab -visible &
-#​pavucontrol 
-#exit 
     if ! lsusb | grep "​1bcf:​2284"​ > /dev/null     if ! lsusb | grep "​1bcf:​2284"​ > /dev/null
     then      then 
         startadresse="​https://​www.kinasen.de/​wetteruebersicht.php"​         startadresse="​https://​www.kinasen.de/​wetteruebersicht.php"​
 + echo 2 > /​tmp/​switch.status
     else     else
-        ​startadresse="​https://​jitsi.kinasen.de/​P0l8a5u2e5n"+ echo 1 > /​tmp/​switch.status 
 +        ​startadresse="​URL_JITSI"
     fi     fi
-    chromium --no-first-run --kiosk --agc-startup-min-volume=255 --compensate-for-unstable-pinch-zoom --disable-pinch --disable-translate --disable-suggestions-service --disable-save-password-bubble --start-maximized --disable-session-crashed-bubble --disk-cache-dir=/​tmp/​kioskcache --disk-cache-size=1 $startadresse+    chromium --no-first-run ​--lang=de-DE ​--kiosk --agc-startup-min-volume=255 --compensate-for-unstable-pinch-zoom --disable-pinch --disable-translate --disable-suggestions-service --disable-save-password-bubble --start-maximized --disable-session-crashed-bubble --disk-cache-dir=/​tmp/​kioskcache --disk-cache-size=1 $startadresse
 </​code>​ </​code>​
    * sudo chmod 755 /​opt/​kiosk.sh    * sudo chmod 755 /​opt/​kiosk.sh
Zeile 59: Zeile 63:
 <​code>​ <​code>​
 [Unit] [Unit]
-Description=Kiosk+Description=Starte Chromium ​Kiosk
  
 [Service] [Service]
 Type=oneshot Type=oneshot
-User=USER +User=kiosk 
-ExecStart=/​usr/​bin/​startx /​etc/​X11/​Xsession /opt/kiosk.sh+ExecStart= /​usr/​bin/​startx /​etc/​X11/​Xsession /opt/start_kiosk.sh
  
 [Install] [Install]
Zeile 101: Zeile 105:
    ​switch(tasten.join(''​)){    ​switch(tasten.join(''​)){
       // Taste y:       // Taste y:
-      case "​Y1X": ​      ​location.href = "https://​jitsi.kinasen.de/​P0l8a5u2e5n"; break;+      case "​Y1X": ​      ​location.href = "JITSI_URL"; break;
       case "​Y2X": ​      ​location.href = "​https://​www.kinasen.de/​wetteruebersicht.php";​ break;       case "​Y2X": ​      ​location.href = "​https://​www.kinasen.de/​wetteruebersicht.php";​ break;
       case "​Y3X": ​      ​location.href = "​https://​www.kinasen.de/​gartenbilder.php";​ break;       case "​Y3X": ​      ​location.href = "​https://​www.kinasen.de/​gartenbilder.php";​ break;
Zeile 187: Zeile 191:
 /​etc/​udev/​rules.d/​80-jitsi.rules /​etc/​udev/​rules.d/​80-jitsi.rules
 <​code>​ <​code>​
-ACTION=="​add",​ SUBSYSTEM=="​usb",​ ATTRS{idVendor}=="​1bcf",​ ATTRS{idProduct}=="​2284",​ RUN+="/​bin/​su USER -c '/​bin/​sh /opt/switch_2.sh'"​ +ACTION=="​add",​ SUBSYSTEM=="​usb",​ ATTRS{idVendor}=="​1bcf",​ ATTRS{idProduct}=="​2284",​ RUN+="/​bin/​su USER -c '/​bin/​sh /opt/switch.sh 1'"​ 
-ACTION=="​remove",​ SUBSYSTEM=="​usb",​ ATTRS{idVendor}=="​1bcf",​ ATTRS{idProduct}=="​2284",​ RUN+="/​bin/​su USER -c '/​bin/​sh /opt/switch_1.sh'"​+ACTION=="​remove",​ SUBSYSTEM=="​usb",​ ATTRS{idVendor}=="​1bcf",​ ATTRS{idProduct}=="​2284",​ RUN+="/​bin/​su USER -c '/​bin/​sh /opt/switch.sh 2'"​
 </​code>​ </​code>​
 ==== GPIO für Tasten ==== ==== GPIO für Tasten ====
Zeile 195: Zeile 199:
 Pullup 10k nach 3,3V Pin 1 Pinleiste GPIO1 Pullup 10k nach 3,3V Pin 1 Pinleiste GPIO1
  
-Zur Abfrage des Tasters läuft ein Programm (C) und ruft bei Flankenerkennung ein Bash-Script (/opt/switch_3.sh) auf. Dieses simuliert wiederum eine Tastatureingabe (y 3 6) im Browser. ​+Zur Abfrage des Tasters läuft ein Programm (C) und ruft bei Flankenerkennung ein Bash-Script (/opt/switch.sh 3) auf. Dieses simuliert wiederum eine Tastatureingabe (y 3 6) im Browser. ​
  
 ==== Telefonfunktion ==== ==== Telefonfunktion ====
Zeile 207: Zeile 211:
 User=kiosk User=kiosk
 ExecStartPre=sleep 10 ExecStartPre=sleep 10
 +ExecStartPre=pactl set-source-volume USB_in 100%
 +ExecStartPre=touch /​tmp/​twinklestatus.txt
 +ExecStartPre=chmod 666 /​tmp/​twinklestatus.txt
 ExecStart=screen -d -U -L -Logfile /​tmp/​twinkle.log -m twinkle -c ExecStart=screen -d -U -L -Logfile /​tmp/​twinkle.log -m twinkle -c
 +ExecStop=screen -p 0 -X stuff "​quit^M"​
 +RestartSec=15
 +Restart=always
 [Install] [Install]
 WantedBy=multi-user.target WantedBy=multi-user.target
Zeile 214: Zeile 224:
 ==== Bluetooth LE Scan==== ==== Bluetooth LE Scan====
 Hier wird Bluetooth LE zur Anwesenheitserkennung z.B. zum Einschalten von Lampen genutzt. Hier wird Bluetooth LE zur Anwesenheitserkennung z.B. zum Einschalten von Lampen genutzt.
-Start als systemd service ​btlescan.+Start als systemd service ​bluetoothLE. 
 +<​code>​ 
 +[Unit] 
 +Description=Startet Scan nach Bluetooth LE Geräten 
 +After=bluetooth.target 
 + 
 +[Service] 
 +Type=oneshot 
 +ExecStart=/​home/​kiosk/​ble_scan > /dev/null 2>&1 & 
 + 
 +[Install] 
 +WantedBy=multi-user.target 
 + 
 +</​code>​ 
 + 
 +ble_scan.c benötigt zum compilieren apt-get install libncurses5-dev libbluetooth-dev
  
    
Zeile 221: Zeile 246:
 ==== Email ==== ==== Email ====
  swaks --to ZIELMAILADRESSE -s MAILSERVER:​PORT -au BENUTZERNAME -ap "​PASSWORT"​  swaks --to ZIELMAILADRESSE -s MAILSERVER:​PORT -au BENUTZERNAME -ap "​PASSWORT"​
 +
 +Ist in ble_scan eincompiliert zur Benachrichtigung.
 ==== GPIO Tasteneingabe ==== ==== GPIO Tasteneingabe ====
-Das Programm zum Überwachen der Tasten-GPIOs und das Ausschalten der blinkenden grünen LED geschieht ​über /​etc/​rc.local+Das Programm zum Überwachen der Tasten-GPIOs und das Ausschalten der blinkenden grünen LED wird über /​etc/​rc.local ​gestartet
  
 <​code>​ <​code>​
Zeile 234: Zeile 261:
  
 <​code>​Option ​                 "​StandbyTime"​ "​5"</​code>​ <​code>​Option ​                 "​StandbyTime"​ "​5"</​code>​
 +
 +Während eines Anrufes soll das Display nicht abgeschalten werden. Ein Cronjob checkt regelmäßig welche Seite derzeit im Browser gezeigt wird und simuliert dann mit XDOtool eine Mausbewegung. ​
 ==== Kiosk Ping==== ==== Kiosk Ping====
 Es kommt vor, dass für den Kiosk keine Internetverbindung besteht und Chromium dann eine Fehlermeldung zeigt. Um diesen Zustand zu beheben ruft auf allen Seiten ein Javascript alle 5 Sekunden ein Script auf. Es kommt vor, dass für den Kiosk keine Internetverbindung besteht und Chromium dann eine Fehlermeldung zeigt. Um diesen Zustand zu beheben ruft auf allen Seiten ein Javascript alle 5 Sekunden ein Script auf.
-Bleibt dieser "​Ping" ​5 Sekunden ​aus so wird das neu laden der Internetseite im Chromium veranlasst. +Bleibt dieser "​Ping"​ aus so wird das neu laden der Internetseite im Chromium veranlasst. 
- + 
 +==== Benachrichtigung Ein- und Ausschalten ==== 
 + 
 +<​code>​ 
 +Description=Sending Alert Emails on System shutdown. 
 +Requires=network.target 
 +Before=shutdown.target reboot.target 
 + 
 +[Service] 
 +Type=oneshot 
 +User=kiosk 
 +RemainAfterExit=true 
 +ExecStart=/​home/​kiosk/​alert.sh startup 
 +ExecStop=/​home/​kiosk/​alert.sh shutdown 
 + 
 +[Install] 
 +WantedBy=multi-user.target 
 +</​code>​
nanopi_m4/kiosk/software.1604964828.txt.gz · Zuletzt geändert: 2020/11/10 00:33 von andmin