ESP32-CAM: ระบบตรวจจับภาพและส่งอีเมลแจ้งเตือนแบบเรียลไทม์

สำหรับสาย Maker ที่กำลังมองหาโซลูชันกล้องวงจรปิดขนาดเล็ก หรือระบบแจ้งเตือนด้วยภาพแบบราคาประหยัด ESP32-CAM คือคำตอบที่ใช่ที่สุดครับ! ถึงแม้บอร์ดตัวนี้จะมีขา GPIO ให้ใช้น้อยกว่าบอร์ด ESP32 รุ่นปกติ แต่มันถูกออกแบบมาเพื่องานที่เน้นกล้องและการเชื่อมต่ออินเทอร์เน็ตโดยเฉพาะ

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

ESP32-CAM Email Notification Setup

อุปกรณ์ที่ต้องเตรียม (Components Required)

  • ESP32-CAM Module: ทำหน้าที่เป็นสมองกลหลัก ควบคุมกล้องและ Wi-Fi
  • Push Button (2 ตัว): ใช้สำหรับเป็นปุ่มสั่งถ่ายภาพ และปุ่มสั่งส่งอีเมล
  • OLED Display (I2C): หน้าจอแสดงสถานะการทำงานของระบบ (เช่น Booting, Capturing, Sent)
  • Breadboard และสายไฟ (Jumper Wires): สำหรับต่อวงจร

*หมายเหตุ: หากบอร์ด ESP32-CAM ของคุณไม่มีพอร์ต micro USB ในตัว จะต้องใช้ตัวแปลง USB to Serial (FTDI) ในการอัปโหลดโค้ดด้วยนะครับ

การต่อวงจรและหลักการทำงาน

หน้าจอ OLED จะสื่อสารผ่านโปรโตคอล I2C ส่วนปุ่มกดแต่ละปุ่มจะถูกกำหนดหน้าที่แยกกันชัดเจน

Step การทำงานของระบบ:

  • กดปุ่มที่ 1 (Capture): กล้องจะทำการถ่ายภาพทันที หน้าจอ OLED จะขึ้นข้อความว่า "DONE" เหมือนเป็นแสงแฟลชเพื่อคอนเฟิร์มว่าภาพถูกเก็บลงในหน่วยความจำชั่วคราว (Memory) แล้ว
  • กดปุ่มที่ 2 (Send): บอร์ดจะเตรียมข้อมูล (Payload) แล้วส่งภาพขึ้นไปที่ CircuitDigest Cloud API (ซึ่งฟรีและใช้ง่ายมาก) จากนั้นระบบคลาวด์จะตีกลับภาพนั้นเข้าสู่อีเมลที่เราตั้งไว้ และหน้าจอ OLED จะขึ้นคำว่า "SENT"
คลิกเพื่อดูภาพวงจรและฮาร์ดแวร์ (View More)
Circuit Diagram
Hardware Connection
คลิกเพื่อดูภาพผลลัพธ์การส่งอีเมล (View More)
OLED Displaying Status
Received Email

เจาะลึกส่วนของโค้ด (Code Explanation)

ในการเขียนโค้ด เราจะใช้ไลบรารีหลักๆ เช่น esp_camera.h (คุมกล้อง), WiFiClientSecure.h (คุมความปลอดภัยในการส่งข้อมูล HTTPS) และ Adafruit_SSD1306.h (คุมจอ OLED) โดยมีการตั้งค่าที่สำคัญดังนี้:

  • การตั้งค่าภาพ: ใช้รูปแบบ JPEG ความละเอียดระดับ VGA (640x480) และตั้ง fb_count = 1 (Frame Buffer) เพื่อประหยัด RAM ของบอร์ด
  • การถ่ายภาพ: ฟังก์ชัน esp_camera_fb_get() จะถูกเรียกใช้เพื่อเก็บภาพไว้ชั่วคราว
  • การส่งอีเมล: บอร์ดจะสร้าง HTTP POST Request พร้อมแนบ API Key ไปที่โฮสต์ www.circuitdigest.cloud ผ่านพอร์ต 443 (HTTPS)

ไอเดียประยุกต์ใช้งาน & การอัปเกรดในอนาคต

  • ระบบรักษาความปลอดภัย (Smart Security): ติดตั้งไว้หน้าบ้าน เวลามีคนมาด้อมๆ มองๆ ให้ส่งรูปเข้าอีเมลทันที
  • ระบบเก็บหลักฐานหน้างาน (Remote Evidence): ใช้บันทึกภาพหน้างานก่อสร้างหรือในฟาร์มเกษตร แล้วส่งข้อมูลเข้าศูนย์กลาง
  • อัปเกรดใส่ SD Card: สามารถเขียนโค้ดเพิ่มให้บอร์ดเซฟรูปเก็บไว้ใน SD Card เป็นแบ็กอัป เผื่อกรณีเน็ตหลุด
  • ต่อยอดด้วย AI (Edge Impulse): นำไปผนวกกับโมเดลจดจำใบหน้า (Face Recognition) เพื่อแยกแยะคนแปลกหน้า หรือระบบตรวจจับวัตถุ (Object Detection)

🛠️ ปัญหาที่พบบ่อย (Troubleshooting)

  • ขึ้น Error "CAM ERR": มักเกิดจากการเลือกโมดูลกล้องในโค้ดผิดรุ่น (แนะนำให้เลือก AI-Thinker) หรือเสียบสายแพกล้องไม่แน่น
  • เชื่อมต่อ Wi-Fi ไม่ได้: ESP32 รองรับแค่คลื่น 2.4GHz เท่านั้น ห้ามต่อกับ 5GHz เด็ดขาด
  • บอร์ดรีเซ็ตตัวเองบ่อยๆ: ปัญหาสุดคลาสสิก! เกิดจาก "ไฟเลี้ยงไม่พอ" ESP32-CAM ต้องการไฟ 5V ที่เสถียรและกระแสที่สูงพอ ควรต่อแหล่งจ่ายไฟแยกต่างหาก
  • ภาพไม่เข้าอีเมล: เช็กความถูกต้องของ API Key และตรวจสอบว่าเน็ตเวิร์กคุณไม่ได้บล็อกพอร์ต HTTPS 443

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

แท็ก


Blog posts

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

    • PayPal

    เข้าสู่ระบบ

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

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