-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1_Control_UUID-to_LED.ino
More file actions
83 lines (66 loc) · 1.93 KB
/
1_Control_UUID-to_LED.ino
File metadata and controls
83 lines (66 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/** A la lecture d'un tag NFC allume ledPinOK ou ledPinNO si la valeur est comprise ou non dans la liste de tags identifiés **/
/** include library */
#include "nfc.h"
/** define a nfc class */
NFC_Module nfc;
int ledPinOK =12;
int ledPinNO =13;
String valid_UUID = "77105186124";
void setup(void)
{
pinMode(ledPinOK, OUTPUT);
pinMode(ledPinNO, OUTPUT);
Serial.begin(9600);
nfc.begin();
Serial.println("NFC MF1S50 Reader!");
uint32_t versiondata = nfc.get_version();
/*if (! versiondata) {
Serial.print("Didn't find PN53x board");
while (1); // halt
}*/
// Affiche la version de la puce!
Serial.print("Puce PN5"); Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
/** Set normal mode, and disable SAM */
nfc.SAMConfiguration();
}
void loop(void)
{
u8 buf[32],sta;
String UUID; /* ajoutee */
/** Polling the mifar card, buf[0] is the length of the UID */
sta = nfc.InListPassiveTarget(buf);
digitalWrite(ledPinOK, LOW);
digitalWrite(ledPinNO, LOW);
/** check state and UID length */
if(sta && buf[0] == 4){
/** the card may be Mifare Classic card, try to read the block */
Serial.println();
Serial.print("UUID length:");
Serial.print(buf[0], DEC);
Serial.println();
Serial.print("UUID:");
nfc.puthex(buf+1, buf[0]);
Serial.print("Longueur :");
Serial.println(buf[0],DEC);
for (int i=1; i<=buf[0];i++){
if (buf[i]<0x10){
Serial.print("0");
}
Serial.print(buf[i]);
UUID.concat(buf[i]);
}
Serial.println();
// Verification du badge
if(UUID == valid_UUID){
Serial.print("OK");
digitalWrite(ledPinOK, HIGH);
}
else{
Serial.print("NO");
digitalWrite(ledPinNO, HIGH);
}
Serial.println();
}
}