El PN532 es un módulo Versátil NFC (comunicación de campo cercano) que se puede usar para leer y escribir etiquetas NFC, así como para implementar sistemas RFID. El uso del PN532 con un Raspberry Pi le permite integrar las capacidades de NFC en sus proyectos para aplicaciones como control de acceso, pagos sin contacto y dispositivos IoT. Esta guía lo guía a través de la configuración y el uso del PN532 con una Raspberry Pi.
Lo que necesitarás
- Frambuesa pi (Cualquier modelo con soporte de GPIO, por ejemplo, PI 3, PI 4)
- Módulo PN532 NFC
- Cables de placa y jersey
- Una computadora con acceso SSH a la Raspberry Pi o un teclado y monitor conectado
- Python instalado en la Raspberry Pi
Paso 1: Cableado el PN532 al Raspberry Pi
El módulo PN532 admite múltiples protocolos de comunicación, incluidos I2C, SPI y UART. Esta guía utiliza la interfaz I2C para simplificar.
Conexiones (modo I2C)
PIN PN532 | Pin de frambuesa Pi |
---|---|
VCC | 3.3V (pin 1) |
Gnd | Tierra (pin 6) |
SDA | SDA (pin 3, GPIO2) |
SCL | SCL (pin 5, GPIO3) |
Sel0 | Gnd |
Sel1 | VCC |
Nota: Los pines SEL0 y SEL1 determinan el modo de comunicación. Conectar SEL0 a GND y SEL1 a VCC selecciona el modo I2C.
Paso 2: Habilite la interfaz I2C en Raspberry Pi
- Abra la herramienta de configuración de Raspberry Pi:
sudo raspi-config
- Navegar por Opciones de interfaz> I2C y habilitarlo.
- Reinicie la Raspberry Pi:
sudo reboot
Paso 3: Instale herramientas y bibliotecas requeridas
- Actualice su Raspberry PI:
sudo apt update && sudo apt upgrade -y
- Instale las herramientas I2C:
sudo apt install -y i2c-tools
- Instale las bibliotecas de Python para la comunicación I2C y la funcionalidad PN532:
pip install adafruit-circuitpython-pn532
Paso 4: Verifique la conexión
- Usar
i2cdetect
Para verificar el PN532 se detecta en el bus I2C:sudo i2cdetect -y 1
- Debería ver el PN532 en la dirección
0x24
o0x48
. Si no:- Revise su cableado.
- Asegúrese de que el PN532 esté alimentado.
Paso 5: Lectura de etiquetas NFC con Python
El siguiente script de Python demuestra cómo leer etiquetas NFC usando el PN532.
Ejemplo de código de 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()}")
Paso 6: Aplicaciones del PN532
- Control de acceso: Cree un sistema de bloqueo de puerta basado en NFC.
- Pagos sin contacto: Simule los sistemas de pago con tarjetas NFC.
- Proyectos de IoT: Use etiquetas NFC para activar eventos de automatización.
- Registro de datos: Escriba datos en etiquetas NFC para fines de inventario o seguimiento.
Solución de problemas
-
Dispositivo no detectado:
- Verifique las conexiones SDA y SCL.
- Asegúrese de que la interfaz I2C esté habilitada en Raspberry Pi.
- Verifique la configuración del pin SEL0 y SEL1 para el modo I2C.
-
Leer errores:
- Asegúrese de que la etiqueta NFC esté dentro del rango del PN532.
- Verifique la interferencia de los objetos metálicos u otros dispositivos electrónicos.
-
Errores I2C:
- Asegúrese de que no haya dispositivos en conflicto en el autobús I2C.
Conclusión
El módulo PN532 NFC es una herramienta versátil para agregar capacidades NFC y RFID a sus proyectos Raspberry Pi. Siguiendo esta guía, puede configurar y usar el PN532 para aplicaciones como el control de acceso, la automatización IoT y el intercambio de datos sin contacto. ¡Experimente con la lectura y la redacción de etiquetas NFC para explorar todo el potencial de este poderoso módulo!