The Anti-Theft Password-Based Ignition System is a security project that prevents unauthorized vehicle ignition using Face Recognition and Password Authentication. This system integrates a Raspberry Pi and a Laptop to provide a secure and automated authentication mechanism before allowing ignition.
- Face Recognition for authorized users.
- Password Authentication as a backup method.
- Emergency Shutdown option for quick system disable.
- Relay Control to start or stop vehicle ignition.
- User-friendly Interface using Python and Flask.
- Update Raspberry Pi OS:
sudo apt update && sudo apt upgrade
- Install Python 3 and pip:
sudo apt install python3 python3-pip
- Install required Python libraries:
pip3 install RPi.GPIO requests
- Install Python 3 (Ensure it's added to the PATH during installation).
- Install pip:
python -m ensurepip --upgrade
- Install OpenCV and Flask dependencies:
pip install opencv-python flask
- Create a directory for the project:
mkdir AntiTheftIgnitionSystem && cd AntiTheftIgnitionSystem
- Place
pi_main.py
inside this directory.
- Create a directory for the project:
mkdir AntiTheftIgnitionSystem && cd AntiTheftIgnitionSystem
- Place
app.py
andauthorized_face.jpg
in this directory. - Update
laptop.py
to loadauthorized_face.jpg
for face recognition.
- Open a terminal or command prompt in the project directory.
- Run the following command:
python app.py
- Note the IP address and port (default:
http://0.0.0.0:5000
). - Ensure that the Laptop and Raspberry Pi are on the same network.
- Open a terminal in the Raspberry Pi project directory.
- Run the script:
python3 pi_main.py
- The system will initialize and wait for input from the switches.
- Press Switch 2 on the Raspberry Pi to trigger Face Recognition:
- If the face matches
authorized_face.jpg
, the relay activates ignition. - If the face does not match, the system prompts for a password.
- If the face matches
- Press Switch 3 to reset the system state.
- Press Switch 4 for emergency shutdown (with confirmation).
- Ensure that
SERVER_URL
inpi_main.py
is updated with the laptop's IP address and port. - The
authorized_face.jpg
should be clear and properly visible for recognition. - If there are issues with dependencies, verify that Python and pip are correctly installed on both devices.
- Keep the Raspberry Pi powered with a reliable power source to avoid interruptions.
AntiTheftIgnitionSystem/
│-- app.py # Flask server running on Laptop
│-- pi_main.py # Main script running on Raspberry Pi
│-- laptop.py # Handles face recognition
│-- authorized_face.jpg # Image for face recognition
│-- README.md # Project documentation
- Suman Naidu R
This project is licensed under the MIT License. You are free to modify and distribute it with proper attribution.