Using the PN532 with the Raspberry Pi

Using the PN532 with the Raspberry Pi

PN532 هي وحدة NFC (الاتصالات القريبة من الحقل) والتي يمكن استخدامها لقراءة وكتابة علامات NFC ، وكذلك لتنفيذ أنظمة RFID. يتيح لك استخدام PN532 مع Raspberry Pi دمج إمكانيات NFC في مشاريعك لتطبيقات مثل التحكم في الوصول ، والمدفوعات بدون اتصال ، وأجهزة إنترنت الأشياء. This guide walks you through setting up and using the PN532 with a Raspberry Pi.


ماذا ستحتاج

  1. التوت بي (أي نموذج يحمل دعم GPIO ، على سبيل المثال ، PI 3 ، PI 4)
  2. PN532 وحدة NFC
  3. الأسلاك الأسلاك والبلوز
  4. جهاز كمبيوتر به وصول SSH إلى Raspberry Pi أو لوحة مفاتيح متصلة وشاشة
  5. 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

  1. افتح أداة تكوين Raspberry Pi:
    sudo raspi-config
    
  2. انتقل إلى خيارات الواجهة> i2c وتمكينها.
  3. أعد تشغيل Raspberry Pi:
    sudo reboot
    

الخطوة 3: تثبيت الأدوات والمكتبات المطلوبة

  1. قم بتحديث Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. قم بتثبيت أدوات I2C:
    sudo apt install -y i2c-tools
    
  3. تثبيت مكتبات Python للاتصال I2C ووظيفة PN532:
    pip install adafruit-circuitpython-pn532
    

الخطوة 4: تحقق من الاتصال

  1. يستخدم i2cdetect للتحقق من تم اكتشاف PN532 على حافلة I2C:
    sudo i2cdetect -y 1
    
  2. يجب أن ترى 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

  1. التحكم في الوصول: قم بإنشاء نظام قفل الباب المستند إلى NFC.
  2. مدفوعات لا تلامس: محاكاة أنظمة الدفع مع بطاقات NFC.
  3. مشاريع إنترنت الأشياء: استخدم علامات NFC لتشغيل أحداث التشغيل الآلي.
  4. تسجيل البيانات: اكتب البيانات إلى علامات NFC لأغراض المخزون أو التتبع.

استكشاف الأخطاء وإصلاحها

  1. لم يتم اكتشاف الجهاز:

    • تحقق من اتصالات SDA و SCL.
    • تأكد من تمكين واجهة I2C على Raspberry PI.
    • تحقق من تكوين دبوس SEL0 و SEL1 لوضع I2C.
  2. قراءة الأخطاء:

    • تأكد من أن علامة NFC ضمن نطاق PN532.
    • تحقق من التداخل من الكائنات المعدنية أو غيرها من الأجهزة الإلكترونية.
  3. أخطاء I2C:

    • تأكد من عدم وجود أجهزة متضاربة في حافلة I2C.

خاتمة

وحدة PN532 NFC هي أداة متعددة الاستخدامات لإضافة إمكانيات NFC و RFID إلى مشاريع Raspberry PI الخاصة بك. باتباع هذا الدليل ، يمكنك إعداد واستخدام PN532 لتطبيقات مثل التحكم في الوصول ، وأتمتة إنترنت الأشياء ، وتبادل البيانات بدون اتصال. تجربة مع قراءة وكتابة علامات NFC لاستكشاف الإمكانات الكاملة لهذه الوحدة القوية!

اترك تعليقًا

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.