آموزش راهاندازی ماژول RFID روی رزبری پای با پایتون

فناوری RFID (شناسایی امواج رادیویی) یکی از ابزارهای قدرتمند در شناسایی و ردیابی اشیا است که در سیستمهای کنترل دسترسی، مدیریت انبار و پرداختهای بدون تماس کاربرد گستردهای دارد. رزبری پای، با قابلیتهای بالا و قیمت مناسب، گزینهای ایدهآل برای پیادهسازی پروژههای RFID است. در این مقاله، بهطور کامل و گامبهگام، نحوه راهاندازی ماژول **MFRC522** با رزبری پای به زبان پایتون را بررسی میکنیم. از فعالسازی SPI تا خواندن و نوشتن اطلاعات روی تگهای RFID، همهچیز بهصورت ساده و کاربردی آموزش داده میشود. اگر به فناوری RFID و اینترنت اشیا علاقهمند هستید، این مقاله نقطه شروع مناسبی برای شماست!
1. فعالسازی SPI روی رزبری پای
ماژول RFID از طریق پروتکل SPI با رزبری پای ارتباط برقرار میکند. بنابراین، ابتدا باید SPI را روی رزبری پای فعال کنید.
- ترمینال رزبری پای را باز کنید.
- دستور زیر را اجرا کنید تا به تنظیمات رزبری پای دسترسی پیدا کنید:
- به منوی Interfacing Options بروید.
- گزینه SPI را انتخاب کنید و آن را فعال کنید.
- تغییرات را ذخیره کرده و از تنظیمات خارج شوید.
- رزبری پای را ریاستارت کنید:
bash
sudo reboot
2. اتصال ماژول RFID به رزبری پای
ماژول MFRC522 دارای پینهای زیر است. این پینها را به رزبری پای مطابق جدول زیر وصل کنید:
پین ماژول RFID | پین رزبری پای | توضیحات |
---|---|---|
SDA (SS) | GPIO 8 (CE0) | انتخاب اسلیو (Slave Select) |
SCK | GPIO 11 (SCLK) | کلاک SPI |
MOSI | GPIO 10 (MOSI) | ارسال داده به ماژول |
MISO | GPIO 9 (MISO) | دریافت داده از ماژول |
IRQ | (اختیاری) | وقفه (استفاده نمیشود) |
GND | GND | زمین |
RST | GPIO 25 | ریست ماژول |
3.3V | 3.3V | تغذیه 3.3 ولت |
نکته: اطمینان حاصل کنید که ماژول RFID را به 3.3V رزبری پای وصل میکنید. اتصال به 5V ممکن است به ماژول یا رزبری پای آسیب برساند.
3. نصب کتابخانههای مورد نیاز
برای ارتباط با ماژول RFID، از کتابخانه mfrc522
استفاده میکنیم. این کتابخانه را با دستور زیر نصب کنید:
bash
pip install mfrc522
اگر pip
نصب نیست، ابتدا آن را نصب کنید:
4. نوشتن کد پایتون
در این مرحله، یک کد کامل برای خواندن اطلاعات از کارت RFID و نوشتن اطلاعات روی آن مینویسیم.
کد خواندن اطلاعات از کارت RFID:
python
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
# Creating an object from a class SimpleMFRC522
reader = SimpleMFRC522()
try:
print("Please bring the RFID card closer...")
# Reading card information
id, text = reader.read()
print(f"Card ID: {id}")
print(f"Saved text: {text}")
except KeyboardInterrupt:
# If you press Ctrl+C, the program will terminate.
print("The program was stopped.")
finally:
# Clearing GPIO pins
GPIO.cleanup()
کد نوشتن اطلاعات روی کارت RFID:
5. اجرای کد
کد بالا را در یک فایل پایتون ذخیره کنید (مثلاً rfid_reader.py
یا rfid_writer.py
) و سپس آن را اجرا کنید:
bash
python3 rfid_reader.py
یا برای نوشتن اطلاعات روی کارت:
6. توضیحات اضافی
- خواندن اطلاعات: وقتی کارت RFID را نزدیک ماژول قرار میدهید، ID کارت و متن ذخیره شده روی آن نمایش داده میشود.
- نوشتن اطلاعات: میتوانید متن دلخواه را روی کارت RFID بنویسید. دقت کنید که نوشتن اطلاعات، اطلاعات قبلی روی کارت را پاک میکند.
- پاکسازی GPIO: همیشه در پایان برنامه، پینهای GPIO را با دستور
GPIO.cleanup()
پاکسازی کنید تا از مشکلات بعدی جلوگیری شود.
7. رفع مشکلات رایج
- ماژول RFID کار نمیکند:
- مطمئن شوید SPI فعال است.
- اتصالات را دوباره بررسی کنید.
- از تغذیه 3.3V استفاده کنید.
- خطا در نصب کتابخانه:
- اطمینان حاصل کنید که
pip
وpython3
نصب هستند. - اگر خطایی مربوط به مجوزها مشاهده کردید، دستورات را با
sudo
اجرا کنید.
- اطمینان حاصل کنید که
با دنبال کردن این مراحل، شما میتوانید بهطور کامل و دقیق ماژول RFID را با رزبری پای راهاندازی کرده و از آن استفاده کنید.