
This is cool little project done in minutes with A13-OLinuXino running OpenCV. We were thinking what to make with OpenCV and with the use of GPIOs on A13-OLinuXino and decided to put small switch on our laboratory door connected to A13-OLinuXino GPIO:

then to wire A13-OLinuXino with Web Cam on the old ping-pong table in the front ot the door, so we can sense every time door is opened and closed:

OK, now we are ready and have just to write the python code to log the pictures with the Web-cam every time somebody enters the lab:
from cv2 import *
import sys
import time
import datetime
import A13_GPIO as gpio
def main():
#init gpio module
gpio.init()
gpio.setcfg(gpio.PIN36, gpio.INP)
while True:
#select /dev/video0 as source
cam = VideoCapture(0)
#wait for low level (door open)
while True:
g = gpio.input(gpio.PIN36)
if(gpio == 0):
break
time.sleep(2)
#take 15 pictures, and use only the last one
for i in range(15):
s, img = cam.read()
#get the current system time
now = datetime.datetime.now()
k = str(now)
if s:
imwrite(k + ".jpg", img)
print(k + " -> New image saved...")
#wait for high level (door closed)
while True:
g = gpio.input(gpio.PIN36)
if(gpio == 1):
break
#wait some time (debounce)
time.sleep(1)
if __name__ == '__main__':
main()
You can download the project code and OpenCV installation instructions on GitHub: https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/A13/A13%2BOpenCV%2BDoor-Security
Recent Comments