PN532 هي وحدة NFC (الاتصالات القريبة من الحقل) والتي يمكن استخدامها لقراءة وكتابة علامات NFC ، وكذلك لتنفيذ أنظمة RFID. يتيح لك استخدام PN532 مع Raspberry Pi دمج إمكانيات NFC في مشاريعك لتطبيقات مثل التحكم في الوصول ، والمدفوعات بدون اتصال ، وأجهزة إنترنت الأشياء. This guide walks you through setting up and using the PN532 with a Raspberry Pi.
ماذا ستحتاج
- التوت بي (أي نموذج يحمل دعم GPIO ، على سبيل المثال ، PI 3 ، PI 4)
- PN532 وحدة NFC
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر به وصول SSH إلى Raspberry Pi أو لوحة مفاتيح متصلة وشاشة
- Python مثبت على Raspberry Pi
الخطوة 1: توصيل PN532 إلى Raspberry Pi
تدعم وحدة PN532 بروتوكولات اتصال متعددة ، بما في ذلك I2C و SPI و UART. يستخدم هذا الدليل واجهة I2C للبساطة.
الاتصالات (وضع I2C)
PN532 دبوس | التوت بي دبوس |
---|---|
VCC | 3.3V (دبوس 1) |
GND | الأرض (دبوس 6) |
SDA | SDA (PIN 3 ، GPIO2) |
SCL | SCL (PIN 5 ، GPIO3) |
SEL0 | GND |
SEL1 | VCC |
ملحوظة: تحدد دبابيس SEL0 و SEL1 وضع الاتصال. توصيل SEL0 بـ GND و SEL1 إلى VCC يحدد وضع I2C.
الخطوة 2: تمكين واجهة I2C على Raspberry Pi
- افتح أداة تكوين Raspberry Pi:
sudo raspi-config
- انتقل إلى خيارات الواجهة> i2c وتمكينها.
- أعد تشغيل Raspberry Pi:
sudo reboot
الخطوة 3: تثبيت الأدوات والمكتبات المطلوبة
- قم بتحديث Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- قم بتثبيت أدوات I2C:
sudo apt install -y i2c-tools
- تثبيت مكتبات Python للاتصال I2C ووظيفة PN532:
pip install adafruit-circuitpython-pn532
الخطوة 4: تحقق من الاتصال
- يستخدم
i2cdetect
للتحقق من تم اكتشاف PN532 على حافلة I2C:sudo i2cdetect -y 1
- يجب أن ترى PN532 على العنوان
0x24
أو0x48
. إذا لم يكن كذلك:- تحقق من الأسلاك الخاصة بك.
- تأكد من تشغيل PN532.
الخطوة 5: قراءة علامات NFC مع Python
يوضح البرنامج النصي التالي Python كيفية قراءة علامات NFC باستخدام PN532.
مثال رمز بيثون
import board
import busio
from adafruit_pn532.i2c import PN532_I2C
# I2C connection setup
i2c = busio.I2C(board.SCL, board.SDA)
pn532 = PN532_I2C(i2c, debug=False)
# Configure PN532 to read NFC tags
pn532.SAM_configuration()
print("Waiting for an NFC tag...")
while True:
uid = pn532.read_passive_target(timeout=0.5)
if uid is not None:
print(f"Found NFC tag with UID: {uid.hex()}")
Step 6: Applications of the PN532
- التحكم في الوصول: قم بإنشاء نظام قفل الباب المستند إلى NFC.
- مدفوعات لا تلامس: محاكاة أنظمة الدفع مع بطاقات NFC.
- مشاريع إنترنت الأشياء: استخدم علامات NFC لتشغيل أحداث التشغيل الآلي.
- تسجيل البيانات: اكتب البيانات إلى علامات NFC لأغراض المخزون أو التتبع.
استكشاف الأخطاء وإصلاحها
-
لم يتم اكتشاف الجهاز:
- تحقق من اتصالات SDA و SCL.
- تأكد من تمكين واجهة I2C على Raspberry PI.
- تحقق من تكوين دبوس SEL0 و SEL1 لوضع I2C.
-
قراءة الأخطاء:
- تأكد من أن علامة NFC ضمن نطاق PN532.
- تحقق من التداخل من الكائنات المعدنية أو غيرها من الأجهزة الإلكترونية.
-
أخطاء I2C:
- تأكد من عدم وجود أجهزة متضاربة في حافلة I2C.
خاتمة
وحدة PN532 NFC هي أداة متعددة الاستخدامات لإضافة إمكانيات NFC و RFID إلى مشاريع Raspberry PI الخاصة بك. باتباع هذا الدليل ، يمكنك إعداد واستخدام PN532 لتطبيقات مثل التحكم في الوصول ، وأتمتة إنترنت الأشياء ، وتبادل البيانات بدون اتصال. تجربة مع قراءة وكتابة علامات NFC لاستكشاف الإمكانات الكاملة لهذه الوحدة القوية!