Skip to content

ShriKode/SurveillanceSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proximity Surveillance System

ECE 4180 Final Project Spring 2024
Project Members: Nihit Agarwal, Shriyanshu Kode, Nidhish Shanmugasundaram, Mark Jang

Table of Contents

Overview

A security camera system that will use a Raspberry Pi 3 and an mbed to send video data to an online server when an object is within a certain distance of the system. A speaker will also sound an alarm when this occurs. We will use the sonar sensor to determine the proximity of the object/person to the system. Finally, we will use a capacitive sensor that when a specific code is entered, the system will be overridden to reset.

Digrams

Schematic Diagram

Block Diagram

Parts List

Setup

Mbed and Components

  • Setup all the components as shown in the schematic.

Raspberry Pi

  • OS Setup
  • Setup Camera
    sudo raspi-config
    • Navigate to the I2C section and enable it.
  • Installations
    • Install dlib, cv2, and face_recognition libraries with pip.
pip install dlib
pip install cv2
pip install face_recognition

Instructions

How to start the project on Keil Studio

  1. Download the zip file (make sure to extract them)
  2. Log into Keil Studio
  3. Drag and drop the file

Writing software to run on the Pi

  1. Start the Raspberry Pi 3. Create two python scripts with the code provided in the files face_recog.py and stream_server.py.
  2. Upload an image of the person the system needs to recognize as a verified user to the Raspberry Pi using the file transfer feature iin VNC viewer.
  3. Follow the example code given in image_processing.py to process the image and store its encoding as pickled file.
  4. Make changes to stream_server.py to load the pickled data containing encodings of the verified person's image.
  5. A shortcut can be created on the iPhone to run the shell script on the pi. Go to the shortcuts app on iPhone and create a new shortcut. Inside it add an action of "Run script over SSH". Fill in the details of the pi's host, user and password. Type in the following in teh script region:
cd Desktop
python3 stream_server.py
  1. The code on the pi can be run remotely if it is switched on and the iPhone and the pi are on the same local network. Alternatively, a global IP can be obtained for the pi to have remote global access.

Running the system

  1. Once the Mbed and the pi are connected via USB serial, and the pi is run using the shortcut, the video streaming web page can be accessed. Go to the webpage <IP address of pi>:8000 and you should be able to see the video feed.
  2. Watch the demo video below for a more detailed undestanding of what the surveillance system is capable of doing.

Demo Video

Youtube Video for Demo

About

ECE 4180 Final Project Spring 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •