Za pomocą PN532 z Raspberry Pi

Using the PN532 with the Raspberry Pi

PN532 to wszechstronny moduł NFC (komunikacja w pobliżu pola), który można użyć do czytania i pisania tagów NFC, a także do wdrażania systemów RFID. Korzystanie z PN532 z Raspberry Pi umożliwia integrację funkcji NFC z projektami dla aplikacji, takich jak kontrola dostępu, płatności bez kontaktu i urządzenia IoT. Ten przewodnik poprowadzi Cię przez konfigurowanie i korzystanie z PN532 z Raspberry Pi.


Czego będziesz potrzebować

  1. Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
  2. Moduł PN532 NFC
  3. Druty chleba i skoczków
  4. Komputer z dostępem do SSH do Raspberry Pi lub podłączonej klawiatury i monitorowania
  5. Python zainstalowany na Raspberry Pi

Krok 1: Okablowanie PN532 do Raspberry Pi

Moduł PN532 obsługuje wiele protokołów komunikacyjnych, w tym I2C, SPI i UART. W tym przewodniku wykorzystuje interfejs I2C dla uproszczenia.

Połączenia (tryb I2C)

PN532 PIN Pin Raspberry Pi
VCC 3,3 V (pin 1)
GND Uziemienie (pin 6)
SDA SDA (pin 3, GPIO2)
Scl SCL (pin 5, GPIO3)
SEL0 GND
SEL1 VCC

Notatka: Piny SEL0 i SEL1 określają tryb komunikacji. Podłączanie SEL0 z GND i SEL1 do VCC wybiera tryb I2C.


Krok 2: Włącz interfejs I2C na Raspberry Pi

  1. Otwórz narzędzie konfiguracyjne Raspberry Pi:
    sudo raspi-config
    
  2. Przejść do Opcje interfejsu> i2c i włącz to.
  3. Uruchom ponownie Raspberry Pi:
    sudo reboot
    

Krok 3: Zainstaluj wymagane narzędzia i biblioteki

  1. Zaktualizuj swoje Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Zainstaluj narzędzia I2C:
    sudo apt install -y i2c-tools
    
  3. Zainstaluj biblioteki Python do komunikacji I2C i funkcjonalności PN532:
    pip install adafruit-circuitpython-pn532
    

Krok 4: Sprawdź połączenie

  1. Używać i2cdetect Aby sprawdzić, czy PN532 jest wykrywane w autobusie I2C:
    sudo i2cdetect -y 1
    
  2. Powinieneś zobaczyć PN532 pod adresem 0x24 Lub 0x48. W przeciwnym razie:
    • Sprawdź okablowanie.
    • Upewnij się, że PN532 jest zasilany.

Krok 5: Czytanie tagów NFC z Pythonem

Poniższy skrypt Python pokazuje, jak czytać znaczniki NFC za pomocą PN532.

Przykład kodu Pythona

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

Krok 6: Zastosowania PN532

  1. Kontrola dostępu: Utwórz system zamków drzwi oparty na NFC.
  2. Płatności bez kontaktu: Symuluj systemy płatności kartami NFC.
  3. Projekty IoT: Użyj tagów NFC, aby wyzwolić zdarzenia automatyzacji.
  4. Rejestrowanie danych: Zapisz dane do tagów NFC do celów zapasów lub śledzenia.

Rozwiązywanie problemów

  1. Urządzenie nie wykryte:

    • Sprawdź połączenia SDA i SCL.
    • Upewnij się, że interfejs I2C jest włączony na Raspberry Pi.
    • Sprawdź konfigurację PIN SEL0 i SEL1 dla trybu I2C.
  2. Przeczytaj błędy:

    • Upewnij się, że znacznik NFC znajduje się w zakresie PN532.
    • Sprawdź zakłócenia z metalowych obiektów lub innych urządzeń elektronicznych.
  3. Błędy I2C:

    • Upewnij się, że w autobusie I2C nie ma sprzecznych urządzeń.

Wniosek

Moduł NFC PN532 to wszechstronne narzędzie do dodawania możliwości NFC i RFID do projektów Raspberry Pi. Postępując zgodnie z tym przewodnikiem, możesz skonfigurować i użyć PN532 dla aplikacji takich jak kontrola dostępu, automatyzacja IoT i Bezpośrednie wymianę danych. Eksperymentuj z czytaniem i pisaniem tagów NFC, aby zbadać pełny potencjał tego potężnego modułu!

Zostaw komentarz

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.