Skip to content

Instantly share code, notes, and snippets.

@hadees
Created June 13, 2014 19:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hadees/848eeca7a5f8c3e8ef10 to your computer and use it in GitHub Desktop.
Save hadees/848eeca7a5f8c3e8ef10 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# python 2.7
# modules imports - search the python documentation for mode imformation
import subprocess
import glob
import signal
import RPi.GPIO as GPIO
import random
import os
import time
from time import sleep
if __name__ == "__main__":
"""Begin the Main Program - search for the above line to find out why your main python program should start like this"""
#
# General Program Functions
#
def randomVideo(video_files, clearCommand):
os.system("pkill omxplayer* && " + drawBrowneyeCommand)
# This plays the current video in the sequence and assigns the return code from the video player process to the 'video' variable
video = random.choice(video_files)
videoPlayerCommand = "omxplayer -b -o hdmi " + escapeWhitespace(video) + " | echo ''"
videolayerProcess = subprocess.Popen(videoPlayerCommand, shell=True)
def escapeWhitespace(file_Name):
"""Escape Whitespace (i.e. Spaces) in the name of the files"""
# Return the escape string
return "'" + file_Name.replace("'", "'\\''") + "'"
#
# Program Variables
#
drawBrowneyeCommand = 'TERM=linux setterm -clear -blank 0 > /dev/tty0 && cat /home/pi/browneye2.txt > /dev/tty0'
# The Path that the videos file are contained within
beard_Path = "/home/pi/Beards/"
drink_Path = "/home/pi/Drinks/"
# The video file type
file_Types = '*.*'
# Get a list/array of files that end in the extension .mp4
beard_Files = glob.glob(beard_Path + file_Types)
drink_Files = glob.glob(drink_Path + file_Types)
GPIO.setmode(GPIO.BCM)
GPIO.setup(7, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
drawBrowneyeProcess = subprocess.Popen(drawBrowneyeCommand, shell=True, stdout=subprocess.PIPE)
#GPIO.add_event_detect(7, GPIO.FALLING, callback=lambda x: randomVideo(beard_Files, drawBrowneyeCommand), bouncetime=1000)
#GPIO.add_event_detect(23, GPIO.FALLING, callback=lambda x: randomVideo(drink_Files, drawBrowneyeCommand), bouncetime=1000)
# Start a loop that never ends
while True:
if(GPIO.input(7) == 0):
randomVideo(beard_Files, drawBrowneyeCommand)
if(GPIO.input(23) == 0):
randomVideo(drink_Files, drawBrowneyeCommand)
MMMMMMMMMMMMMMMMMMMMMMMMMMOMMMMMNXMMMMMM0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMWMMMXOxl.dddoo.:ooodd:'ddx0XMNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMXd,xxOXX'.MMMN:.XMMWO:.KMMN0x''oxKWMMWNMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMK0kxx0x.WMWk..,c:,...'''...:odkxc.lNMNOdll;NMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMWOo.XMMO..;....',;;::::::::;;;,''....':lc,;x0ddOWXdXMMMMMMMMMMMMMMMMMM
MMMMMMMWNxxXx.xc...,;cllllc;,;::ccc:;;:lllllllc:,....;oxd,.'xMMMMMMMMMMMMMMMMMMM
MMMMMMWd'WWd....,clllll:,ckXWMMMMMMMMNOo;;llllllll:',l;...kWKxxNNOOMMMMMMMMMMMMM
MMMWX0kK.c,od;;llllll;.'WMMMMMMWMMMMMMMMMK',llllllllc'kWOc..:c;',xMMMMMWMMMMMMMM
MMMW'Xk;oKMo'llllllc...lMMMMMMMN0KXMMMMMMMo..:llllllll,lMMWO;.:kKxlxolkMMMMMMMMM
MMNO'o0MMMc;llllllc....:MMMMMMMMxdMMMMMMMMo...;llllllll'dMMMMXl...;odXMMMMWXMMMM
MN00NMMMMd'lllllll......lNMMMMMN::WMMMMMMk.....cllllllll.WMMMMMWO:.;l:clcoOMMMMM
KOWMMMMMM.cllllll:........loolldxKllodo:.......,llllllll.KMMMMMMMMW0o,.,x0K0kokX
doNMMMMMW.lllllll;........cMMMMMkMMMWNk.........llllllll.NMMMMMMMMMMMMWKk;.';kNM
MNNMMMMMM'cllllll:.........kMMMMdWMMMK.........'lllllll;:MMMMMMMMMMMMW0ool:WMMMM
MMNoXMMMMx'lllllll.........'MMMMlNMMM,.........cllllll:'NMMMMMMMMMWklodcXMWXMMMM
MMMNkl0MMMl,llllllc.........WNWM:XNNK.........;llllll;;NMMMMMMMKdclocWMMNMMMMMMM
MMMMXW0;xNMx'clllllc.......cMMMM'0MMN........;lllllc,xMMMMMKd::ocdMMWXMMMMMMMMMM
MMMMMMNNNo:x0l,clllll,.....NMMMM.OMMMx.....'cllll:,dWMNOo;;ox;NMMXMMMMMMMMMMMMMM
MMMMMMMMMNNXd,c,,;cllll;..dNMMMW.xMMMW:..,clll:;cdko:.:d0oxMMNXMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMWkWO.'..';:cll:;;clc.;lc:;:lc:;'...::.dKWKOMMMXMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMWkMMX;;c;..''',,,,,;;;.ccl:.0X0:MMNOMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMM0MMMK0MMOdWWK;MMMcMMMMdMMMXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMXXMMWNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment