Trigger a Webcam With a Button and Raspberry Pi

20,243

167

1

Posted

Introduction: Trigger a Webcam With a Button and Raspberry Pi

This instructable will show how to trigger a webcam using Raspberry and a push button. A bash script run at startup and it launch a Python script that survey the GPIO port. When the button is pressed, a "fswebcam" command runs.

Step 1: Materials

- Raspberry Pi 2 Model B

- Webcam (Make sure your camera is UVC complain)

- Push Button

- Breadboard

- Cables

Step 2: Wiring

- Connect the push button to the GPIO pins: GPIO15 (pin 12) and GND (pin 6).

- Connect the Webcam to a USB port.

To make sure your camera was recognized, list the devices with:

$cd /dev/

$ls

Your camera should be listed as /video*

Step 3: Creating Your Program in Python

Open a window in Python 3: Menu>Programming>Python 3>File>New Window

Copy the following code and Save As /home/pi/camerascript.py

import subprocess

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_UP)

i=0

try:

while True:

input_state = GPIO.input(12)

if input_state == 0:

subprocess.call("fswebcam -d /dev/video0 -r 1024x768 -S0 "+str(i)+"pic.jpg",shell=True) print('PIC CAPTURED')

i=i+1

time.sleep(0.2)

except KeyboardInterrupt:

GPIO.cleanup()

Step 4: Bash Script

Open the terminal and run:

$nano bashscript.sh

Add the following lines to /home/pi/bashscript.sh

#!/bin/bash

echo Launching camera

sudo python camerascript.py

Step 5: Make Your Script Executable and Run at Startup

First, give make your bash script executable:

$chmod ugo +x /home/pi/bashcript.sh

Second, type $nano ~/.bashrc ,and add the following lines at the end of the file to make your script run at startup:

#run startup script

echo .bash running

bash bashscript.sh

Third, autologin as pi user:

$sudo nano /etc/inittab

Comment this line: 1:2345:respawn:/sbin/getty --noclear 38400 tty1

Add this line: 1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1

Finally, reboot your Pi

$sudo reboot

Step 6: Results

Push the button, wait for the trigger and check if a new jpeg file was created in /home/pi/

Have fun.
Thanks for reading.

Share

    Recommendations

    • Microcontroller Contest

      Microcontroller Contest
    • Spotless Contest

      Spotless Contest
    • Science of Cooking

      Science of Cooking
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    Comments

    The above python code shows an error for me the error is

    syntaxError excepted an intended block

    How to resolve it ?

    IMG_20160112_003008.jpgIMG_20160112_003025.jpg