Spela upp Video med Python och GPIO (3 / 5 steg)
Steg 3: Videor och Python
Innan vi kan börja koden, måste vi vårt material. För att göra detta, behöver du lite video-filer. Eftersom inte jag är en videoredigerare i någon bemärkelse, lämnar jag skapandet av krävs videor för slutmålet projektet till någon annan i mitt företag. Jag använde .mp4 filer eftersom de spelas nästan universellt.
För att testa min kod funktionalitet, jag överfört några musikvideor på min Pi med en USB-enhet och sparat dem till mappen videor.
Det finns andra sätt att överföra filer till din Pi. En metod är FTP. Jag använda inte denna metod, men det finns många bra tutorials på det på denna webbplats och google.
När du har dina videofiler på din Pi, är det dags att komma till kodning.
Gå till-menyn -> program -> Python 3 (viloläge)
I Python 3, gå till Arkiv--ny fil
Spara filen som "videoplayer.py"
Nu till koden:
importera de nödvändiga bibliotek
importera Rpi.GPIO som GPIO
importera sys
importera os
underprocess importera Popen
Ställ in GPIO pin format
GPIO.setmode (GPIO. BCM)
Setup knapparna GPIO
GPIO.setup (17, GPIO. IN, pull_up_down = GPIO. PUD_UP)
GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP)
GPIO.setup (24, GPIO. IN, pull_up_down = GPIO. PUD_UP)
Destinationsvariabeln setup film
movie1 = ("/ home/pi/Videos/movie1.mp4")
movie2 = ("/ home/pi/Videos/movie2.mp4")
Gör booleska variabler
last_state1 = sant
last_state2 = sant
input_state1 = sant
input_state2 = sant
quit_video = sant
Nu att få det att fungera
samtidigt sant:
#Read påstår av ingångar
input_state1 = GPIO.input(17)
input_state2 = GPIO.input(18)
quite_video = GPIO.input(24)
#If GPIO(17) är kortsluten till jord
om input_state1! = last_state1:
om (spelare och inte input_state1):
OS.system ("killall omxplayer.bin")
omxc = Popen (['omxplayer', '-b', movie1])
Player = sant
Elif inte input_state1:
omxc = Popen (['omxplayer', '-b', movie1])
Player = sant
#If GPIO(18) är kortsluten till jord
Elif input_state2! = last_state2:
om (spelare och inte input_state2):
OS.system ("killall omxplayer.bin")
omxc = Popen (['omxplayer', '-b ", movie2])
Player = sant
Elif inte input_state2:
omxc = Popen (['omxplayer', '-b ", movie2])
Player = sant
Omxplayer #If körs och GPIO(17) och GPIO(18) är inte kortsluten till jord
Elif (spelare och input_state1 och input_state2):
OS.system ("killall omxplayer.bin")
Player = False
#GPIO(24) stänga omxplayer manuellt - används under debug
om quit_video == False:
OS.system ("killall omxplayer.bin")
Player = False
#Set last_input staterna
last_state1 = input_state1
last_state2 = input_state2
Nu bör du kunna köra videoplayer.py och börja utlösa dina videor via din GPIOs.