ESP32 + SEN0677 ทำ Palm Vein Door Lock ตรวจเส้นเลือดแบบ Offline

GlobalByte / ESP32 / Biometrics / Sensor / Access Control

สร้าง Palm Vein Door Lock ด้วย ESP32 ตรวจเส้นเลือดฝ่ามือแบบ Offline

Biometric Lock ไม่จำเป็นต้องดูแค่ลายนิ้วมือหรือใบหน้า โปรเจกต์นี้ใช้ Near-Infrared มอง Pattern ของเส้นเลือดภายในฝ่ามือ แล้วให้ Sensor ประมวลผล Recognition แบบ Offline ก่อนส่งผลให้ ESP32 ควบคุม Door Lock

techiesms สร้างระบบนี้รอบ DFRobot AI10 / SEN0677, ESP32, OLED, Relay และ 12V Solenoid Lock พร้อม Local Web Dashboard สำหรับจัดการ User และ Enrollment โดยไม่จำเป็นต้องส่ง Biometric Template ไปประมวลผลบน Cloud

สิ่งที่น่าสนใจไม่ได้มีแค่ Palm Recognition แต่ยังรวมถึง Power Management, Inductive Load Protection, Admin Authorization, Custom PCB, Fail-secure Logic และการแยกหน้าที่ระหว่าง Sensor กับ ESP32

Palm Vein Biometric Door Lock พร้อมเซนเซอร์ OLED และกล่องควบคุม
Secure Palm Vein Biometric Door Lock ของ techiesms ใช้ Sensor ตรวจเส้นเลือดฝ่ามือร่วมกับ ESP32 และ Solenoid Lock
Key Takeaways
  • ใช้ DFRobot AI10 / SEN0677 สำหรับ Palm Vein Recognition
  • Sensor ทำ Biometric Matching แบบ Offline ภายใน Module
  • ESP32 รับผลจาก Sensor ผ่าน UART
  • Project ใช้ Palm เป็น Credential สำหรับ Unlock
  • OLED ใช้แสดง Prompt และสถานะการเข้าถึง
  • Solenoid Lock ใช้ 12V และถูกควบคุมผ่าน Relay
  • มี Local Web Dashboard สำหรับ Enrollment และ User Management
  • Enrollment หลังจากตั้ง Admin แล้วต้องได้รับ Admin Palm Authorization
  • Pinout ใน Instructables กับ Current GitHub Firmware ต่างกันบางจุด
  • Project มี Firmware, Schematic และ Gerber ให้ดาวน์โหลด

Palm Vein Door Lock คืออะไร?

Biometric System ทั่วไปมักอาศัย Feature ที่มองเห็นจากภายนอก เช่นลายนิ้วมือหรือใบหน้า แต่ Palm Vein Recognition มอง Pattern ของเส้นเลือดที่อยู่ใต้ผิวหนัง

ใน Project นี้ Sensor จะทำหน้าที่ตรวจและเปรียบเทียบ Biometric Template จากนั้น ESP32 รับผล Recognition แล้วจึงตัดสินใจว่าจะสั่ง Relay เพื่อปลด 12V Solenoid Lock หรือไม่

ไม่ได้หมายความว่า “Hack ไม่ได้”

Video ใช้ชื่อว่า “Impossible to Hack” แต่บทความนี้จะไม่ใช้คำดังกล่าวเป็น Technical Claim เพราะ Security ของระบบจริงยังขึ้นกับ Firmware, Network, Enrollment, Wiring, Physical Tamper และ Credential Management ด้วย

Palm Vein Recognition ทำงานอย่างไร?

หลักการ Palm Vein Recognition ด้วยแสง Near Infrared
Palm Vein Recognition ใช้ Near-Infrared เพื่อสร้าง Contrast ของโครงสร้างเส้นเลือดใต้ผิวฝ่ามือ
Near-Infrared Light
Sensor ปล่อยแสง NIR ไปยังฝ่ามือ
Vein Contrast
เส้นเลือดสร้างลักษณะการดูดกลืนแสงที่แตกต่างจากเนื้อเยื่อรอบข้าง
Camera Capture
กล้อง Infrared จับ Pattern ที่เกิดขึ้น
Template Matching
Sensor เปรียบเทียบ Pattern กับข้อมูลที่ลงทะเบียนไว้ภายใน Module

ข้อได้เปรียบเชิง Concept คือ Credential ที่ใช้ไม่ได้อยู่บนพื้นผิวแบบเดียวกับลายนิ้วมือ และ Sensor รุ่นนี้มีระบบ Liveness Detection รวมอยู่ใน Recognition Pipeline

ภาพอธิบายการสแกนเส้นเลือดฝ่ามือด้วย Infrared Sensor
ภาพประกอบเพิ่มเติมของขั้นตอนตรวจ Palm Vein จาก Source ต้นฉบับ
Palm Vein Pattern ที่ใช้ในระบบ Biometric Recognition
Pattern ของเส้นเลือดเป็นข้อมูลที่ Sensor ใช้ในกระบวนการ Recognition

DFRobot SEN0677 ทำอะไรในระบบ?

DFRobot AI10 / SEN0677 เป็น Offline AI Binocular 3D Vision Recognition Sensor ที่รองรับหลาย Recognition Mode รวมถึง Face, Palm Vein และ QR

แต่ Current Firmware ของ Palm Lock เลือกใช้ Palm Recognition เท่านั้นสำหรับ Authorization เปิดประตู ส่วน Face หรือ QR Match ไม่ได้ถูกนำมาใช้เป็นเงื่อนไข Unlock

หัวข้อ ข้อมูลที่ยืนยันได้
Recognition Face / Palm Vein / QR ตามความสามารถของ SEN0677
Door Unlock ใน Project Palm เท่านั้นตาม Current Firmware
Processing Offline ภายใน Sensor
Interface UART
UART Baud 115200
Official Supply Range 5–12V
Palm Vein Capacity สูงสุด 1,000 Profiles ตาม Official Sensor Specification
Sensor ไม่ควรรับไฟจาก ESP32 3.3V Pin

Current GitHub ระบุว่า Sensor ต้องใช้ Power Feed ของตัวเอง และไม่ควรพยายามจ่ายจากขา 3.3V ของ ESP32 ใน Build ต้นฉบับ Sensor ถูกจ่ายจาก 5V Rail

Architecture: Sensor → ESP32 → Relay → Solenoid

Palm
↓
DFRobot SEN0677
↓
Offline Recognition
↓
UART
↓
ESP32
↓
Relay Driver
↓
12V Solenoid Lock

การแยกหน้าที่แบบนี้สำคัญ เพราะ ESP32 ไม่ได้ทำ Computer Vision หรือ Extract Vein Pattern เอง

Sensor เป็นฝ่ายจัดการ Biometric Recognition ส่วน ESP32 จัดการ Access-control Logic, OLED, Buttons, Relay, Wi-Fi Dashboard และ User-management Workflow

Biometric Processing กับ Door Logic เป็นคนละ Layer

Sensor ตอบว่า Recognition ได้ User คนไหน แต่สิทธิ์ Unlock, Admin Authorization, Blocked User และการควบคุมประตู เป็น Logic ที่ Firmware ฝั่ง ESP32 จัดการต่อ

Hardware หลักที่ใช้

อุปกรณ์หลักสำหรับสร้าง Palm Vein Door Lock
Hardware หลักประกอบด้วย Palm Vein Sensor, ESP32, OLED, Relay, Solenoid และวงจร Power Management
อุปกรณ์ หน้าที่
DFRobot AI10 / SEN0677 Palm Vein Recognition และ Offline Matching
ESP32-WROOM Main Access-control Controller
0.96" OLED 128×64 แสดง Prompt, Status และ User Feedback
12V Solenoid Lock กลไก Lock / Unlock ประตู
Optocoupled Relay แยก ESP32 ออกจากวงจรขับ Solenoid
Hi-Link HLK-20M12 สร้าง 12V DC จาก AC Input ใน Build ต้นฉบับ
LM2596 ลด 12V ลงเป็น 5V Rail
AMS1117-3.3 สร้าง 3.3V Rail
CH340C USB-to-UART สำหรับ Programming และ Serial Debug
Buzzer / Status LEDs Audio / Visual Feedback

Power Architecture: 12V / 5V / 3.3V

Main Source แบ่ง Power Rail ออกเป็นหลายระดับ เพื่อให้เหมาะกับ Load แต่ละประเภท

AC Input ใน Build ต้นฉบับ
↓
Hi-Link HLK-20M12
↓
12V DC
├── Solenoid Lock
└── LM2596 → 5V
    ├── Relay / Sensor Logic
    └── AMS1117 → 3.3V → ESP32 / OLED
ส่วน 220V AC เป็น Mains Voltage

บทความนี้อธิบาย Architecture ตาม Source เท่านั้น และไม่ได้ทำเป็น Tutorial เดินสาย Live / Neutral แบบ Step-by-Step ผู้ที่ไม่มีประสบการณ์กับงาน Mains ควรหลีกเลี่ยงการทำส่วนนี้เอง และใช้แนวทาง Power Input ที่ปลอดภัยและเหมาะสมกับ Hardware Revision ที่ใช้งาน

Source ระบุว่าบอร์ดมีแนวทางรับ Power ผ่าน 12V DC Rail ด้วย แต่ต้องตรวจ Schematic และ Revision จริง ก่อนนำไปใช้งาน

ทำไม Solenoid ไม่ควรต่อกับ ESP32 โดยตรง?

Circuit Schematic ของ Palm Vein Door Lock
Schematic แบ่งวงจรออกเป็น Power, ESP32, Palm Vein Sensor, Relay Driver และ User Interface

Solenoid เป็น Inductive Load และต้องการวงจร Driver แทนการต่อเข้ากับ GPIO โดยตรง

Build ต้นฉบับใช้:

  • EL817 Optocoupler
  • Relay
  • 1N4007 Flyback Diode
  • RC Snubber
  • 100Ω Resistor
  • 100nF High-voltage Capacitor

หน้าที่คือช่วยแยก Low-voltage Logic ออกจากวงจรขับ Load และลดผลจาก Inductive Transient ตอน Relay / Solenoid เปลี่ยนสถานะ

Pinout ใน Instructables กับ Current GitHub Firmware ไม่ตรงกันทั้งหมด

นี่คือ Caveat ที่สำคัญที่สุดของ Project เพราะ Source Article และ Current Firmware มี Pin Mapping ต่างกันบางส่วน

Function Instructables / Article Current GitHub New PCB
Sensor TX → ESP32 RX GPIO16 GPIO16
Sensor RX ← ESP32 TX GPIO17 GPIO17
OLED SDA GPIO21 GPIO21
OLED SCL GPIO22 GPIO22
Relay GPIO26 GPIO18
Buzzer GPIO27 GPIO19
Status LED GPIO2 Red GPIO25 / Green GPIO26
Exit Switch GPIO34 GPIO27
Enrollment Button GPIO25 GPIO33
Tamper GPIO35 GPIO32
Door Reed Switch Source Article ไม่ได้ระบุ GPIO4 แบบ Optional
เลือก Hardware Revision และ Firmware Revision ให้ตรงกัน

ห้ามหยิบ Schematic จาก Instructables แล้วใช้ Pin Constants จาก Current GitHub ปนกันโดยไม่ตรวจ เพราะ Relay, Buzzer, Buttons และ LEDs เปลี่ยน Pin หลายจุด

UART: Serial1 vs Serial2

Article อธิบาย UART ในชื่อ Hardware Serial 2 ขณะที่ Current GitHub Firmware สร้าง Sensor Object บน Serial1

จุดที่ยังตรงกันคือ Physical Pins 16 / 17 และ Baud Rate 115200 ดังนั้นควรยึด Firmware Revision กับ Wiring Revision เป็นชุดเดียวกัน

Current New PCB UART / I²C Pins
const uint8_t SENSOR_RX_PIN = 17;
const uint8_t SENSOR_TX_PIN = 16;
const uint8_t I2C_SDA       = 21;
const uint8_t I2C_SCL       = 22;

DFRobot_AI10_UART ai10(&Serial1, 115200, SENSOR_RX_PIN, SENSOR_TX_PIN);
Admin Requirement in Current Firmware
const bool REQUIRE_ADMIN_FOR_BUTTON_ENROLL = true;

Custom PCB และ Assembly

Custom PCB ของ Palm Vein Door Lock
Custom PCB ของ Project รวม Power Management, ESP32, Relay Driver และ Connector ไว้บนบอร์ดเดียว

ผู้สร้างออกแบบ PCB ด้วย KiCad และวาง Component หลักไว้ด้านบน เพื่อช่วยให้ขั้นตอน Solder Paste และ Reflow Assembly ทำงานง่ายขึ้น

หลัง Routing เสร็จ Gerber ถูก Export และ Source ระบุว่า PCB ถูกสั่งผลิตพร้อม Stencil สำหรับงาน Assembly

PCB Assembly ของ Palm Vein Door Lock
ภาพเพิ่มเติมของ Custom PCB และการประกอบ Component
Palm Lock PCB ระหว่างขั้นตอน Assembly
PCB ถูกออกแบบให้รวมส่วน Control และ Power Management ไว้ในระบบเดียว
Palm Vein Door Lock PCB หลังประกอบ
ภาพ PCB เพิ่มเติมจากขั้น Custom PCB & Assembly

Upload Firmware ด้วย Arduino IDE

การ Upload Firmware Palm Vein Door Lock ผ่าน Arduino IDE
Source ใช้ Arduino IDE และ CH340 USB-to-UART สำหรับ Flash Firmware เข้า ESP32

Instructables Build ระบุ Environment หลักดังนี้:

รายการ ค่าที่ Source ระบุ
Board ESP32 Dev Module
Flash Size 4MB
Upload Speed 921600
Serial Monitor 115200 baud
OLED Libraries Adafruit_SSD1306 / Adafruit_GFX
Web / Network DNSServer, WebServer, WiFi

Article ระบุ ESP32 Core เวอร์ชัน 2.0.x หรือใหม่กว่า แต่ Current GitHub Code มีการปรับ Architecture เพิ่มเติมจาก Build ในบทความ ดังนั้นควรเปิด Current Repository ตรวจ Firmware และ Dependency ล่าสุดก่อน Compile

อย่าคัดลอก Pinout จาก Article ไปใช้กับ Current Code โดยไม่ตรวจ Revision

ก่อน Upload ควรยืนยันว่า PCB, ค่า BOARD_NEW_PCB และ Pin Constants ตรงกับ Hardware ที่ใช้งานจริง

Local Web Dashboard และ Security Caveat

Current Firmware มี Web Dashboard สำหรับจัดการระบบผ่าน Local Network โดยมี Function เช่น:

  • ดู Lock State และ Sensor Status
  • Enroll User ใหม่
  • Rename User
  • Block / Permit User
  • Delete User
  • Manual Unlock

Dashboard ใช้ HTTP Digest Authentication แต่ Page เองยังให้บริการผ่าน plain HTTP

เปลี่ยน Default Credentials ก่อน Deploy

Current Firmware ระบุไว้ชัดว่า Admin Username, Admin Password และ Fallback AP Password ต้องเปลี่ยนก่อนใช้งานจริง

Digest Authentication ช่วยป้องกัน Password ไม่ให้ส่งเป็น Plain Text โดยตรง แต่ Traffic ของหน้า Dashboard ยังไม่ใช่ HTTPS จึงควรใช้ใน Trusted Local Network

Current Firmware ยังรองรับ palmlock.local เมื่อ Network Environment รองรับ mDNS และมี Fallback Access Point เมื่อเชื่อม Wi-Fi ปกติไม่สำเร็จ

Admin Palm และ Enrollment Security

Web Dashboard สำหรับ Enroll User ใน Palm Vein Door Lock
User ใหม่สามารถเริ่ม Enrollment ผ่าน Web Dashboard แต่ต้องได้รับ Admin Palm Authorization ตาม Workflow ของระบบ

Bootstrap: Palm แรกกลายเป็น Admin

ถ้า Sensor ยังไม่มี User Enrollment แรกสามารถเกิดขึ้นได้ โดยไม่ต้องมี Admin เดิม เพราะ User แรกจะถูกตั้งเป็น Admin ของระบบ

Sensor ไม่มี User
↓
Enroll Palm แรก
↓
Palm แรก = Admin
↓
Enrollment ครั้งต่อไป
↓
Admin Palm Authorization
↓
Scan New Palm

หลังมี Admin แล้ว Current README และ Current Firmware Logic กำหนดให้ Enrollment ใหม่ ต้องได้รับ Admin Palm Authorization ไม่ว่าจะเริ่มจาก Web Dashboard หรือ Registration Button

Documentation ใน Repository มีข้อความเก่าบางจุด

Serial Help Text บางบรรทัด ยังมีคำอธิบายเก่าที่อาจทำให้เข้าใจว่า Button Enrollment ไม่ต้องใช้ Admin แต่ Current Logic ตั้ง Admin Requirement เป็น true จึงควรยึด Current Firmware Logic และ README รุ่นล่าสุด

หน้าจอ Enrollment Mode ของ Palm Vein Door Lock
Enrollment Workflow ใช้ OLED เป็นตัวแจ้งขั้นตอนให้ผู้ใช้
การ Scan Admin Palm เพื่ออนุมัติ Enrollment
ก่อนเพิ่ม User ใหม่ ระบบต้องตรวจ Palm ของ Admin ตาม Security Workflow

Installation และระยะวางฝ่ามือ

Source ต้นฉบับติด Sensor บริเวณด้านนอกของประตู พร้อม OLED เพื่อให้ผู้ใช้เห็น Prompt เช่น Scan Palm, Access Granted หรือ Access Denied

Control PCB, Relay และ Power Circuit อยู่ด้านใน ขณะที่ Sensor และ Display เชื่อมกลับเข้ามาที่ Main Board

Scan Distance มีข้อมูลต่างกันระหว่าง Source

Source ระยะที่ระบุ
Instructables Demo ประมาณ 5–10 cm
DFRobot SEN0677 Documentation ประมาณ 15 cm สำหรับ Palm Vein Recognition
ควรยึด Official Sensor Guidance และทดสอบ Installation จริง

ระยะที่เหมาะสมอาจขึ้นกับ Sensor Position, Mounting Angle, Lighting และ Firmware / Sensor Behavior จึงไม่ควรถือว่าตัวเลขจาก Demo เป็นค่าตายตัวสำหรับทุก Installation

Testing: Registered Palm, Unknown Palm และ Exit Switch

การทดสอบ Palm Vein Door Lock หลังติดตั้ง
Final Testing ตรวจทั้ง Registered Palm, Unknown Palm และ Physical Exit Switch

Registered Palm

เมื่อ Palm ที่ลงทะเบียนไว้ถูกตรวจพบ Source รายงานว่า ESP32 สั่ง Relay เพื่อ Unlock Solenoid และ OLED แสดงชื่อ User

ผู้สร้างรายงานผลใน Demo ว่า Recognition และ Unlock เกิดขึ้นภายในต่ำกว่า 0.5 วินาที แต่ควรมองเป็น Project-reported Test Result ไม่ใช่ Guaranteed Performance ของทุก Installation

Unknown Palm

ถ้า Sensor ไม่พบ Matching Template ระบบจะแสดง Access Denied และไม่ Trigger Relay

Auto-lock

Build ต้นฉบับตั้ง Timeout ประมาณ 5 วินาที ก่อนคืน Lock State

Exit Switch

Physical Exit Switch ใช้สำหรับออกจากด้านใน โดยไม่ต้อง Scan Palm

Current GitHub เพิ่ม Fail-secure Logic

Current Firmware ตั้ง Relay Pin ให้อยู่ใน Locked State ก่อน Initialize Component อื่น และถ้า Sensor Fault Logic หลักจะไม่ปล่อยประตูโดยอัตโนมัติ

Fail-secure ไม่เท่ากับ Emergency Egress Certification

Source ไม่ได้ระบุว่า Project ผ่าน Fire Code, Building Code, Emergency Egress Standard หรือ Access-control Certification ใด การนำไปใช้กับพื้นที่จริง ต้องพิจารณาข้อกำหนดด้าน Safety และการออกจากอาคารแยกต่างหาก

การ Scan ฝ่ามือกับ Palm Vein Sensor
ภาพการทดสอบ Palm Recognition จาก Project ต้นฉบับ
OLED แสดงผลระหว่างทดสอบ Palm Vein Door Lock
OLED ใช้แสดง Feedback ระหว่าง Recognition และ Access-control Workflow

ดู Full Build Video

วิดีโอนี้เป็น Build Video ที่ผู้ใช้ส่งมา และตรงกับ Video ที่ Official GitHub ของ Project อ้างถึง

ชื่อ Video ไม่ใช่ Security Guarantee

คำว่า “Impossible to Hack” เป็นชื่อวิดีโอ ไม่ควรตีความว่าเป็นผลการรับรองว่า ระบบไม่สามารถถูกโจมตีได้

Firmware, Schematic และ Gerber Files

โปรเจกต์นี้มีหลายขั้น แนะนำอ่านต้นฉบับควบคู่กัน โดยเฉพาะก่อนเลือก PCB Revision, Flash Firmware หรือสั่งผลิตบอร์ด

Official GitHub Repository

รวม Current Firmware, README และ PCB Resources

เปิด Official GitHub Repository

Firmware — Code.ino

Current ESP32 Firmware ของ Project

เปิด Firmware Source Code

Palm Lock Schematic

PDF Schematic ของ Custom PCB

เปิด Palm Lock Schematic PDF

Gerber Package

Gerber ZIP สำหรับ PCB ของ Project

ดาวน์โหลด Palm Lock Gerber ZIP

Instructables Tutorial

Build Guide พร้อมภาพ Assembly และ Installation

อ่าน Tutorial ฉบับเต็มจาก Instructables

DFRobot SEN0677 Documentation

Official Documentation สำหรับ Sensor

อ่าน DFRobot SEN0677 Documentation

สิ่งที่ Maker เรียนรู้จาก Project นี้

Biometric Architecture

ไม่จำเป็นต้องให้ ESP32 ทำ Computer Vision เอง Sensor เฉพาะทางสามารถรับผิดชอบ Recognition แล้วส่งผลให้ MCU จัดการ Access Logic ต่อ

Security ไม่ได้มีแค่ Sensor

Admin Authorization, Default Password, Local Network, Tamper และ Fail-secure Logic ล้วนมีผลกับ Security ของระบบ

Revision Control สำคัญ

PCB กับ Firmware ต้องเป็น Revision ที่ตรงกัน เพราะ Pin Mapping สามารถเปลี่ยนได้ระหว่างเวอร์ชัน

Inductive Load Protection

Solenoid ไม่ใช่ Load ที่ควรให้ ESP32 ขับตรง และต้องพิจารณา Isolation กับ Transient Protection

FAQ — Palm Vein Door Lock กับ ESP32

1. Palm Vein Door Lock ใช้อะไรเป็นข้อมูลยืนยันตัวตน?

ใช้ Pattern ของเส้นเลือดภายในฝ่ามือที่ Sensor ตรวจด้วย Near-Infrared

2. Sensor รุ่นอะไร?

Project ใช้ DFRobot AI10 / SEN0677 Offline AI Binocular 3D Vision Recognition Sensor

3. ระบบต้องใช้ Cloud เพื่อ Recognition หรือไม่?

ไม่ Biometric Matching ทำภายใน Sensor แบบ Offline

4. Sensor รองรับ Face และ QR ด้วยหรือไม่?

รองรับตาม Official Sensor Specification แต่ Current Palm Lock Firmware ใช้ Palm เป็น Credential สำหรับ Unlock

5. Palm Vein Sensor ติดต่อ ESP32 อย่างไร?

ผ่าน UART ที่ 115200 baud

6. Sensor TX/RX ใช้ Pin ไหน?

Physical Wiring ที่ทั้ง Article และ Current New-PCB Firmware ตรงกันคือ Sensor TX → GPIO16 และ Sensor RX ← GPIO17

7. Pinout ใน Instructables ใช้กับ Current GitHub Firmware ได้ตรง ๆ หรือไม่?

ไม่ Relay, Buzzer, LEDs, Buttons และ Tamper Pin มีความต่างกันบางจุด ต้องเลือก Hardware Revision และ Firmware Revision ให้ตรงกัน

8. Palm แรกที่ Enroll เป็นใคร?

ถ้า Sensor ว่าง User แรกจะกลายเป็น Admin ตาม Bootstrap Workflow

9. เพิ่ม User ใหม่ต้องใช้ Admin Palm หรือไม่?

ตาม Current Firmware Logic และ README หลังมี Admin แล้ว Enrollment ใหม่ต้องได้รับ Admin Palm Authorization

10. Sensor เก็บ Palm ได้กี่คน?

Official SEN0677 Specification ระบุ Palm Vein Profiles สูงสุด 1,000 รายการ

11. Current ESP32 Firmware จัดการ User ได้ 1,000 รายการเต็มหรือไม่?

Current Firmware กำหนด ESP32-side user list ไว้ 50 Records ดังนั้นความจุของ Sensor กับข้อจำกัดของ Firmware ฝั่ง Dashboard ไม่ใช่เรื่องเดียวกัน

12. ควรวางมือห่าง Sensor เท่าไร?

Instructables Demo ใช้ประมาณ 5–10 cm ขณะที่ Official DFRobot ระบุประมาณ 15 cm จึงควรทดสอบตาม Installation จริงและยึด Official Sensor Guidance เป็นหลัก

13. Unlock ใช้เวลาต่ำกว่า 0.5 วินาทีจริงหรือไม่?

ผู้สร้างรายงานค่าต่ำกว่า 0.5 วินาทีใน Demo แต่ Source ไม่ได้ระบุว่าเป็น Guaranteed Performance สำหรับทุก Installation

14. ระบบ Auto-lock หรือไม่?

Build ต้นฉบับใช้ Timeout ประมาณ 5 วินาทีก่อนคืน Lock State

15. Dashboard ใช้ HTTPS หรือไม่?

Current GitHub ระบุว่า Dashboard ใช้ HTTP Digest Authentication แต่ Page ยังให้บริการผ่าน Plain HTTP

16. ใช้ Default Password ต่อได้หรือไม่?

ไม่ Current Firmware ระบุให้เปลี่ยน Admin Credentials และ Fallback AP Password ก่อน Deploy

17. ถ้า Sensor เสีย ประตูจะเปิดเองหรือไม่?

Current GitHub Firmware ออกแบบ Fail-secure ให้ Lock อยู่ใน Locked State เมื่อ Sensor Fault แต่พฤติกรรมจริงยังขึ้นกับชนิด Lock และการต่อ Relay

18. Project นี้ผ่านมาตรฐาน Access Control หรือ Fire Safety หรือไม่?

Source ไม่ได้ระบุ Certification หรือ Compliance เหล่านี้

19. ใช้กับ 220V AC ได้หรือไม่?

Build ต้นฉบับมี AC-DC Power Section แต่เป็นงาน Mains Voltage และควรดำเนินการโดยผู้ที่มีความรู้ด้านไฟฟ้าอย่างเหมาะสม

20. มี Firmware, Schematic และ Gerber ให้ดาวน์โหลดหรือไม่?

มี Official GitHub Repository มี Code.ino, Palm Lock Schematic PDF และ Gerber ZIP

สรุป: Palm Vein Recognition เป็นแค่ครึ่งหนึ่งของ Door Lock ที่ดี

Project นี้น่าสนใจเพราะใช้ Palm Vein Recognition ที่ประมวลผลภายใน Sensor แทนการให้ ESP32 ทำ Computer Vision ด้วยตัวเอง

แต่เมื่อมองในฐานะ Access-control Project สิ่งที่สำคัญไม่แพ้ Biometric Sensor คือ Relay Protection, Power Architecture, Admin Enrollment, Credential Security, Hardware Revision, Fail-secure Logic และ Physical Exit

อีกบทเรียนที่ชัดมากคือ อย่าเชื่อว่า Pinout ของบทความเก่าและ Firmware ใหม่จะตรงกันเสมอ เพราะ Project นี้มีการเปลี่ยน Mapping หลายจุดใน Current GitHub Firmware

สำหรับ Maker จึงเป็น Project ที่ดีในการเรียนรู้ ทั้ง ESP32, UART, Biometric Sensor, OLED, Relay, Local Web Dashboard และการคิดเรื่อง Security ในระดับ System ไม่ใช่แค่ Component เดียว

References / แหล่งข้อมูลต้นฉบับ

กำลังทำ ESP32, Sensor หรือ Access-control Prototype?

Project แบบ Palm Vein Door Lock ต้องประสานทั้ง Development Board, Sensor, Display, Power, Relay และ Firmware ให้ทำงานร่วมกันอย่างถูกต้อง

หากกำลังพัฒนา ESP32, Arduino, Sensor, IoT หรือ Embedded Project สามารถสอบถามทีม GlobalByte เรื่องบอร์ด, Module หรืออุปกรณ์ที่เหมาะกับ Requirement ของงานได้

Disclaimer / ข้อควรทราบ

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

Project นี้เกี่ยวข้องกับ Access Control, Biometric Credential, Solenoid Lock, Relay และ Mains Power ควรใช้กับ Hardware, ประตู, Credential และระบบที่คุณเป็นเจ้าของหรือได้รับอนุญาตเท่านั้น

ชื่อวิดีโอมีคำว่า “Impossible to Hack” แต่บทความนี้ไม่ได้รับรองว่า System ปลอดภัยจากการโจมตีทุกรูปแบบ Security จริงยังขึ้นกับ Physical Installation, Firmware, Network, Credentials, Power, Tamper Protection และ Operational Procedure

Pinout ใน Instructables กับ Current GitHub Firmware ไม่ตรงกันบางส่วน โดยเฉพาะ Relay, Buzzer, LED, Exit Button, Enrollment Button และ Tamper Input ต้องตรวจ Hardware Revision และ Firmware Revision ก่อนต่อวงจร

Current Firmware ใช้ Local Web Dashboard ที่มี HTTP Digest Authentication แต่ Page ยังทำงานผ่าน Plain HTTP ควรเปลี่ยน Default Credentials และใช้บน Trusted Network ก่อนนำไป Deploy จริง

Build ต้นฉบับมี 220V AC Power Section ซึ่งเป็น Mains Voltage บทความนี้ไม่ได้สอนการต่อ Live / Neutral หรือกำหนด Fuse, Wire Gauge, Clearance และ Safety Standard เพิ่มเติมจาก Source

Source ไม่ได้ระบุว่า Project ผ่าน Fire Code, Emergency Egress Standard, Access-control Certification, Weatherproof Rating, IP Rating หรือมาตรฐานอาคารใด

Fail-secure Logic ไม่ได้หมายความว่า Installation จะเหมาะกับ Emergency Exit ทุกประเภท ชนิดของ Lock, Relay Contact และพฤติกรรมเมื่อไฟดับ ต้องได้รับการพิจารณาให้ตรงกับสถานที่ใช้งานจริง

ค่า Recognition ต่ำกว่า 0.5 วินาที เป็นผลที่ผู้สร้างรายงานใน Demo ไม่ใช่ Guaranteed Performance สำหรับ Sensor หรือ Installation ทุกชุด

DFRobot SEN0677 รองรับ Palm Vein Profiles ตาม Official Sensor Specification แต่ Current ESP32 Firmware มีข้อจำกัดการจัดการ User ฝั่ง Firmware ของตัวเอง จึงไม่ควรตีความ Capacity ของ Sensor กับ Capacity ของ Dashboard ว่าเป็นค่าเดียวกัน

 

แท็ก


Blog posts