Controllo accessi da remoto con arduino lettore rfid e scheda ethernet + relè

Salve a tutti,
sono nuovo ed ho bisogno del vostro aiuto ho un progetto da realizzare so che ci sono diverse guide su internet ma non ho trovato ancora quella giusta.

Voglio realizzare un controllo accessi, in pratica arduino mi deve aprire una serratura elettronica a 12v con un lettore rfid e registrare il tutto (chi è entrato e a che ora) su un database cosi da poterti controllare anche da remoto. Da remoto vorrei anche avere la possibilità di registrare nuove schede rfid e cancellare quelle vecchie.

Cosa occorre?

Io avevo pensato ad:

1 Scheda Arduino uno R3
1 Scheda Rfid RC522
1 Scheda ethernet (non sò quale)
1 Scheda 2 relè 5Vdc relay

Ho visto anche le schede di Arduino Mini si possono utilizzare? e cosa occorre?

Che alimentazione devo dare a tutto?
La serratura elettronica deve avere una alimentazione a parte?

Se è possibile potreste anche fornirmi degli schemi di montaggio e programmi per il controllo di arduino.

Ciao e Grazie Mille

stepuniversal:
Se è possibile potreste anche fornirmi degli schemi di montaggio e programmi per il controllo di arduino.

Per questo ... rivolgiti ad un "consulente" che, a pagamento, ti svilupperà il tutto ! :smiling_imp:

Qui noi aiutiamo a correggere gli errori di programmi che uno fa, dando suggerimenti, consigliando, suggeriamo componenti, ecc. ma di sicuro ... NON facciamo il lavoro conto terzi.

Guglielmo

stepuniversal:
Cosa occorre?

Io avevo pensato ad:

1 Scheda Arduino uno R3
1 Scheda Rfid RC522
1 Scheda ethernet (non sò quale)
1 Scheda 2 relè 5Vdc relay

Direi che come “lista della spesa” iniziale può andare bene.

Come scheda Ethernet prendi quella originale così non hai problemi con le librerie ed il software.

Ti occorrerà anche un alimentatore da 12V in grado di fornire corrente sufficiente ad alimentare il tutto (se vuoi fare con un unico alimentatore) oppure un alimentatore più piccolo per alimentare l’elettronica ed uno dedicato alla sola serratura elettrica (… soluzione più consigliabile per evitare disturbi sull’alimentazione introdotti proprio dalla serratura).

Guglielmo

Grazie per i consigli,
ma vorrei provarci io e con l'aiuto di tutti voi non con l'aiuto a pagamento altrimenti non ci sarebbe più il piacere di costruire questo è un progetto amatoriale.

stepuniversal:
ma vorrei provarci io e con l'aiuto di tutti voi non con l'aiuto a pagamento ....

... da come l'avevi messa appariva che volessi la "pappa fatta". :smiling_imp:

Se invece ci provi tu ... benissimo, comincia a preparare il tutto, inizia a scrivere il codice e dopo ... chiedi aiuto ... :smiley:

Guglielmo

E per mettere su un db cosa potrei utilizare?

Provedo con l'acquisto

Grazie Mille

stepuniversal:
E per mettere su un db cosa potrei utilizzare?

... che DB ? dove sta il DB ? come c'accedi ? ... non abbiamo mica
Guglielmo

Avevo persato di mettere un db su un server e arduino trasferiva tutti i dati di accesso su di esso

non penso che tutto cio non sia fattibile :roll_eyes:

Da Arduino diventa difficile parlare direttamente con il DB, ma nulla ti vieta di parlare con un programma PHP tramite delle semplici HTTP GET e poi ... è il programma PHP che si interfaccia con il DB.

Guardati gli esempi che trovi nell'IDE di Arduino per la Ethernet.

Guglielmo

Salve sono riuscito a scrivere questo codice che funziona in parte, perchè vorrei collegare una scheda ethernet al mio progetto e scrivere nel codice una scheda master che mi deve servire per registrare altri tag. Mi potreste aiutare.

Grazie

Sono giorni che sono su questo codice e mi funziona in parte, adesso vorrei avere la possibilità di controllare i relè tramite internet, mi potresta aiutare a capire come fare.

Grazie

  • realizzare un controllo accessi
  • con un lettore rfid
  • registrare il tutto (chi è entrato e a che ora) su un database
  • controllare il tutto anche da remoto
  • controllare i relè tramite internet
  • mi deve aprire una serratura elettronica a 12v (che poi sarebbe elettrica 12VAC)
    hai dimenticato l'uso di una SD che è indispensabile

E tutto questo con una UNO?
l'hai detto qui

stepuniversal:
non penso che tutto cio non sia fattibile :roll_eyes:

Non hai sufficiente Ram e flash per farlo.

cosa dovrei fare?

Ho modificato il codice ma quando mi collego all'IP non visualizo nulla cosa sbaglio?
.

Il continuo del codice...

  // Look for new cards
    if ( ! mfrc522.PICC_IsNewCardPresent()) {
        return;
    }
 
    // Select one of the cards
    if ( ! mfrc522.PICC_ReadCardSerial()) {
        return;
    }

se commenti questo pezzo funziona, il perchè va ricercato nella libreria MFRC522.h o cpp che pare lavori su un css che va in conflitto con la ethernet o non lo hai dichiarato proprio quel pin.

Arduino Uno Arduino Mega MFRC522 board


  • Reset 9 5 RST
  • SPI SS 10 53 SDA
  • SPI MOSI 11 51 MOSI
  • SPI MISO 12 50 MISO
  • SPI SCK 13 52 SCK
  • The reader can be found on eBay for around 5 dollars. Search for “mf-rc522” on ebay.com.
    */

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

come hai collegato questa scheda?

Grazie per l'aiuto...
la scheda lo collegata come segue:

Arduino Uno MFRC522 board


  • Reset 7 RST
  • SPI SS 6 SDA
  • SPI MOSI 11 MOSI
  • SPI MISO 12 MISO
  • SPI SCK 13 SCK

La scheda ethernet lo collegata sopra Arduino Uno

Cosa mi consigliate di fare?

stepuniversal:
Cosa mi consigliate di fare?

di controllare bene l'impostazione dei pin

nel tuo sketch vedo solo questi

#define LED_VERDE       3
#define LED_ROSSO       4
#define RELE_PORTA      5          
#define RELE_CORTESIA   2          
#define BUZZ_PIN        8  

pinMode(LED_VERDE, OUTPUT);  //Led Accesso consentito
pinMode(LED_ROSSO, OUTPUT);  //Led accesso vietato
pinMode(RELE_PORTA, OUTPUT);                 // Definisco che il pin dove e' collegato il rele' sara' di OUTPUT
                                       //controllo se è stato scelto di attivare o meno il relè, nel primo caso, imposto il pin assegnatogli come output
pinMode(RELE_CORTESIA, OUTPUT);    // Definisco che il pin dove e' collegato il rele' sara' di OUTPUT
pinMode(BUZZ_PIN,OUTPUT);

mentre nel playground vedo che viengono definiti anche i pin importanti reset e chipselect:

#define SS_PIN 10
#define RST_PIN 9

http://playground.arduino.cc/Learning/MFRC522

Ti consiglio di prendere un esempio base rfid funzionate e ripartire da li, verificare che l'rfid funzioni come dovrebbe
poi un esempio base di webserver e verificare che funzioni bene

Ora sei pronto ad unirli

ciao