สร้างระบบลงชื่อเข้างานอัจฉริยะด้วย ESP32-CAM: ส่งภาพยืนยันผ่าน WhatsApp! / Line

ESP32-CAM Attendance System Main

ในโลกที่ทุกอย่างกำลังหมุนเข้าสู่ระบบดิจิทัล ไม่ว่าจะเป็นการจ่ายเงินหรือการเก็บเอกสาร แต่ทำไมระบบลงชื่อเข้าเรียนหรือเข้างานในหลายที่ยังเป็นแบบกระดาษอยู่? การขานชื่อทีละคนนั้นทั้งเสียเวลาและเสี่ยงต่อความผิดพลาดครับ

วันนี้เราจะมาทำโปรเจกต์ ระบบลงชื่อเข้างานอัตโนมัติด้วย ESP32-CAM ที่ทั้งใช้งานได้จริงและประหยัดงบ เหมาะสำหรับออฟฟิศขนาดเล็ก ศูนย์กวดวิชา หรือแม้แต่หอพักครับ ความเจ๋งคือมันสามารถถ่ายรูปผู้ลงชื่อ และส่งข้อความยืนยันพร้อมเวลาและรูปภาพเข้า WhatsApp ได้ทันทีผ่าน Wi-Fi โดยใช้ CircuitDigest Cloud API ครับ

เปรียบเทียบระบบ: ทำไมต้อง ESP32-CAM?

คุณสมบัติ ลงชื่อในสมุด ระบบ RFID ESP32-CAM
การยืนยันตัวตนด้วยภาพ ไม่มี ไม่มี มีภาพถ่ายทุกเหตุการณ์
แจ้งเตือนเรียลไทม์ ไม่มี จำกัด WhatsApp พร้อมรูปภาพ
ความแม่นยำของเวลา จดมือ (เสี่ยงพลาด) นาฬิการะบบ NTP (ตรงตามเวลาจริง)
ป้องกันการลงชื่อแทนกัน ไม่ได้ ไม่ได้ ได้ด้วยหลักฐานภาพถ่าย

อุปกรณ์ที่ต้องใช้ ⚙️

  • ESP32-CAM: ทำหน้าที่เป็นไมโครคอนโทรลเลอร์และกล้องถ่ายภาพ
  • Rotary Encoder: สำหรับหมุนเลือกรายชื่อและกดตกลง
  • OLED Display: แสดงผลเมนูและสถานะการทำงาน
  • Puff Board & Case: สำหรับประกอบวงจรและติดตั้งให้ดูสวยงาม

💡 Maker's Tip: หากบอร์ด ESP32-CAM ของคุณไม่มีพอร์ต USB ในตัว คุณจำเป็นต้องใช้ FTDI Adapter (USB-to-Serial) ในการอัปโหลดโค้ดนะครับ โดยต่อ TX -> RX, RX -> TX และอย่าลืมจั๊ม GPIO0 ลง Ground ก่อนเสียบสายเพื่อเข้าโหมด Flash ครับ!

สนใจช้อปอุปกรณ์แท้ๆ ทั้ง บอร์ด ESP32-CAM, จอ OLED หรือเซนเซอร์ต่างๆ แวะมาที่ Globalbyte ได้เลย มีของพร้อมส่งทันที!

ผังวงจรและการเชื่อมต่อ (Circuit Diagram)

การเชื่อมต่อหลักๆ จะแบ่งเป็นจอ OLED (I2C) และ Rotary Encoder ครับ:

  • OLED (SDA/SCL): ต่อเข้ากับ GPIO 13 และ 14
  • Rotary Encoder: ต่อเข้ากับ GPIO 15 (CLK), GPIO 2 (DT) และ GPIO 4 (SW)
Circuit Diagram Hardware Connection

ขั้นตอนการทำงานของระบบ 🛠️

  1. เมื่อเปิดเครื่อง บอร์ดจะเชื่อมต่อ Wi-Fi และดึงเวลาปัจจุบันจาก NTP Server เพื่อความแม่นยำ
  2. หน้าจอ OLED จะแสดงรายชื่อที่เราบันทึกไว้ในโค้ด
  3. ผู้ใช้งานหมุน Rotary Encoder เพื่อเลือกชื่อตัวเองแล้วกดปุ่ม
  4. เลือกว่าจะลงชื่อ "เข้า" (IN) หรือ "ออก" (OUT)
  5. ระบบจะนับถอยหลัง 3 2 1 เพื่อให้เตรียมตัวถ่ายรูป
  6. กล้องจับภาพและส่งข้อมูลเข้า Cloud API เพื่อส่งต่อไปยัง WhatsApp ทันที!
Attendance System Output

เจาะลึก Source Code (อธิบายส่วนสำคัญ)

โปรแกรมนี้เขียนบน Arduino IDE โดยมีการจัดการที่สำคัญดังนี้:

1. การตั้งค่า Wi-Fi และ API

ใส่ชื่อ Wi-Fi, รหัสผ่าน และ API Key จาก CircuitDigest Cloud เพื่อเชื่อมต่อระบบครับ

2. การตั้งค่ากล้อง

ในโปรเจกต์นี้ตั้งค่าเป็น QVGA (320x240) เพื่อให้ขนาดไฟล์ภาพ (ประมาณ 15-40 KB) เล็กพอที่จะส่งผ่าน Wi-Fi ได้รวดเร็วแต่ยังเห็นหน้าชัดเจนครับ

ESP32_Attendance.ino
// ตัวอย่างการส่งข้อมูลไปยัง WhatsApp API
client.println("POST /api/v1/whatsapp/send-with-image HTTP/1.1");
client.println("Host: www.circuitdigest.cloud");
client.print(body);
client.write(imgBuf, imgLen);

// การจัดการรายชื่อในตัวแปร Array
String users[] = {"Vedha", "Arun", "Priya", "Kiran"};
int totalUsers = 4;
int selectedIndex = 0;

สิ่งที่สามารถต่อยอดได้ในอนาคต 🚀

    • Face Recognition: ใส่ระบบจดจำใบหน้าเพื่อระบุตัวตนอัตโนมัติไม่ต้องเลือกชื่อมือหมุน
    • Cloud Database: เก็บข้อมูลเข้า Google Sheets หรือ Database เพื่อสรุปรายงานรายเดือน
    • Mobile App: ทำแอปพลิเคชันเพื่อดูบันทึกเวลาย้อนหลังบนมือถือ

คำถามที่พบบ่อย (FAQ)

Q: ระบบนี้ทำงานโดยไม่ใช้อินเทอร์เน็ตได้ไหม?
A: ไม่ได้ครับ เพราะต้องใช้ Wi-Fi ในการซิงค์เวลาและส่งรูปผ่าน Cloud

Q: ถ้า Wi-Fi หลุดระบบจะเป็นอย่างไร?
A: บอร์ดจะพยายามเชื่อมต่อใหม่โดยอัตโนมัติ หรือทำการ Restart ตัวเองเพื่อให้กลับมาทำงานได้ปกติครับ

สร้าง Smart Attendance ของคุณเองได้แล้ววันนี้!

🛒 ช้อปอุปกรณ์ที่ Globalbyte 👥 เข้ากลุ่ม Community 💬 สอบถามผ่าน LINE OA

อ่านข้อมูลเพิ่มเติมและแหล่งอ้างอิง: คลังโค้ดบน GitHub | บทความต้นฉบับ | วิธีเบิร์นโค้ด ESP32-CAM

⚠️ คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากแหล่งข้อมูลภาษาอังกฤษ ข้อมูลเชิงเทคนิคหรือขั้นตอนอาจมีการเปลี่ยนแปลงตามเวอร์ชันของซอฟต์แวร์และฮาร์ดแวร์ กรุณาตรวจสอบรายละเอียดจากเว็บไซต์ต้นฉบับก่อนลงมือปฏิบัติงานจริง

 

แท็ก


Blog posts

เข้าสู่ระบบ

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

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