Rfid RC522 su Raspberry pi3
Come progetto per un semplice sistema di rilevazione presenze ho pensato ad raspberry con a bordo un lettore RFID-RC522 RF.
Progetto che sulla carta sembrava molto semplice, almeno la parte di installazione, ma che alla fine mi ha portato via un po’ di tempo.
Andro’ solo a descrivere la parte di installazione e configurazione del modulo.
Lista della spesa:
– Modulo Rfid Rfid su amazon
– Raspberry Pi 3 Raspberry su amazon
– Cavetteria Cavetteria su amazon
Si puo ‘trovare anche a meno e consiglio di comprare, per non perdere tempo, i moduli presaldati.
Cominciando si monta Raspbian qui al download, ci son molte guide, è abbastanza semplice, ho scelto una version un pò vecchiotta visto che sul web sembrava funzionare al 100%, precisamente la 2016-03-18-raspbian-jessie.zip.
Configurato servizi e rete senza aggiornare il sistema e senza aggiornamento firmware (rpi-update).
Collegamento modulo:
Schema
RFID-RC522 Pin Raspberry PI Pin SDA/NSS 24 GPIO8 SCK 23 GPIO11 MOSI 19 GPIO10 MISO 21 GPIO9 IRQ No No GND 20 GND RST 22 GPIO25 3.3V/VCC 17 3V3
GPIO Raspberry Pi 3
Alcune foto:
Saldate correttamente il modulo per non avere problemi di collegamento.
Una volta riavviato il dispositivo abilitate il modulo spi:
– da shell sudo raspi-config.
– 9 Advanced Options.
– A6 SPI Enable/Disable automatic loading of SPI kernel module (needed for e.g. PiFace).
Per quest’ ultima selezionate l’ opzione carica al boot.
A questo punto il sistema chiederà un riavvio.
A sistema avviato modificate il file /boot/config.txt
sudo nano /boot/config.txt
e controllate la presenza delle righe seguenti, la prima da raspi-config abilita SPI mentre la seconda è necessaria per l’ utilizzo del lettore, senza non riuscivo a leggere.
dtparam=spi=on dtoverlay=spi-bcm2708
Per testare il dispositivo e leggere una delle carte fornite:
Installare git and python-dev:
sudo apt-get install python-dev git
Installare la libreria SPI-Py:
cd ~ git clone https://github.com/lthiery/SPI-Py.git cd SPI-Py sudo python setup.py install
Installare MFCR522-python:
cd ~ git clone https://github.com/mxgxw/MFRC522-python.git
Avviare lo script e passare la carta.
cd MFRC522-python/ sudo python Read.py
Se tutto andrà bene, alla fine è solo un test di lettura, a video dovreste avere il riconoscimento della carta.
Non ho approfondito molto alcuni argomenti (vedi caricamento al boot dtoverlay=spi-bcm2708) per questioni di tempo, ma alla fine funziona anche aggiornando il sistema e il firmware tramite:
sudo apt-get update sudo apt-get upgrade sudo apt-get install python-dev git
Versioni funzionanti:
Linux raspberrypi 4.4.45-v7+ #954 SMP Fri Jan 27 19:06:40 GMT 2017 armv7l GNU/Linux Linux raspberrypi 4.4.34-v7+ #930 SMP Wed Nov 23 15:20:41 GMT 2016 armv7l GNU/Linux
Se volete perdere un pò di tempo qui ho tovato parecchie informazioni utili:
github issues 1547
Poi si apre un mondo per creare un applicativo, python node.js o altro.