Usando o PN532 com o Raspberry Pi

Using the PN532 with the Raspberry Pi

O PN532 é um módulo versátil NFC (comunicação de campo próximo) que pode ser usado para ler e escrever tags NFC, bem como para implementar sistemas RFID. O uso do PN532 com um Raspberry Pi permite integrar os recursos da NFC em seus projetos para aplicativos como controle de acesso, pagamentos sem contato e dispositivos de IoT. Este guia orienta você a configurar e usar o PN532 com um Raspberry Pi.


O que você precisará

  1. Raspberry Pi (Qualquer modelo com suporte GPIO, por exemplo, PI 3, PI 4)
  2. Módulo PN532 NFC
  3. Fios de pão e jumper
  4. Um computador com acesso SSH ao Raspberry Pi ou um teclado conectado e monitor
  5. Python instalado no Raspberry Pi

Etapa 1: Fiação do PN532 para o Raspberry Pi

O módulo PN532 suporta vários protocolos de comunicação, incluindo I2C, SPI e UART. Este guia usa a interface I2C para simplificar.

Conexões (modo i2c)

Pin pn532 Pino de framboesa pi
VCC 3.3V (pino 1)
Gnd Terra (pino 6)
SDA SDA (pino 3, gpio2)
SCL SCL (pino 5, gpio3)
SEL0 Gnd
SEL1 VCC

Observação: Os pinos SEL0 e SEL1 determinam o modo de comunicação. Conectando SEL0 ao GND e SEL1 ao VCC Seleciona o modo I2C.


Etapa 2: Ative a interface I2C no Raspberry Pi

  1. Abra a ferramenta de configuração do Raspberry Pi:
    sudo raspi-config
    
  2. Navegar para Opções de interface> i2c e ativá -lo.
  3. Reinicie o Raspberry Pi:
    sudo reboot
    

Etapa 3: Instale as ferramentas e bibliotecas necessárias

  1. Atualize seu Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instale as ferramentas i2C:
    sudo apt install -y i2c-tools
    
  3. Instale as bibliotecas Python para comunicação I2C e funcionalidade PN532:
    pip install adafruit-circuitpython-pn532
    

Etapa 4: verifique a conexão

  1. Usar i2cdetect Para verificar se o PN532 é detectado no barramento i2C:
    sudo i2cdetect -y 1
    
  2. Você deve ver o PN532 no endereço 0x24 ou 0x48. Se não:
    • Verifique sua fiação.
    • Verifique se o PN532 está alimentado.

Etapa 5: Lendo tags NFC com Python

O script Python a seguir demonstra como ler tags NFC usando o PN532.

Exemplo de código 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()}")

Etapa 6: Aplicações do PN532

  1. Controle de acesso: Crie um sistema de trava de porta baseado em NFC.
  2. Pagamentos sem contato: Simular sistemas de pagamento com cartões NFC.
  3. Projetos de IoT: Use tags NFC para acionar eventos de automação.
  4. Registro de dados: Escreva dados em tags NFC para fins de inventário ou rastreamento.

Solução de problemas

  1. Dispositivo não detectado:

    • Verifique as conexões SDA e SCL.
    • Verifique se a interface I2C está ativada no Raspberry Pi.
    • Verifique a configuração do pino SEL0 e SEL1 para o modo I2C.
  2. Leia erros:

    • Verifique se a tag NFC está dentro do intervalo do PN532.
    • Verifique se a interferência de objetos metálicos ou outros dispositivos eletrônicos.
  3. Erros i2c:

    • Certifique -se de que não haja dispositivos conflitantes no barramento i2C.

Conclusão

O módulo PN532 NFC é uma ferramenta versátil para adicionar recursos NFC e RFID aos seus projetos Raspberry Pi. Seguindo este guia, você pode configurar e usar o PN532 para aplicações como controle de acesso, automação de IoT e troca de dados sem contato. Experimente a leitura e a escrita de tags NFC para explorar todo o potencial deste poderoso módulo!

Deixe um comentário

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.