Init
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
NOCOLOR='\033[0m'
|
||||||
|
SERVICE_NAME="pivideo.service"
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Stoppe Dienst =========${NOCOLOR}"
|
||||||
|
sudo systemctl stop $SERVICE_NAME
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Starte Dienst =========${NOCOLOR}"
|
||||||
|
sudo systemctl start $SERVICE_NAME
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
NOCOLOR='\033[0m'
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Starte Installation =========${NOCOLOR}"
|
||||||
|
|
||||||
|
CURRENT_USER=$(whoami)
|
||||||
|
SERVICE_NAME="pivideo.service"
|
||||||
|
|
||||||
|
PYTHON_SCRIPT="/home/$CURRENT_USER/PiVideo/video.py"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo $CURRENT_USER
|
||||||
|
echo $PYTHON_SCRIPT
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Führe Update durch =========${NOCOLOR}"
|
||||||
|
|
||||||
|
sudo apt update && sudo apt upgrade -y
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Installiere Abhängigkeiten =========${NOCOLOR}"
|
||||||
|
sduo apt install vlc python3-rpi.gpio git -y
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Holle Datein ========${NOCOLOR}"
|
||||||
|
|
||||||
|
mkdir ~/PiVideo/ ~/PiVideo/videos/
|
||||||
|
cd ~/PiVideo/
|
||||||
|
|
||||||
|
wget -L "https://raw.githubusercontent.com/miT-nib-hcI/PiVideo/main/video.py"
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Holle Videos========${NOCOLOR}"
|
||||||
|
|
||||||
|
cd videos/
|
||||||
|
wget -L "https://github.com/miT-nib-hcI/PiVideo/raw/main/loop.mp4"
|
||||||
|
wget -L "https://github.com/miT-nib-hcI/PiVideo/raw/main/trigger.mp4"
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Erestele Systemd Service ========${NOCOLOR}"
|
||||||
|
|
||||||
|
SERVICE_CONTENT="[Unit]
|
||||||
|
Description=Video Control Script
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/python3 $PYTHON_SCRIPT
|
||||||
|
WorkingDirectory=$(dirname $PYTHON_SCRIPT)
|
||||||
|
StandardOutput=inherit
|
||||||
|
StandardError=inherit
|
||||||
|
Restart=always
|
||||||
|
User=$CURRENT_USER
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
"
|
||||||
|
|
||||||
|
echo "$SERVICE_CONTENT" | sudo tee /etc/systemd/system/$SERVICE_NAME > /dev/null
|
||||||
|
|
||||||
|
# Lade die Systemd-Dienste neu
|
||||||
|
echo -e "${GREEN}======== Lade Dienste neu ========${NOCOLOR}"
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
|
||||||
|
# Aktiviere den Service, damit er beim Booten gestartet wird
|
||||||
|
echo -e "${GREEN}======== Aktiviern des Dienstes ========${NOCOLOR}"
|
||||||
|
sudo systemctl enable $SERVICE_NAME
|
||||||
|
|
||||||
|
# Starten des Services
|
||||||
|
echo -e "${GREEN}======== Starente des Dienstes ========${NOCOLOR}"
|
||||||
|
sudo systemctl start $SERVICE_NAME
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "${GREEN}=========================================================${NOCOLOR}"
|
||||||
|
echo -e "${GREEN}======== Das Script wurde Erfolgreich Ausgeführt ========${NOCOLOR}"
|
||||||
|
echo -e "${GREEN}=========================================================${NOCOLOR}"
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
NOCOLOR='\033[0m'
|
||||||
|
SERVICE_NAME="pivideo.service"
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Starte Dienst =========${NOCOLOR}"
|
||||||
|
sudo systemctl start $SERVICE_NAME
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Starte Autostart des Diensts =========${NOCOLOR}"
|
||||||
|
sudo systemctl enable $SERVICE_NAME
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
NOCOLOR='\033[0m'
|
||||||
|
SERVICE_NAME="pivideo.service"
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Stoppe Dienst =========${NOCOLOR}"
|
||||||
|
sudo systemctl stop $SERVICE_NAME
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "${GREEN}======== Stoppe Autostart des Diensts =========${NOCOLOR}"
|
||||||
|
sudo systemctl disable $SERVICE_NAME
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#! /usr/bin/python3
|
||||||
|
|
||||||
|
import RPi.GPIO as GPIO
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
|
||||||
|
# GPIO-Setup
|
||||||
|
BUTTON_PIN = 17 # Ersetze dies durch den tatsächlichen GPIO-Pin, den du verwendest
|
||||||
|
GPIO.setmode(GPIO.BCM)
|
||||||
|
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
|
||||||
|
|
||||||
|
loop_video = 'videos/loop.mp4'
|
||||||
|
trigger_video = 'videos/trigger.mp4'
|
||||||
|
|
||||||
|
# Funktion zum Abspielen eines Videos
|
||||||
|
def play_video(video_file):
|
||||||
|
subprocess.run(['cvlc', '--play-and-exit', '--fullscreen', '--no-video-title-show', video_file])
|
||||||
|
|
||||||
|
# Endlosschleife Video 1 starten
|
||||||
|
loop_video = subprocess.Popen(['cvlc', '--loop', '--fullscreen', '--no-video-title-show', loop_video])
|
||||||
|
|
||||||
|
try:
|
||||||
|
while True:
|
||||||
|
# Überprüfen, ob der Button gedrückt wurde
|
||||||
|
button_state = GPIO.input(BUTTON_PIN)
|
||||||
|
if button_state == GPIO.LOW: # Button gedrückt
|
||||||
|
# Stoppe das loop_video
|
||||||
|
loop_video.terminate()
|
||||||
|
|
||||||
|
# Video 2 abspielen
|
||||||
|
play_video(trigger_video)
|
||||||
|
|
||||||
|
# Nach dem Abspielen von Video 2 wieder Video 1 in Schleife starten
|
||||||
|
loop_video = subprocess.Popen(['cvlc', '--loop', '--fullscreen', '--no-video-title-show', loop_video])
|
||||||
|
|
||||||
|
time.sleep(0.1) # Entprellen des Buttons
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
# Bei einem Tastaturabbruch das laufende Video stoppen und GPIO reinigen
|
||||||
|
loop_video.terminate()
|
||||||
|
GPIO.cleanup()
|
||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user