กลับไปหน้ารวมไฟล์
esp32-keypad-database-security-system-b83601-en.md

In this project, I am going to show you how I created my ESP32 based doorlock mechanism using a keypad and a database to store my valid list of keycodes. The ESP32 board interfaces with a keypad, an I2C LCD display and my manual doorlock that is being controlled by my servo motor. It then connects to my Representation State Transfer API (REST) web service built using Node.js. The keycodes entered by the user thru my keypad is then validated to the list of my valid keypads stored in my MongoDB database.

The complete writeup with thorough design discussion and steps including code explanation is in my website

To see a demo of my project then have a look at this youtube video

EXPANDED TECHNICAL DETAILS

Cloud-Synchronized Access Hub

This professional-grade security system manages a large user database for office or laboratory entry.

  • Matrix Keypad Interface: Uses a 4x4 membrane keypad. The Arduino scans the rows and columns to capture a 4-to-6 digit PIN code.
  • Internal Database Management: Since it's powered by an ESP32, users can be added or removed through a remote web console. The ESP32 stores an encrypted list of authorized codes in its SPIFFS (File System) for offline access.

Multi-Factor Support

  • Dynamic Lockout: Features a "Security Lockout" algorithm; if an incorrect PIN is entered three times, the keypad is disabled for 5 minutes, and an instant alert notification is sent to the system administrator.

ข้อมูล Frontmatter ดั้งเดิม

title: "ESP32 Keypad Database Security System"
description: "I am going to show you how I created my ESP32 based doorlock mechanism using a keypad and a database to store my valid keycodes"
author: "donskytech"
category: ""
tags:
  - "keypad"
  - "arduino"
  - "database"
  - "mongodb"
  - "node.js"
  - "esp32"
views: 2500
likes: 1
price: 2450
difficulty: "Intermediate"
components:
  - "1x Alphanumeric LCD, 16 x 2"
  - "1x ESP32S"
  - "1x SG90 Micro-servo motor"
  - "1x Breadboard, 170 Pin"
  - "1x Arduino Nano R3"
  - "1x 4X4 Keypad"
tools: []
apps:
  - "1x PlatformIO IDE"
downloadableFiles:
  - "https://github.com/donskytech/nodejs-projects/tree/main/keypads-iot-rest-applications"
  - "https://github.com/donskytech/platformio-projects/tree/main/esp32-projects/esp32-keypad-db-iot"
  - "https://github.com/donskytech/nodejs-projects/tree/main/keypads-iot-rest-applications"
documentationLinks: []
passwordHash: "8f57f2f77758721209b8e79c46f4f60adaf6307b1f6a1b140959899897afee17"
encryptedPayload: "U2FsdGVkX1+r5iAhOusmVOtNKtDuixEv+LsDdG1SxENYjo3lsC2gwOiZdhBMSgxiP2CqHPrBO9EWjnF3qtFarrJg6/sRdxOo18laQ0hH4X0="
seoDescription: "Build an ESP32 Keypad Doorlock Security System with a Database for keycodes. Step-by-step guide for DIY smart lock projects."
videoLinks:
  - "https://www.youtube.com/embed/J6TPzymkEUA"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/esp32-keypad-database-security-system-b83601_cover.jpg"
lang: "en"