ESP32 + IoT: สร้างระบบประตูอัจฉริยะตรวจจับการบุกรุก

ความปลอดภัยในบ้านคือเรื่องสำคัญอันดับต้นๆ ของทุกคนครับ ลองจินตนาการดูว่า ถ้าคุณไม่อยู่บ้านแล้วมีคนพยายามงัดประตู หรือแอบเข้ามาในห้อง แม้แต่ระบบล็อกประตูแบบเดิมๆ ก็ไม่สามารถแจ้งเตือนคุณได้แบบเรียลไทม์ (ต่อให้มีกล้อง CCTV กว่าจะรู้ตัวของก็อาจจะหายไปแล้ว)

วันนี้เราจะมาแก้ปัญหานี้ด้วยการสร้าง Smart Door Security System ระบบรักษาความปลอดภัยประตูอัจฉริยะผ่าน IoT! ระบบนี้จะคอยตรวจจับการเปิดประตูและการเคลื่อนไหวแบบเรียลไทม์ พร้อมส่งเสียงไซเรนเตือนภัย และส่งแจ้งเตือนเข้ามือถือคุณผ่าน Wi-Fi ทันทีที่มีผู้บุกรุกครับ

Smart Door Security System Overview

ระบบนี้ทำอะไรได้บ้าง? (System Overview)

  • เฝ้าระวังประตู: ใช้เซนเซอร์แม่เหล็ก (Magnetic Sensor) ตรวจจับว่าประตูเปิดหรือปิดอยู่
  • ตรวจจับการเคลื่อนไหว: ใช้เซนเซอร์ PIR ตรวจจับคนเดินผ่านหน้าประตู
  • ส่งเสียงเตือน: มี Buzzer ร้องเตือนผู้บุกรุกให้ตกใจ
  • แจ้งเตือนผ่าน Wi-Fi: ส่งข้อมูลแบบเรียลไทม์เข้ามือถือคุณได้ทันที
  • เก็บบันทึกข้อมูล: สามารถขยายผลไปทำเป็นระบบบันทึกเวลาเข้า-ออกได้

อุปกรณ์ที่ต้องใช้ (Required Hardware)

1. บอร์ด ESP32 (สมองกลหลัก)

รับหน้าที่เป็นพระเอกคอยควบคุมอุปกรณ์ทั้งหมดและเชื่อมต่อสัญญาณ Wi-Fi ครับ

ESP32 Board
ดูผังขา Pinout ของ ESP32 (View More)
ESP32 Pinout

2. เซนเซอร์แม่เหล็กติดประตู (Magnetic Door Sensor)

เอาไว้ติดที่ขอบประตู ถ้าประตูเปิดออก แม่เหล็กจะแยกจากกันและส่งสัญญาณบอกบอร์ด

Magnetic Sensor
ดูรูปภาพและการทำงานเพิ่มเติม (View More)
Sensor detail 1
Sensor detail 2
Sensor detail 3

3. เซนเซอร์จับความเคลื่อนไหว (PIR Motion Sensor)

ตรวจจับรังสีความร้อนจากร่างกายมนุษย์ ใครเดินผ่านหน้าประตูระบบจะรู้ทันที!

PIR Sensor
ดูรูปภาพและการทำงานเพิ่มเติม (View More)
PIR detail 1
PIR detail 2
PIR detail 3

4. ลำโพง Buzzer & อะแดปเตอร์จ่ายไฟ 5V

Buzzer ทำหน้าที่เป็นสัญญาณกันขโมยเฉพาะจุด ส่วน Power Supply ใช้สำหรับจ่ายไฟเลี้ยงให้ระบบทำงานได้อย่างเสถียร

Buzzer Module
ดูรูปอุปกรณ์ Buzzer และ Power Supply เพิ่มเติม (View More)
Buzzer 1
Buzzer 2
Power Supply

วิธีการต่อวงจร (Circuit & Wiring)

  • Magnetic Sensor: สายเส้นนึงต่อเข้าพิน GPIO 4 / อีกเส้นต่อลง GND
  • PIR Sensor: ขา VCC ต่อไฟ 5V / ขา GND ต่อลง GND / ขา OUT ต่อพิน GPIO 5
  • Buzzer: ขาสัญญาณต่อเข้าพิน GPIO 18

หลักการทำงาน (Working Logic):

เมื่อประตูยังปิดอยู่ ระบบจะอยู่ในสถานะปกติ แต่ถ้าประตูถูกเปิดออก หรือเซนเซอร์ PIR จับความเคลื่อนไหวได้ ระบบจะถือว่ามีการบุกรุก (Intrusion) บอร์ดจะสั่งให้ Buzzer ร้องเตือนเสียงดัง และส่งข้อความแจ้งเตือนผ่าน Wi-Fi (MQTT Protocol) ทันที

Circuit Diagram
คลิกเพื่อดูรูปตัวอย่างการติดตั้ง (View More)
Installation Example

ลงมือเขียนโค้ด (ESP32 Code)

โค้ดสำหรับโปรเจกต์นี้เขียนด้วยภาษา C/C++ บน Arduino IDE โดยใช้ไลบรารี PubSubClient เพื่อทำระบบแจ้งเตือนผ่าน MQTT Server (ในตัวอย่างใช้เซิร์ฟเวอร์ฟรีของ hivemq.com) ลองคัดลอกโค้ดด้านล่างไปแก้ไขชื่อ Wi-Fi ของตัวเองแล้วอัปโหลดลงบอร์ดได้เลยครับ!

คลิกเพื่อดูและคัดลอกซอร์สโค้ดฉบับเต็ม (View More)
#include <WiFi.h>
#include <PubSubClient.h>

// ----------------------
// Pin Configuration
// ----------------------
#define DOOR_SENSOR 4     // Magnetic reed switch
#define PIR_SENSOR 5      // Motion sensor
#define BUZZER 18         // Alarm buzzer

// ----------------------
// WiFi Credentials
// ----------------------
const char* ssid = "YOUR_WIFI_NAME";
const char* password = "YOUR_WIFI_PASSWORD";

// ----------------------
// MQTT Configuration
// ----------------------
const char* mqtt_server = "broker.hivemq.com";
const char* topic_alert = "smartdoor/alert";

WiFiClient espClient;
PubSubClient client(espClient);

bool lastDoorState = HIGH;
bool alarmTriggered = false;

void setup_wifi() {
  Serial.println("Connecting to WiFi...");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi Connected");
}

void reconnect() {
  while (!client.connected()) {
    Serial.println("Connecting to MQTT...");
    if (client.connect("SmartDoorClient")) {
      Serial.println("MQTT Connected");
    } else {
      delay(2000);
    }
  }
}

void setup() {
  Serial.begin(115200);
  pinMode(DOOR_SENSOR, INPUT_PULLUP);
  pinMode(PIR_SENSOR, INPUT);
  pinMode(BUZZER, OUTPUT);
  digitalWrite(BUZZER, LOW);

  setup_wifi();
  client.setServer(mqtt_server, 1883);
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  bool doorState = digitalRead(DOOR_SENSOR);
  bool motionState = digitalRead(PIR_SENSOR);

  // Door Open Detection
  if (doorState == LOW && lastDoorState == HIGH) {
    Serial.println("🚪 Door Opened!");
    client.publish(topic_alert, "Door Opened");
    digitalWrite(BUZZER, HIGH);
    alarmTriggered = true;
  }

  // Motion Detection
  if (motionState == HIGH) {
    Serial.println("🚨 Motion Detected!");
    client.publish(topic_alert, "Motion Detected");
    digitalWrite(BUZZER, HIGH);
    alarmTriggered = true;
  }

  // Reset Alarm after 5 seconds
  if (alarmTriggered) {
    delay(5000);
    digitalWrite(BUZZER, LOW);
    alarmTriggered = false;
  }

  lastDoorState = doorState;
  delay(500);
}

สรุป: การสร้างระบบ Smart Door Security ด้วย ESP32 เป็นโปรเจกต์ IoT ที่คุ้มค่าและนำไปใช้งานได้จริง ไม่ว่าจะเป็นบ้าน ร้านค้า ออฟฟิศ หรือโกดังเก็บสินค้า ก็สามารถนำระบบนี้ไปปกป้องทรัพย์สินของคุณให้ปลอดภัยแบบ 24/7 ได้เลยครับ!


คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา

อ้างอิงและเรียบเรียงโดย: Globalbyteshop Blog

แหล่งที่มาหลัก: Hackster.io: IoT Based Smart Door Security System (by techgyanset)

แท็ก


Blog posts

© 2026 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี