- รู้เบื้องต้นเกี่ยวกับ ESP32-CAM
- ส่วนประกอบที่จำเป็น
- แผนภูมิวงจรรวม
- ติดตั้งบอร์ด ESP32 บน Arduino IDE
- รหัสเว็บเซิร์ฟเวอร์ของกล้อง ESP32
มีระบบการระบุตัวตนของมนุษย์จำนวนมากที่ใช้ลายเซ็นลายนิ้วมือเสียงรูปทรงมือการจดจำใบหน้า ฯลฯ เพื่อระบุตัวบุคคล แต่ไม่มีระบบใดที่สามารถตรวจจับและจดจำบุคคลในพื้นที่สาธารณะเช่นสนามบินร้านค้าปลีกและสถานีรถไฟยกเว้นระบบจดจำใบหน้า
ระบบจดจำใบหน้าไม่เพียง แต่สามารถใช้เพื่อจุดประสงค์ด้านความปลอดภัยเพื่อจดจำบุคคลในที่สาธารณะเท่านั้น แต่ยังสามารถใช้เพื่อวัตถุประสงค์ในการเข้าเรียนในสำนักงานและโรงเรียนได้อีกด้วย
ในโครงการนี้เรากำลังจะสร้างระบบจดจำใบหน้าโดยใช้ ESP32-CAMซึ่งจะทำงานเป็น ระบบรักษาความปลอดภัย ESP32-CAMด้วยการจดจำใบหน้าของบุคคลที่ไม่ได้รับอนุญาต ESP32-CAM เป็นโมดูลกล้องขนาดเล็กมากพร้อมชิป ESP32-S การใช้โมดูล ESP32-CAM ทำให้เราสามารถสร้างระบบจดจำใบหน้าได้โดยไม่ต้องใช้การเขียนโปรแกรมที่ซับซ้อนและส่วนประกอบเพิ่มเติมใด ๆ การจดจำใบหน้าสามารถทำได้โดยใช้กล้อง Raspberry Pi และ Pi โดยใช้ OpenCV
รู้เบื้องต้นเกี่ยวกับ ESP32-CAM
โมดูล AI-Thinker ESP32-CAM มาพร้อมกับชิป ESP32-S, กล้อง OV2640 ขนาดเล็กมากและช่องเสียบการ์ด micro SD ช่องเสียบการ์ด Micro SD สามารถใช้เพื่อเก็บภาพที่ถ่ายจากกล้องหรือเก็บไฟล์ โมดูล ESP32-CAM นี้สามารถใช้กันอย่างแพร่หลายในแอปพลิเคชัน IoT ต่างๆ สามารถใช้เป็นระบบตรวจจับใบหน้าในสำนักงานโรงเรียนและพื้นที่ส่วนตัวอื่น ๆ และยังสามารถใช้เป็นการตรวจสอบแบบไร้สายการระบุ QR ไร้สายและแอปพลิเคชัน IoT อื่น ๆ อีกมากมาย
ESP32-CAMโมดูลสามารถตั้งโปรแกรมด้วย ESP-IDF หรือArduino IDE โมดูล ESP32-CAM ยังมีพิน GPIO หลายตัวเพื่อเชื่อมต่อฮาร์ดแวร์ภายนอก ESP32-CAM ไม่มีขั้วต่อ USB ดังนั้นในการตั้งโปรแกรมโมดูลคุณต้องมีบอร์ด FTDI
คุณสมบัติ:
- 802.11b / g / n Wi-Fi BT SoC ที่เล็กที่สุด
- CPU 32 บิตที่ใช้พลังงานต่ำสามารถให้บริการโปรเซสเซอร์แอปพลิเคชัน
- ความเร็วสัญญาณนาฬิกาสูงสุด 160MHz พลังการประมวลผลสรุปสูงถึง 600 DMIPS
- SRAM ในตัว 520 KB, 4MPSRAM ภายนอก
- รองรับ UART / SPI / I2C / PWM / ADC / DAC
- รองรับกล้อง OV2640 และ OV7670 ไฟแฟลชในตัว
- รองรับการอัปโหลดภาพด้วย Wi-Fi
- รองรับการ์ด TF
- รองรับโหมดสลีปหลายโหมด
- Lwip ในตัวและ FreeRTOS
- รองรับโหมดการทำงาน STA / AP / STA + AP
- รองรับเทคโนโลยี Smart Config / AirKiss
- รองรับการอัพเกรดเฟิร์มแวร์ภายในและระยะไกลพอร์ตอนุกรม (FOTA)
ข้อมูลจำเพาะ:
- SPI Flash: 32Mbit เริ่มต้น
- แรม: 520KB SRAM + 4M PSRAM
- รองรับการ์ด TF: สูงสุด. 4G
- อินเทอร์เฟซการสนับสนุน: UART, SPI, I2C, PWM
- รูปแบบเอาต์พุตภาพ: JPEG, BMP, GRAYSCALE
- พอร์ต IO: 9
- ช่วงแหล่งจ่ายไฟ: 5V
ส่วนประกอบที่จำเป็น
- ESP32-CAM
- โปรแกรมเมอร์ FTDI
แผนภูมิวงจรรวม
ในการสร้างกล้องรักษาความปลอดภัย ESP32 CAMเราต้องใช้โมดูลกล้อง ESP32 และโปรแกรมเมอร์ FTDI เท่านั้นในการตั้งโปรแกรม
ESP32-CAM ไม่มีขั้วต่อ USB ดังนั้นคุณต้องมีโปรแกรมเมอร์ FTDI เพื่ออัปโหลดโค้ดไปยัง ESP32-CAM ดังแสดงในรูปด้านบน ขา Vcc และ GND ของ ESP32 เชื่อมต่อกับพิน Vcc และ GND ของบอร์ด FTDI Tx ของและ Rx ของ ESP32 เชื่อมต่อกับ Rx และ Tx ของบอร์ด FTDI
หมายเหตุ:ก่อนอัปโหลดรหัสให้เชื่อมต่อ IO0 กับกราวด์ IO0 กำหนดว่า ESP32 อยู่ในโหมดกระพริบหรือไม่ เมื่อเชื่อมต่อ GPIO 0 กับ GND แล้ว ESP32 จะอยู่ในโหมดกระพริบ
ESP32-CAM |
บอร์ดส. อ. ท |
3.3V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
หลังจากตั้งโปรแกรม ESP32 ฉันได้ถอดบอร์ด FTDI และเชื่อมต่อโมดูลกับแหล่งจ่ายไฟ 3.3V โดยใช้ตัวควบคุมแรงดันไฟฟ้า 7805 นี่คือลักษณะการตั้งค่าสำหรับการสตรีมวิดีโอด้วยกล้อง ESP32:
ติดตั้งบอร์ด ESP32 บน Arduino IDE
ที่นี่ ESP32-CAM ถูกตั้งโปรแกรมโดยใช้ Arduino IDE เพื่อที่เราจะต้องติดตั้งส่วนเสริม ESP32 บน Arduino IDE
ในการติดตั้งบอร์ด ESP32 ใน Arduino IDE ของคุณให้ไปที่ไฟล์> การตั้งค่า
ตอนนี้คัดลอกลิงค์ด้านล่างและวางลงในช่อง“ URL ของ Board Manager เพิ่มเติม ” ดังแสดงในรูปด้านล่าง จากนั้นคลิกปุ่ม“ ตกลง”:
https://dl.espressif.com/dl/package_esp32_index.json
ไปที่Tools> Board> Boards Manager
ใน Board Manager ให้ค้นหา ESP32 และติดตั้ง“ ESP32 by Espressif Systems”
รหัสเว็บเซิร์ฟเวอร์ของกล้อง ESP32
เรามีโค้ดตัวอย่างจากการสตรีมวิดีโอด้วยกล้อง ESP32 และการจดจำใบหน้าแล้ว เปิดตัวอย่าง ESP32 โดยใช้ไฟล์> ตัวอย่าง> ESP32> กล้องและเปิดตัวอย่าง CameraWebServer
ก่อนอัปโหลดรหัสคุณต้องป้อนชื่อและรหัสผ่าน Wi-Fi ของคุณ
const char * ssid = "ชื่อ WiFi"; const ถ่าน * รหัสผ่าน = "รหัสผ่าน";
หลังจากที่กำหนดโมดูลกล้อง ESP ในโค้ดนี้ได้กำหนดโมดูลกล้องไว้ 5 โมดูลดังนั้นจึงไม่ใส่เครื่องหมาย "CAMERA_MODEL_AI_THINKER" และแสดงความคิดเห็นส่วนที่เหลือ
ในการอัปโหลดรหัสให้เชื่อมต่อบอร์ด FDTI เข้ากับแล็ปท็อปของคุณแล้วเลือก ' ESP32 Wrover Module ' เป็นบอร์ดของคุณ เปลี่ยนการตั้งค่าอื่น ๆ ตามภาพนี้:
ก่อนอัปโหลดรหัสให้กดปุ่มรีเซ็ต ESP32 จากนั้นคลิกที่ปุ่มอัปโหลด
หมายเหตุ:หากคุณได้รับข้อผิดพลาดขณะอัปโหลดโค้ดให้ตรวจสอบว่า IO0 เชื่อมต่อกับ GND และคุณได้เลือกการตั้งค่าที่ถูกต้องในเมนูเครื่องมือ
หลังจากอัปโหลดรหัสให้ตัดการเชื่อมต่อพิน IO0 และ GND จากนั้นเปิดจอภาพอนุกรมและเปลี่ยนอัตราการส่งข้อมูลเป็น 115200 หลังจากนั้นกดปุ่มรีเซ็ต ESP32 ระบบจะพิมพ์ที่อยู่ IP ของ ESP และไม่มีพอร์ตบนจอภาพแบบอนุกรมดังที่แสดงด้านล่าง
ตอนนี้เพื่อเข้าถึงการสตรีมกล้องไปที่เบราว์เซอร์ของคุณและป้อนที่อยู่ IP ของ ESP จะนำคุณไปยังหน้าสตรีมมิง ในการเริ่มการสตรีมวิดีโอผ่านกล้อง ESP32 ให้คลิกที่ปุ่ม 'เริ่มสตรีม' ที่ด้านล่างของหน้า
คุณสามารถเปลี่ยนคุณภาพการสตรีมได้โดยเปลี่ยน " ความละเอียด " ในหน้าสตรีมมิง คุณยังสามารถคลิกรูปภาพได้โดยคลิกปุ่ม "รับ ภาพนิ่ง" แต่รหัสนี้ไม่มีตัวเลือกในการบันทึกรูปภาพ
หลังจากทดสอบการสตรีมวิดีโอแล้วเราจะทดสอบคุณสมบัติการตรวจจับใบหน้าและจดจำใบหน้าของลูกเบี้ยว ESP32 สำหรับการเปิดใช้คุณสมบัติการจดจำใบหน้าและการตรวจจับจากการตั้งค่า:
สำหรับการจดจำใบหน้าก่อนอื่นคุณต้องลงทะเบียนใบหน้า คุณสามารถลงทะเบียนใบหน้าใหม่ได้โดยคลิกที่ตัวเลือก' ลงทะเบียนใบหน้า' ต้องใช้ความพยายามหลายครั้งในการบันทึกใบหน้า หลังจากบันทึกใบหน้าแล้วระบบจะตรวจจับใบหน้าเป็นวัตถุ 0 และตอนนี้สามารถใช้เป็นระบบรักษาความปลอดภัยได้โดยการจดจำใบหน้า
นี่คือวิธีที่สามารถกำหนดค่าโมดูลกล้อง ESP สำหรับการสตรีมวิดีโอและการจดจำใบหน้าได้อย่างง่ายดาย ตรวจสอบภาพวิดีโอขนาดเล็กด้านล่างที่ถ่ายโดยกล้อง ESP32
รหัสที่สมบูรณ์จะได้รับด้านล่างและสามารถดาวน์โหลดได้จากที่นี่