https://github.com/alexespejo/project-argus-frontend
Argus is a facial recognition camera and smart door lock accompanied by a dedicated web application. Combining my knowledge of IOT and web development.
It is not an uncommon mistake to forget or misplace a key whether it be your dorm, house or car. Forgetting such a small yet essential object can be an inconvenience and a hastle. Argus provides a multifacited security and convient solution to an issue that plagues millions. Forgetfullness...
The camera itself would be a Raspberry PI and Camera Module mounted by the door. The camera will act as a running video stream till a person's face is presented in front of the camera. The camera will identify the person by their name or "unkown" and store that data to the database. If the person is not "unkown" they will be sent a phone notifcation on their app that will verify their access to the door and if they confirm the door will unlock.
The web app would offer additional insight to Argus' view. A Ring inspired design will allow the user to view the live video stream from the camera(s). The app would present a collection of time series data of every instance a person is at the door and/or opens the door. The user will be able to customize aspects of the camera itself, such as time intervals in between scanning (in the instance there are multiple people approaching the door).
The app will also allow admin users to grant people access to the smart door allocate app privelleges to specific users. As well as delete and update users as the admin sees fit.
To build out the camera I used the Python OpenCV and face recognition libraries along side a Raspberry PI and the Raspberry PI Camera V2.
!currently The web application is being built using vanilla HTML but I soon hope to implement React/React Native into the final project
The camera and web app backends are built with Flask and Firebase using the Firestore as the main database
IOT: Raspberry PI, Raspberry PI Camera V2, Python, Flask, OpenCV
Frontend: HTML, CSS, JavaScript, SCSS
BACKEND Flask: Used to build out a web server that stores the REST APIs for the camera and app to communicate with the database
Firebase (Cloud Firestore) Nonrelational real time databased that stores the user and camera data
The baseline demo functionality of the app is near completion in vanilla HTML, CSS, and JavaScript but will be soon migrated to React and Boostrap for a more concise and better development experience for adding more features.
The facial recognition software on a Raspberry PI and camera has been tested for proof of feasibility, but has yet to be properly implemented and tested.
All testing and development of both the app and the camera is being preformed on my own person operating system
-Plan to fully create the app in React.js
-Improve face recogntion software with machine learning tools like Tensorflow or pyTorch
-Bring in D3 for presenting analytics to the app
-Implement Firebase Cloud Functions to the backend code