Folosind PN532 cu Raspberry Pi

Using the PN532 with the Raspberry Pi

PN532 este un modul versatil NFC (aproape comunicare pe câmp) care poate fi utilizat pentru citirea și scrierea etichetelor NFC, precum și pentru implementarea sistemelor RFID. Utilizarea PN532 cu un Raspberry PI vă permite să integrați capabilitățile NFC în proiectele dvs. pentru aplicații precum controlul accesului, plățile fără contact și dispozitivele IoT. Acest ghid vă conduce prin configurarea și utilizarea PN532 cu un Raspberry Pi.


Ce vei avea nevoie

  1. Zmeură pi (Orice model cu suport GPIO, de exemplu, PI 3, PI 4)
  2. PN532 Modul NFC
  3. Tablă de pâine și jumper
  4. Un computer cu acces SSH la Raspberry Pi sau la o tastatură și un monitor conectat
  5. Python instalat pe Raspberry Pi

Pasul 1: Cablarea PN532 către Raspberry Pi

Modulul PN532 acceptă mai multe protocoale de comunicare, inclusiv I2C, SPI și UART. Acest ghid folosește interfața I2C pentru simplitate.

Conexiuni (modul I2C)

PN532 PIN Pinul de zmeură pi
VCC 3.3V (pinul 1)
GND Sol (pinul 6)
SDA SDA (pinul 3, GPIO2)
SCL SCL (PIN 5, GPIO3)
Sel0 GND
Sel1 VCC

Nota: Pinii SEL0 și SEL1 determină modul de comunicare. Conectarea SEL0 la GND și SEL1 la VCC selectează modul I2C.


Pasul 2: Activați interfața I2C pe Raspberry PI

  1. Deschideți instrumentul de configurare Raspberry PI:
    sudo raspi-config
    
  2. Navigați la Opțiuni de interfață> I2C și activează -l.
  3. Reporniți zmeura PI:
    sudo reboot
    

Pasul 3: Instalați instrumentele și bibliotecile necesare

  1. Actualizați -vă Raspberry PI:
    sudo apt update && sudo apt upgrade -y
    
  2. Instalați instrumentele I2C:
    sudo apt install -y i2c-tools
    
  3. Instalați bibliotecile Python pentru comunicarea I2C și funcționalitatea PN532:
    pip install adafruit-circuitpython-pn532
    

Pasul 4: Verificați conexiunea

  1. Utilizare i2cdetect Pentru a verifica PN532 este detectat în autobuzul I2C:
    sudo i2cdetect -y 1
    
  2. Ar trebui să vedeți PN532 la adresă 0x24 sau 0x48. Dacă nu:
    • Verificați -vă cablarea.
    • Asigurați -vă că PN532 este alimentat.

Pasul 5: Citirea etichetelor NFC cu Python

Următorul script Python demonstrează cum să citiți etichetele NFC folosind PN532.

Exemplu de cod Python

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()}")

Pasul 6: Aplicațiile PN532

  1. Controlul accesului: Creați un sistem de blocare a ușilor bazat pe NFC.
  2. Plăți fără contact: Simulați sistemele de plată cu carduri NFC.
  3. Proiecte IoT: Utilizați etichete NFC pentru a declanșa evenimente de automatizare.
  4. Jurnal de date: Scrieți date pe etichetele NFC în scopuri de inventar sau de urmărire.

Depanare

  1. Dispozitivul care nu este detectat:

    • Verificați conexiunile SDA și SCL.
    • Asigurați -vă că interfața I2C este activată pe Raspberry Pi.
    • Verificați configurația PIN SEL0 și SEL1 pentru modul I2C.
  2. Citiți erori:

    • Asigurați -vă că eticheta NFC se află în raza de acțiune a PN532.
    • Verificați dacă există interferențe de la obiecte metalice sau alte dispozitive electronice.
  3. Erori I2C:

    • Asigurați -vă că nu există dispozitive conflictuale în autobuzul I2C.

Concluzie

Modulul PN532 NFC este un instrument versatil pentru adăugarea de capacități NFC și RFID la proiectele dvs. de Raspberry Pi. Urmărind acest ghid, puteți configura și utiliza PN532 pentru aplicații precum accesul accesului, automatizarea IoT și schimbul de date fără contact. Experimentați cu citirea și scrierea etichetelor NFC pentru a explora întregul potențial al acestui puternic modul!

Lasă un comentariu

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.