กลับไปหน้ารวมไฟล์
time-clock-with-fingerprint-iot-module-uploading-data-to-thingspeak-44c9f5.md

ในบทสอนนี้ เราจะมาดูวิธีสร้างเครื่องสแกนลายนิ้วมือ/นาฬิกายามส่วนตัวด้วย ESP32 กับเซ็นเซอร์อ่านลายนิ้วมือกัน ข้อมูลทั้งหมดจะถูกอัปโหลดขึ้นคลาวด์ผ่านบริการของ thingspeak.com เนื้อหาจะครอบคลุมตั้งแต่การประกอบวงจรอิเล็กทรอนิกส์ คำอธิบายโค้ดแบบละเอียดยิบ และสุดท้ายก็ทดสอบการทำงานของอุปกรณ์กัน

ภาพรวมโปรเจกต์

"Bio-Link Attendance Terminal" นี่คือระบบรักษาความปลอดภัยแบบไบโอเมตริกซ์ที่ทำงานบนคลาวด์ โดยผสานการยืนยันตัวตนด้วยลายนิ้วมือเข้ากับการบันทึกข้อมูล IoT ใช้ ไมโครคอนโทรลเลอร์ ESP32 สุดแกร่งเป็นตัวกลางเชื่อมโยงระหว่างการจับคู่ลายนิ้วมือทางกายภาพกับ แพลตฟอร์มคลาวด์ ThingSpeak พอน้องๆ ที่ลงทะเบียนไว้สแกนนิ้ว ระบบจะระบุ ID ที่เป็นเอกลักษณ์ผ่าน โมดูล R308 แบบออปติคอล บันทึกเหตุการณ์พร้อมเวลาลงฐานข้อมูลออนไลน์ และให้เสียงตอบกลับทันที โปรเจกต์นี้เป็นตัวอย่างพื้นฐานที่เจ๋งมากสำหรับการผสานความปลอดภัยของฮาร์ดแวร์ระดับท้องถิ่นเข้ากับระบบตรวจสอบระยะไกล

อุปกรณ์อิเล็กทรอนิกส์

ESP32 หนึ่งตัว

undefined

โมดูลลายนิ้วมือ Open Smart

undefined

บัซเซอร์ (Buzzer)

undefined

เฟมเมลพิน (Female pins)

undefined

เมลพิน (Male pins)

undefined

แผ่น PCB

undefined

ลงลึกเรื่องเทคนิค

  • การประมวลผลไบโอเมตริกซ์ (โมดูล R308):
    • DSP ในตัว: R308 นี่มันไม่ใช่แค่กล้องธรรมดานะน้อง มันมีตัวประมวลผลสัญญาณดิจิทัล (DSP) เป็นของตัวเองอยู่ข้างใน คอยจัดการเรื่องคณิตศาสตร์ซับซ้อนอย่างการปรับปรุงภาพและดึงข้อมูลลายนิ้วมือ (minutiae) ให้เราเลย
    • โปรโตคอลซีเรียล UART: การคุยกันระหว่าง ESP32 กับ R308 ใช้การสื่อสารแบบซีเรียลความเร็ว 57600 baud พอ ESP32 ส่งแพ็กเก็ต "Search" ไป R308 ก็จะตอบกลับมาเป็นรหัสข้อผิดพลาด "Not Found" หรือไม่ก็ User ID (0-255) ถ้ามันเจอลายนิ้วมือที่ตรงกัน
  • การเชื่อมต่อกับคลาวด์ ThingSpeak:
    • ส่งข้อมูลด้วย RESTful: พอจับคู่ลายนิ้วมือได้แล้ว ESP32 ก็จะสร้าง คำขอ HTTP POST ไปหา API ของ ThingSpeak โดยใช้ Write API Key ที่เราเตรียมไว้ เพื่ออัปเดตข้อมูลลงในฟิลด์ที่กำหนด (เช่น ฟิลด์ 1 สำหรับ User ID, ฟิลด์ 2 สำหรับความแรงสัญญาณ)
    • การแสดงผลข้อมูล: ThingSpeak จะสร้างกราฟแสดงข้อมูลตามเวลาให้อัตโนมัติ ทำให้แอดมินสามารถดูช่วงเวลาที่คนใช้งานเยอะๆ และกิจกรรมของผู้ใช้จากเบราว์เซอร์ไหนก็ได้ในโลกนี้
  • เรื่องไฟและสถาปัตยกรรมของ ESP32:
    • การทำงานแบบ Dual-Core: เฟิร์มแวร์ถูกออกแบบมาให้ตอบสนองไว ขณะที่คอร์หนึ่งจัดการลูปสำคัญอย่าง "Scanning" อีกคอร์ (PRO_CPU) ก็จะจัดการเรื่องการเชื่อมต่อ WiFi และการส่งข้อมูลขึ้นคลาวด์ในพื้นหลัง ทำให้อุปกรณ์ไม่ "ค้าง" ขณะรอการตอบกลับจากเซิร์ฟเวอร์
    • การขัดจังหวะด้วยฮาร์ดแวร์: "Buzzer" จะทำงานผ่านเอาต์พุตดิจิทัลความเร็วสูง โดยส่งพัลส์สั้นๆ 50ms เพื่อบอกว่าสแกนสำเร็จแล้ว

วิศวกรรมและการนำไปใช้

  • การจัดการวงจรชีวิตผู้ใช้: ระบบนี้ต้องมีขั้นตอน "ลงทะเบียน" (Enrollment) ครั้งเดียวก่อน โดยใช้สเก็ตช์สำหรับลงทะเบียน ผู้ใช้จะต้องสแกนลายนิ้วมือสองครั้ง R308 จะเปรียบเทียบทั้งสองครั้งเพื่อสร้างเทมเพลตที่ชัดเจนและเก็บไว้ในหน่วยความจำแฟลชภายในของมัน
    • หมายเหตุ: อย่าลืมว่าต้องลงทะเบียนก่อนนะน้อง ไม่งั้นมันจะไม่รู้จักใครเลย!
  • การออกแบบ PCB และความสมบูรณ์ของสัญญาณ: โปรเจกต์นี้มี PCB ที่ออกแบบเองมาให้ (ไฟล์ Gerber รวมอยู่ด้วย) ในระบบไบโอเมตริกซ์ ความสมบูรณ์ของสัญญาณบนสาย UART สำคัญมาก PCB ที่ออกแบบเฉพาะจะช่วยกำจัดปัญหา "Cross-talk" และ "การเชื่อมต่อที่ลอยตัว" ที่พบในแบบจำลองบนเบรดบอร์ด ทำให้แพ็กเก็ตข้อมูลความเร็วสูงจาก R308 ยังคงสะอาดและน่าเชื่อถือ
  • การควบคุมและดีบักด้วยตนเอง: ในเอกสารประกอบมี คู่มือผู้ใช้ R308 ฉบับทางการ อยู่ ซึ่งจำเป็นมากถ้าอยากเข้าใจคำสั่งระดับต่ำ (HEX commands) ที่ ESP32 ใช้เพื่อสอบถามสถานะสุขภาพและหน่วยความจำของเซนเซอร์
  • ความทนทานของเครือข่าย: ESP32 ใช้ระบบเชื่อมต่อใหม่อัตโนมัติ ถ้าสัญญาณ WiFi ในพื้นที่หลุด อุปกรณ์จะยังคงสแกนลายนิ้วมือและให้สัญญาณเสียงตอบกลับได้ตามปกติ พร้อมกับพยายามเชื่อมต่อลิงก์คลาวด์ใหม่ในพื้นหลัง

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x rogerbit."
author: "carlosvolt"
category: "Internet of Things, BT & Wireless"
components:
  - "1x ESP32"
description: "มาลุยกัน! งานนี้เราจะใช้ ESP32 จัดการกับเซนเซอร์อ่านลายนิ้วมือ สร้างเป็นเครื่องตอกบัตรส่วนตัว แล้วส่งข้อมูลขึ้น Thingspeak แบบเรียลไทม์ งานง่ายแต่หล่อ วัยรุ่นสายช่างต้องลอง!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX18xsKOtUJhLj+4cCed528s4UDfdenhSikrBTgzo+ndWZ6ekiEQgEP0rHxQCWgEiJTAw7/oUiWBJCscYH1CBkOS7gMyXQpsCqlc="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/time-clock-with-fingerprint-iot-module-uploading-data-to-thingspeak-44c9f5_cover.png"
lang: "en"
likes: 0
passwordHash: "41d7f2e9a13032034f1ca85b712b6681df65d0393cdf6359f1574f0625abb964"
price: 299
seoDescription: "Build a Time clock with ESP32 and fingerprint module. Upload data to thingspeak in this IoT tutorial."
tags:
  - "Arduino User Group"
title: "Time clock with fingerprint IoT module, uploading data to thingspeak"
tools: []
videoLinks:
  - "https://youtu.be/2aoc2DNUf2I"
views: 1278