Raspberry Pi RFID สำหรับมือใหม่: วิธีต่อวงจรและเริ่มต้นโปรเจกต์

Globalbyteshop Blog | อ้างอิงจาก SunFounder Tutorial

RFID (Radio Frequency Identification) เป็นเทคโนโลยีที่ใช้สำหรับอ่านข้อมูลจากแท็กอิเล็กทรอนิกส์โดยไม่ต้อง กับ Raspberry Pi เราสามารถสร้างระบบอ่านแท็ก RFID ที่มีประสิทธิภาพได้ตั้งแต่ระดับมือใหม่ ไม่ว่าจะเป็นระบบควบคุมประตู การติดตามสินค้า หรือระบบการเข้าชั้นเรียน บทความนี้จะพาทุกท่านเข้าใจพื้นฐานของ RFID ทำความเข้าใจอุปกรณ์ต่างๆ และเขียนโค้ด Python ได้ด้วยตัวเองทีละขั้นตอน

Raspberry Pi RFID Setup

ระบบ Raspberry Pi RFID พร้อมใช้งาน (ภาพจาก SunFounder)

RFID Basics

RFID ย่อมาจาก Radio Frequency Identification เป็นเทคโนโลยีการอ่านข้อมูลด้วยคลื่นวิทยุ ประกอบด้วยส่วนหลัก 3 ส่วน คือ

1. RFID Reader (อ่านแท็ก) คือตัวอุปกรณ์ที่ส่งคลื่นวิทยุออกไป และรับสัญญาณกลับมาจากแท็ก ในที่นี้เราใช้ Raspberry Pi เป็นตัวควบคุม และต่อ RFID Reader เข้าไป

2. RFID Tag (แท็กข้อมูล) คือชิปเล็ก ๆ ที่เก็บข้อมูล เมื่อ Reader ส่งคลื่นมา แท็กจะตอบกลับพร้อมข้อมูลที่เก็บไว้ (เช่น หมายเลขประจำตัว)

3. Antenna (เสาอากาศ) ช่วยรับและส่งสัญญาณระหว่าง Reader และ Tag

สิ่งที่ทำให้ RFID นิยมใช้คือ ไม่ต้องมองเห็นแท็ก (ไม่ต้องสแกน barcode แบบเดิม) อ่านได้หลายแท็กพร้อมกัน ระยะอ่านได้ไกล และอ่านความเร็วสูง

Choosing the Right RFID Reader for Raspberry Pi

มี RFID Reader อยู่หลายรุ่น แต่บ่อยครั้งที่เห็นกับ Raspberry Pi มี 2 รุ่นที่นิยมมากที่สุด

รุ่น Protocol ความถี่ ระยะอ่าน ความเร็ว เหมาะสำหรับ
RC522 SPI 13.56 MHz ~4 ซม. ปานกลาง โปรเจกต์เบื้องต้น ระบบควบคุมง่าย
PN532 I2C / UART 13.56 MHz ~10 ซม. เร็ว โปรเจกต์สูงขั้น ประยุกต์เพิ่มเติม

สำหรับมือใหม่ แนะนำ RC522 เพราะราคาถูก ใช้ไฟน้อย และเขียนไลบรารี่ง่าย ส่วน PN532 เหมาะสำหรับผู้ที่ต้องการระยะอ่านไกลกว่าและมีความสามารถเพิ่มเติม

Hardware & Tools You'll Need

ก่อนเริ่มโปรเจกต์ เตรียมอุปกรณ์เหล่านี้ให้พร้อม

  • Raspberry Pi 5 (หรือ Pi 4 ก็ได้ แต่ Pi 5 เร็วกว่า)
  • MicroSD Card 32 GB ขึ้นไป
  • RFID Reader Module (RC522 หรือ PN532)
  • RFID Tags แท็กข้อมูล (บัตร หรือสติกเกอร์)
  • Jumper Wires สายไฟ เมล-แม่ (ขนาด 20-40 เส้น)
  • Breadboard แผ่นไม่ (เพื่อต่อวงจรชั่วคราว)
  • หลอด LED กับ Resistor (ถ้าต้องการส่วนควบคุมเพิ่มเติม)
  • Relay Module (สำหรับควบคุมประตู หรือเครื่องอื่น ๆ)
  • Power Supply อะแดปเตอร์ 5V สำหรับ Pi
  • คอมพิวเตอร์ สำหรับเขียนโค้ด
อุปกรณ์ RFID ที่จำเป็น

ชุดอุปกรณ์ RFID สำหรับ Raspberry Pi (ภาพจาก SunFounder)

Wiring & Pinout RFID on Raspberry Pi 5

ขั้นตอนสำคัญที่สุดคือการต่อวงจรให้ถูกต้อง ต่อผิด Pi อาจเสียหาย ให้ทำตามนี้อย่างระมัดระวัง

เตือน: ปิด Power Pi ก่อนต่อวงจร!

Raspberry Pi 5 GPIO Pinout: Pi 5 มีพอร์ต GPIO ที่ช่วยต่อกับอุปกรณ์ภายนอก ตำแหน่งขา GPIO สำคัญคือ

  • 3.3V Power (สำหรับเลี้ยงตัวอ่าน RC522)
  • 5V Power (ถ้าต้องอุปกรณ์ 5V)
  • GND (กราวด์ ต้องต่อทั้ง Reader และ Tag)
  • SPI Pins (MOSI, MISO, SCLK, CS) สำหรับ RC522
  • I2C Pins (SDA, SCL) สำหรับ PN532

RC522 with Raspberry Pi (SPI)

RC522 ใช้ Protocol ชื่อ SPI (Serial Peripheral Interface) ซึ่งเป็นแบบ "เจ้ากับใจน้อย" หนึ่ง Pi ควบคุมอุปกรณ์ได้หลายตัว

ขั้นตอนการต่อ RC522:

RC522 → Raspberry Pi

VCC → 3.3V (Pin 1 หรือ Pin 17)
GND → GND (Pin 6 หรือ Pin 9)
MISO → GPIO 9 (Pin 21)
MOSI → GPIO 10 (Pin 19)
SCLK → GPIO 11 (Pin 23)
SDA (CS) → GPIO 8 (Pin 24)

RC522 Wiring Diagram

แผนภาพการต่อวงจร RC522 กับ Raspberry Pi (ภาพจาก SunFounder)

PN532 with Raspberry Pi (I2C / UART)

PN532 มีความสามารถมากกว่า RC522 และรองรับ Protocol 2 แบบ คือ I2C และ UART

การต่อ PN532 แบบ I2C:

PN532 → Raspberry Pi

VCC → 5V (Pin 2)
GND → GND (Pin 6)
SDA → GPIO 2 (Pin 3)
SCL → GPIO 3 (Pin 5)

การต่อ PN532 แบบ UART:

PN532 → Raspberry Pi

VCC → 5V
GND → GND
RX → GPIO 14 (Pin 8) TX ของ Pi
TX → GPIO 15 (Pin 10) RX ของ Pi

แนะนำใช้ I2C เพราะติดตั้งและ debug ง่ายกว่า

Raspberry Pi OS Configuration

หลังจากต่อวงจร ต้องเปิด Interface ที่เกี่ยวข้องให้พร้อม เพื่อให้ Pi สามารถสื่อสารกับ RFID Reader ได้

ขั้นตอนที่ 1: ต่อ SSH เข้า Pi

ssh pi@raspberrypi.local

ขั้นตอนที่ 2: เปิด raspi-config

sudo raspi-config

เมนูจะขึ้นมา เลือก Interface Options แล้วเปิด

  • SPI (ถ้าใช้ RC522) - เลือก Enable
  • I2C (ถ้าใช้ PN532 แบบ I2C) - เลือก Enable
  • Serial (ถ้าใช้ PN532 แบบ UART) - เลือก Enable

บันทึกและออกจาก raspi-config แล้วรีบูต Pi

sudo reboot

Software Setup & Libraries

ตอนนี้ต้องติดตั้งไลบรารีสำหรับอ่าน RFID ให้พร้อม

สำหรับ RC522 - ติดตั้ง RPi.GPIO และ SPI:

sudo apt-get update sudo apt-get install python3-pip sudo pip3 install RPi.GPIO spidev

ติดตั้ง MFRC522 Library (ไลบรารีสำหรับ RC522):

sudo pip3 install mfrc522

สำหรับ PN532 - ติดตั้ง pn532 Library:

sudo pip3 install pn532

หรือใช้ Adafruit Library สำหรับ PN532

sudo pip3 install adafruit-circuitpython-pn532

ตรวจสอบว่าติดตั้งถูกต้องด้วยการ import ใน Python

python3 -c "import RPi.GPIO; print('GPIO OK') python3 -c "import spidev; print('SPI OK')"

Mini Project: Simple Access Control Demo

มาลองทำโปรเจกต์ง่าย ๆ กันก่อน นั่นคือระบบควบคุมประตูอย่างง่าย เมื่อสแกนแท็ก RFID ที่ได้รับอนุญาต ให้เปิดประตู (จำลองด้วย LED หรือ Relay)

ขั้นตอน:

  • สแกนแท็ก RFID ที่มีสิทธิเข้า
  • ระบบอ่านหมายเลข UID ของแท็ก
  • เทียบกับรายชื่อที่ได้รับอนุญาต (Whitelist)
  • ถ้าตรงกัน เปิดประตู (เปิด GPIO วงจร Relay) เป็นเวลา 5 วินาที
  • ถ้าไม่ตรง บันทึกข้อมูลการพยายามเข้า
Access Control Project

ระบบควบคุมประตูด้วย RFID (ภาพจาก SunFounder)

Basic RFID Reader Script (RC522 + Raspberry Pi)

เขียนโค้ด Python อ่าน RFID Tag ง่าย ๆ กันเลย

#!/usr/bin/env python3 import RPi.GPIO as GPIO from mfrc522 import SimpleMFRC522 reader = SimpleMFRC522() try: print("Waiting for RFID tag...") while True: id, text = reader.read() print(f"Tag ID: {id}") print(f"Data: {text}") print("---") except KeyboardInterrupt: print("Stopped by user") finally: GPIO.cleanup()

วิธีรัน:

python3 rfid_reader.py

เมื่อสแกนแท็ก ระบบจะแสดง ID และข้อมูลบนหน้าจอ

ทำให้มี GPIO Output (LED หรือ Relay): เพิ่มโค้ดนี้เพื่อเปิดปิด GPIO เมื่อมี Tag อ่านได้
import time GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) # GPIO 17 สำหรับควบคุม Relay if id == 123456789: # เปลี่ยนเป็น ID ของแท็ก GPIO.output(17, GPIO.HIGH) print("Access Granted!") time.sleep(5) GPIO.output(17, GPIO.LOW) else: print("Access Denied!")

Basic PN532 UID Reader Script

สำหรับผู้ที่ใช้ PN532 ขัติมี code แบบนี้

#!/usr/bin/env python3 from board import SCL, SDA import busio from adafruit_pn532.i2c import PN532_I2C i2c = busio.I2C(SCL, SDA) pn532 = PN532_I2C(i2c, debug=False) pn532.SAM_configuration() print("PN532 initialized. Waiting for RFID tag...") while True: uid = pn532.read_passive_target(timeout=0.5) if uid is not None: print(f"Tag UID: {uid.hex().upper()}") else: print("No tag detected") import time time.sleep(0.1)

วิธีรัน:

python3 pn532_reader.py

PN532 จะแสดง UID ของแท็กทั้งแบบ 7 ตัวอักษร และ 10 ตัวอักษร

Common Problems & Fixes (Troubleshooting)

ไม่ว่าจะระมัดระวังแค่ไหน ก็มีปัญหาที่อาจเกิดขึ้นได้ ดูวิธีแก้ไขเหล่านี้

ปัญหา: SPI Not Enabled
แก้ไข: รัน sudo raspi-config → Interface Options → SPI → Enable

ปัญหา: MFRC522 Library Not Found
แก้ไข: sudo pip3 install mfrc522

ปัญหา: No Tag Detected
แก้ไข: ตรวจสอบการต่อวงจร และให้แท็กใกล้ Reader มากขึ้น ระยะอ่าน RC522 ประมาณ 1-4 ซม.

ปัญหา: GPIO Pin Error
แก้ไข: เขียน GPIO.cleanup() ในสุดท้ายของโค้ด และรีบูต Pi

ปัญหา: I2C PN532 Not Responding
แก้ไข: รัน i2cdetect -y 1 เพื่อตรวจสอบ Address ของ PN532 (ปกติ 0x24)

Debugging dengan i2cdetect

การเช็ค I2C Address ด้วย i2cdetect (ภาพจาก SunFounder)

Security & Reliability Considerations

ตอนออกแบบระบบ RFID ให้ใช้งานจริง ต้องคิดถึงความปลอดภัยและความน่าเชื่อถือ

1. Encryption (การเข้ารหัส) - RFID Tag ควรเก็บข้อมูลแบบเข้ารหัส ไม่ใช่ข้อมูลธรรมดา ถึงแม้คนอื่นจะอ่าน Tag ก็ไม่เข้าใจ

2. Whitelist & Blacklist - เก็บรายชื่อ ID ที่อนุญาตเข้า (Whitelist) และ ID ต้องห้าม (Blacklist) ในฐานข้อมูล

3. Logging & Monitoring - บันทึกทุกครั้งที่มีการสแกน Tag เพื่อติดตามการเข้าออกและตรวจสอบการพยายามเข้าโดยไม่ได้รับอนุญาต

4. Anti-Cloning - ใช้ Cryptography ป้องกันการจำลอง Tag ซ้ำเลียนแบบ

5. Timeout & Rate Limiting - ตั้งเวลารอ (Timeout) และจำกัดจำนวนการพยายามเข้า ป้องกันการ Brute Force

6. Backup System - ควรมีระบบสำรอง ถ้า RFID เสีย ก็มีวิธีเข้าทางเลือก (Manual Override)

7. Distance Check - ตรวจสอบให้แน่ใจ Tag อยู่ในระยะที่คาดหวัง ป้องกันสัญญาณรบกวนจากระยะไกล

Security Architecture RFID

สถาปัตยกรรมรักษาความปลอดภัยของระบบ RFID (ภาพจาก SunFounder)

สรุป

ระบบ RFID ด้วย Raspberry Pi ไม่ได้ยากอย่างที่คิด ด้วยความเข้าใจพื้นฐาน การต่อวงจรที่ถูกต้อง และการเขียนโค้ด Python ง่าย ๆ เราสามารถสร้างโปรเจกต์ที่มีประโยชน์ได้จริง ไม่ว่าจะเป็นระบบควบคุมประตู ระบบการเข้าชั้นเรียน หรือการติดตามสินค้า

เคล็ดลับสำคัญคือ ให้ค่อย ๆ ทดสอบทีละขั้นตอน ถ้าติดปัญหาให้กลับไปตรวจสอบวงจร และ Debug โค้ดตามที่แสดงในบทความ ความสำเร็จมาจากการทดลองและแก้ไขปัญหาครั้งละครั้ง

พร้อมสร้างโปรเจกต์ RFID ของคุณเองแล้วหรือ?

เลือกซื้อ Raspberry Pi ที่ Globalbyteshop

พร้อมส่ง มีรับประกัน


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

บทความต้นฉบับ: Raspberry Pi RFID Tutorial: Setup, Wiring, and Projects for Beginners โดย SunFounder

แท็ก


Blog posts

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

    • PayPal

    เข้าสู่ระบบ

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

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