De PN532 is een veelzijdige NFC -module (Near Field Communication) die kan worden gebruikt voor het lezen en schrijven van NFC -tags, evenals voor het implementeren van RFID -systemen. Met behulp van de PN532 met een Raspberry PI kunt u NFC -mogelijkheden integreren in uw projecten voor applicaties zoals toegangscontrole, contactloze betalingen en IoT -apparaten. Deze gids leidt u door het opzetten en gebruiken van de PN532 met een Raspberry Pi.
Wat u nodig hebt
- Raspberry Pi (Elk model met GPIO -ondersteuning, bijvoorbeeld PI 3, PI 4)
- PN532 NFC -module
- Breadboard en jumper draden
- Een computer met SSH -toegang tot de Raspberry Pi of een aangesloten toetsenbord en monitor
- Python geïnstalleerd op de Raspberry Pi
Stap 1: De PN532 bedraden naar de Raspberry Pi
De PN532 -module ondersteunt meerdere communicatieprotocollen, waaronder I2C, SPI en UART. Deze gids gebruikt de I2C -interface voor eenvoud.
Verbindingen (I2C -modus)
PN532 PIN | Raspberry Pi Pin |
---|---|
VCC | 3.3V (pin 1) |
GND | Grond (pin 6) |
SDA | SDA (Pin 3, GPIO2) |
SCL | SCL (Pin 5, GPIO3) |
Sel0 | GND |
SEL1 | VCC |
Opmerking: De SEL0- en SEL1 -pinnen bepalen de communicatiemodus. SEL0 verbinden met GND en SEL1 met VCC selecteert de I2C -modus.
Stap 2: Schakel de I2C -interface in op de Raspberry Pi
- Open de Raspberry Pi -configuratie -tool:
sudo raspi-config
- Navigeren naar Interface -opties> I2C en schakel het in.
- Start de Raspberry Pi opnieuw op:
sudo reboot
Stap 3: Installeer de vereiste tools en bibliotheken
- Update uw Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installeer de I2C -tools:
sudo apt install -y i2c-tools
- Installeer Python -bibliotheken voor I2C -communicatie en PN532 -functionaliteit:
pip install adafruit-circuitpython-pn532
Stap 4: Controleer de verbinding
- Gebruik
i2cdetect
Om te verifiëren wordt de PN532 op de I2C -bus gedetecteerd:sudo i2cdetect -y 1
- U zou de PN532 op adres moeten zien
0x24
of0x48
. Zo niet:- Controleer uw bedrading.
- Zorg ervoor dat de PN532 wordt aangedreven.
Stap 5: NFC -tags lezen met Python
Het volgende Python -script laat zien hoe NFC -tags te lezen met behulp van de PN532.
Python Code Voorbeeld
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()}")
Stap 6: Toepassingen van de PN532
- Toegangscontrole: Maak een NFC-gebaseerd deurslotsysteem.
- Contactloze betalingen: Simuleer betalingssystemen met NFC -kaarten.
- IoT -projecten: Gebruik NFC -tags om automatiseringsgebeurtenissen te activeren.
- Gegevensregistratie: Schrijf gegevens naar NFC -tags voor inventaris- of volgdoeleinden.
Problemen oplossen
-
Apparaat niet gedetecteerd:
- Controleer SDA- en SCL -verbindingen.
- Zorg ervoor dat de I2C -interface is ingeschakeld op de Raspberry Pi.
- Controleer de SEL0- en SEL1 -pin -configuratie voor de I2C -modus.
-
Lees fouten:
- Zorg ervoor dat de NFC -tag zich binnen het bereik van de PN532 bevindt.
- Controleer op interferentie van metaalobjecten of andere elektronische apparaten.
-
I2C -fouten:
- Zorg ervoor dat er geen tegenstrijdige apparaten op de I2C -bus staan.
Conclusie
De PN532 NFC -module is een veelzijdig hulpmiddel voor het toevoegen van NFC- en RFID -mogelijkheden aan uw Raspberry PI -projecten. Door deze handleiding te volgen, kunt u de PN532 instellen en gebruiken voor applicaties zoals toegangscontrole, IoT -automatisering en contactloze gegevensuitwisseling. Experiment with reading and writing NFC tags to explore the full potential of this powerful module!