1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!/usr/bin/env python2.7
from time import sleep
import subprocess
import RPi.GPIO as GPIO
import os
import signal
# On choisit le GPIO 17 (pin ?) pour notre bouton
CHANNEL = 17
# On definit nos durees
une_seconde = 1
quattre_secondes = 4
# on met RPi.GPIO en mode notation BCM
GPIO.setmode(GPIO.BCM)
# on initialise le GPIO 17 en mode entree
GPIO.setup(CHANNEL, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# notre fonction de gestion du bouton
def system_button(CHANNEL):
# cette variable servira a stocker le temps de pression
button_press_timer = 0
while True:
if (GPIO.input(CHANNEL) == False) : # le bouton a ete presse...
button_press_timer += 0.2 # ... on enregistre le temps que cela dure
else: # le bouton a ete relache, on compte combien de temps cela a dure
if (button_press_timer > une_seconde) :
print "1 seconde : ", button_press_timer
p = subprocess.Popen(['omxplayer --avdict rtsp_transport:tcp --live "rtsp://franco:franco@192.168.0.212:554/cam/realmonitor?cha$
time.sleep(10) # çà attend 10 secondes
p.terminate()
p.wait()
button_press_timer = 0
# on attend 0.2 secondes avant la boucle suivante afin de reduire la charge sur le CPU
sleep(0.2) |
Partager