Facial recognition access control system with ESP32 hardware, AWS cloud services, and real-time web dashboard.
- Facial Recognition: AWS Rekognition identity verification
- Two-Factor Authentication: SMS verification via Supabase Auth & Twilio
- IoT Hardware: ESP32 camera capture and servo door lock
- Real-time Dashboard: Vue.js web interface with live monitoring
- Cloud Backend: Supabase database with edge functions
ESP32-Camera
↓
Supabase Edge Functions
↓
AWS Lambda (Face Recognition)
↓
Database Lookup + SMS Sent
↓
User Receives 2FA Code
↓
Vue.js Dashboard (User enters code)
↓
Socket Server (2FA Verification)
↓
ESP32-Lock (Door opens)
iot_project/
├── hardware/
│ └── esp32-firmware/ # ESP32 camera and door control
├── backend/
│ ├── aws-lambda/ # AWS facial recognition functions
│ ├── supabase/ # Database and edge functions
│ └── socket-server/ # Real-time communication
└── frontend/
└── web-dashboard/ # Vue.js admin interface
- Hardware: ESP32-CAM, Servo Motor
- Recognition: AWS Lambda, AWS Rekognition
- Database: Supabase (PostgreSQL)
- 2FA/SMS: Supabase Auth OTP, Twilio
- Frontend: Vue.js 3, TailwindCSS
- Real-time: Socket.IO
# Install libraries: ArduinoHttpClient, MyBase64, esp32-camera
# Update WiFi credentials in hardware/esp32-firmware/iotproject.ino
# Upload to ESP32-CAM# Supabase
cd backend/supabase && supabase start
# Socket Server
cd backend/socket-server && npm install && node index.js
# Deploy AWS Lambda functions from backend/aws-lambda/cd frontend/web-dashboard
npm install && npm run dev