Help with my script.
Posted: Sun Jun 28, 2020 9:56 am
my script is run on startup at rc.local. Everything works fine except one problem, When the video plays with a button press it shows the terminal text on screen for a second. but if i type clear in the terminal the text is then removed. i have tried adding clear() to my script but then dose not work as it did when i typed it manually. Do you know what i could try ?
Code: Select all
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import os
import random
GPIO.setmode(GPIO.BOARD)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(7, GPIO.IN, pull_up_down=GPIO.PUD_UP)
os.system ("omxplayer --no-osd --loop --win '0 0 707 475' /home/pi/video/still.mp4 &")
def blink(ledpin):
GPIO.output(ledpin,GPIO.HIGH)
time.sleep(float(random.randrange(1,10,1))/10)
GPIO.output(ledpin,GPIO.LOW)
time.sleep(float(random.randrange(1,10,1))/10)
def play_video1():
print ("GPIO11")
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --vol +450.00dB --win '0 0 707 475' -r -o local /home/pi/video/1.mp4 &")
start_time = time.time()
while (GPIO.input(11) == False) and (time.time()-start_time < 178):
blink(13)
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --no-osd --loop --win '0 0 707 475' -o local /home/pi/video/still.mp4 &")
def play_video2():
print ("GPIO15")
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --vol +450.00db --win '0 0 707 475' -r -o local /home/pi/video/2.mp4 &")
start_time = time.time()
while (GPIO.input(15) == False) and (time.time()-start_time < 78):
blink(13)
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --no-osd --loop --win '0 0 707 475' -o local /home/pi/video/still.mp4 &")
def play_video3():
print ("GPIO7")
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --vol +450.00db --win '0 0 707 475' -r -o local /home/pi/video/3.mp4 &")
start_time = time.time()
while (GPIO.input(7) == False) and (time.time()-start_time < 1195):
blink(13)
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --no-osd --loop --win '0 0 707 475' -o local /home/pi/video/still.mp4 &")
def play_video4():
print ("GPIO16")
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --vol +450.00dd --win '0 0 707 475' -r -o local /home/pi/video/4.mp4 &")
start_time = time.time()
while (GPIO.input(16) == False) and (time.time()-start_time < 178):
blink(13)
print ("sudo killall omxplayer.bin")
os.system("sudo killall omxplayer.bin")
os.system ("omxplayer --no-osd --loop --win '0 0 707 475' -o local /home/pi/video/still.mp4 &")
while True:
input_state = GPIO.input(11)
if input_state == False:
time.sleep(0.5)
input_state = GPIO.input(11)
if input_state == False:
play_video1()
input_state = GPIO.input(15)
if input_state == False:
time.sleep(0.5)
input_state = GPIO.input(15)
if input_state == False:
play_video2()
input_state = GPIO.input(7)
if input_state == False:
time.sleep(0.5)
input_state = GPIO.input(7)
if input_state == False:
play_video3()
input_state = GPIO.input(16)
if input_state == False:
time.sleep(0.5)
input_state = GPIO.input(16)
if input_state == False:
play_video4()
GPIO.cleanup()
clear()