Hallo liebes Forum
Hardware + Programmiersprache:
Raspberry Pi 4 (auf dem Raspberry Pi Zero soll es später auch laufen) / Sprache: Python
Ziel des Codes:
Es soll ein Bild im Fullscreen geöffnet werden. Sobald ein Taster (GPIO 11) betätigt wird (dieser bleibt nach dem Betätigen auf 1), soll das Bild geschlossen und stattdessen ein Video in Endlosschleife laufen. Aktuell habe ich noch eine LED am GPIO Pin 13 angeschlossen, welche sich bei Tastendruck auch einschaltet.
Aktueller Stand:
Auf Tastendruck leuchtete das LED und auch das Video wurde gestartet. Die while Schleife funktioniert also grundsätzlich. Den Loop für das Video habe ich noch nicht integriert.
Dann habe ich den Code mit diesen 3 Zeilen ergänzt, um die nächste Funktion zu ergänzen (Bild zu Beginn öffnen):
import os
os.system('mirage -f /home/pi/Desktop/Blackscreen.png')
os.system('pkill mirage')
Seither wird zwar das Bild direkt am Anfang im Fullscreen geöffnet, jedoch passiert gar nichts, sobald ich den Taster drücke:
Die LED leuchtet nicht, das Video startet nicht und das Bild bleibt im Fullscreen geöffnet.
Wo habe ich einen Fehler eingebaut, dass das Drücken des Tasters nichts mehr bewirkt?
Hier mein gesamter Code (import subprocess und time sind noch von früheren Versuchen drin):
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import os
import subprocess
GPIO.setmode (GPIO.BOARD)
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(13, GPIO.OUT)
os.system('mirage -f /home/pi/Desktop/Blackscreen.png')
while(True) :
if (GPIO.input(11) == True) :
GPIO.output (13, True)
os.system ('pkill mirage')
os.system ('omxplayer /home/pi/Desktop/Test_2.mp4')
else:
GPIO.output (13, False)
Alles anzeigen
Fehlermeldung, falls die etwas damit zu tun hat:
/usr/lib/python2.7/dist-packages/mirage.py:1864: GtkWarning: _gdk_drawable_get_source_drawable: a ssertion 'GDK_IS_DRAWABLE (drawable)' failed
pix = gtk.gdk.pixmap_create_from_data(None, pix_data, 1, 1, 1, color, color)
Ich bin noch Anfänger in dem Gebiet und konnte den Fehler im Code nicht finden.
Könnt ihr mir bitte helfen? Vielen Dank!