Falls du mit dem Gedanken spielst irgendetwas von der Installation zu entwenden, unter Teile findest du die Auflistung aller verbauten Teile. Ebenfalls steht jeweils der derzeitige Verkaufspreis bzw. Einkaufspreis dabei. Glaub mir, der Ärger lohnt sich nicht... Bis du die Airtags aus den jeweiligen Bauteilen entfernt hast, verliert alles nochmals an Wert, da du das Bildschirmgehäuse dabei kaputtmachen wirst. An die Schneemaschine kommst du nicht, die ist oben. Kostet aber auch nur 80.- bei Brack o.ä. Falls du an einer Anleitung interessiert bist, findest du den Code zuunterst. Ebenfalls findest du die Skizze zum Anschliessen der entsprechenden Bauteile hier. Es ist nicht kompliziert aufgebaut. Achte beim zusammenbau von Pi + Relais darauf dass du die Pins entsprechend richtig verkabelst (Pin 17 = Pin 11 auf dem Pi für das Eingangssignal im Relais, Dann brauchst du noch 1 5V Pin und 1 GND Pin) Danach musst du eigentlich nur noch die Schneemaschine anschalten. Um das Pythonscript in den Autostart zu bekommen, lautet das Stichwort "Systemd" - Google oder ChatGPT hilft da gut weiter.
import pygame
from gpiozero import DigitalOutputDevice
from time import sleep
import subprocess
# Init Pygame
pygame.init()
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) # Vollbildmodus
pygame.display.set_caption("Adventsfenster")
# Farben und Symbole
play_icon = pygame.image.load('/home/jeremy.loosli/Documents/play_icon.png')
# GPIO für das Relais (High-Aktiv)
relais_pin = 17 # GPIO Pin 17 (Pin 11)
# Relais ist High-Aktiv, daher wird es standardmäßig deaktiviert (LOW)
relais = DigitalOutputDevice(relais_pin, active_high=True, initial_value=False)
# Video-Pfad
video_path = "/home/jeremy.loosli/Documents/wckg.mp4"
# Aktivierung der Schneemaschine
def activate_snow_machine():
print("Schneemaschine aktiviert!")
relais.on() # Schaltet das Relais ein (HIGH für High-Aktiv)
sleep(6) # Lässt die Schneemaschine 6 Sekunden laufen
relais.off() # Schaltet das Relais aus (LOW für High-Aktiv)
print("Schneemaschine deaktiviert!")
# Funktion: Video abspielen
def play_video():
print("Video wird abgespielt...")
# Bildschirm schwarz machen
screen.fill((0, 0, 0))
pygame.display.flip()
try:
# Video mit VLC abspielen
subprocess.run(['cvlc', '--no-osd', '--fullscreen', '--play-and-exit', video_path], check=True)
except Exception as e:
print(f"Fehler beim Abspielen des Videos: {e}")
print("Video fertig!")
# Nach dem Video die Schneemaschine aktivieren
activate_snow_machine()
# Nach dem Video zurück zum Play-Symbol
reset_to_play_icon()
# Funktion: Zurücksetzen des Bildschirms auf das Play-Symbol
def reset_to_play_icon():
screen.fill((0, 0, 0))
play_icon_rect = play_icon.get_rect(center=(screen.get_width() // 2, screen.get_height() // 2))
screen.blit(play_icon, play_icon_rect.topleft)
pygame.display.flip()
return play_icon_rect
# Hauptschleife
running = True
play_icon_rect = reset_to_play_icon() # Initialisiere den Bildschirm mit dem Play-Symbol
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE: # Beende den Vollbildmodus mit ESC
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
x, y = event.pos
if play_icon_rect.collidepoint(x, y): # Prüfen, ob das Symbol angeklickt wurde
play_video()
pygame.quit()