Table of Contents:
This project presents a design and prototype implementation of a home automation system that introduces possible solutions whereby the user can secure, monitor, and control his/her house from anywhere through his/her smartphone.
This system is mainly split into two parts:
- Home Security
- Home Control
This part of the project aims to introduce an AI-based authentication system to decide who is entitled to enter the house and who is not.
- Arduino Uno Board x1
- Ultrasonic Sensor HC-SR04 x1
- 12V Solenoid x1
- Relay 5V x1
- 12V Energy Source x1
QR code recognition | Face Recognition |
The whole security system is based mainly on two parts:
- Python script (running on a machine / embedded system)
- Arduino Uno Board
Python Script: running on a computer, it’s responsible for image recognition process and database interactions.
Arduino Uno Board: responsible for sensing people in front of the door, opening the door, and closing the door when needed.
(!) All interactions between the The machine running the Python script and the Arduino Uno board are made through serial communication (By default utilize port COM3).
This part of the project aims to introduce a simple and smooth solution whereby the homeowner can monitor and control his/her home from anywhere and anytime through his/her smartphone.
- NodeMCU x3
- LED x2
- 1 way 5V Relay x2
- SG90 Servo Motor x2
- DHT11 Sensor x2
- React Native & Redux
- ThingSpeak REST API
- Firebase
- Authentication
- Firestore
- Control lights & windows of different rooms
- Temperature & Humidity Check
- Control users new users and give entry privilege (Admin only)
Admin (House Member with extra permissions) | House Member | QR code holds a unique serial number (unique for each user) |
Lamps Sketch : ./control/microcontrollers/lamps/lamps.ino |
- Clone the project
git clone https://github.com/bennaaym/home-automation-system.git
-
Set up the circuit base on the given schema & sketch
-
Install Python dependencies
pip install -r security/requirements.txt
-
Upload the sketch to the Arduino Uno board & turn on the circuit
-
Run the python Script
python -m security.__main__
- Install dependencies
npm install
- Run the app android
npx react-native run-android
ios
npx react-native run-ios
- Create a firebase project
- Update security/database (Add your own : serviceAccountKey.json)
- Update control/react-native-app/src/firebase/firebase.js
Distributed under the MIT License. See LICENSE
for more information.