Per verificare le ulteriori grandi possibilità di un Raspberry si può collegare ad esso un lettore e scrivere su un badge con il componente RFID 522.
RFID-RC522 è un modulo di lettura di tag RFID. A bassa tensione, a basso costo, la piccola dimensione del chip della carta contact-less lo rendono la scelta migliore per i sistemi di identificazione radio.
RC522 usa tecnologie avanzate di modulazione e demodulazione completamente integrate in tutti i tipi di metodi di comunicazione senza contatto passivo a 13,56 MHz.
Compatibile con i trasponder 14443A. La parte digitale consente di gestire i frames ISO14443A e la rilevazione degli errori, supporta inoltre l’algoritmo di cifratura rapida CRYPTO1. MFRC522 è compatibile con la serie MIFARE contact-less ad alta velocità, a due vie, con velocità di trasmissione dati fino a 424kbit/s.
Per prima cosa bisogna collegarlo con il Raspberry con il seguente ordine:
- SDA connects to Pin 24.
- SCK connects to Pin 23.
- MOSI connects to Pin 19.
- MISO connects to Pin 21.
- GND connects to Pin 6.
- RST connects to Pin 22.
- 3.3v connects to Pin 1.
Adesso bisogna attivare l’interfaccia SPI del Raspberry. Se si vogliono approfondimenti sul tipo di interfaccia consiglio il seguente articolo approfondimenti SPI.
Come root:
raspi-config
Selezionare il punto 5 Interfacing Options e quindi P4 SPI.
Effettuare il reboot del Raspberry.
Quindi come root
apt-get install python2.7-dev python-pip git
successivamente dare il comando
pip install spidev
quindi
pip install mfrc522
creare la libreria in cui inserirò i miei applicativi Python
mkdir ~/pi-rfid
adesso creare il file Write.py
che conterrà:
#!/usr/bin/env python
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
try:
text = raw_input(‘New data:’)
print(“Now place your tag to write”)
reader.write(text)
print(“Written”)
finally:
GPIO.cleanup()
Per eseguire il file è sufficiente digitare:
python Write.py
Per leggere RFID si crea il file Read.py contenente le seguenti righe di codice:
#!/usr/bin/env python
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
try:
id, text = reader.read()
print(id)
print(text)
finally:
GPIO.cleanup()
e si eseguirà con il comando:
python Read.py