MAJ Firmware pour Identification par Pilote
This commit is contained in:
parent
0d4df4c0fc
commit
08c0d2a9d9
74
src/main.cpp
74
src/main.cpp
|
@ -2,65 +2,73 @@
|
|||
#include <SPI.h>
|
||||
#include <MFRC522.h>
|
||||
|
||||
#define RST_PIN 9 // Configurable, see typical pin layout above
|
||||
#define SS_1_PIN 10 // Configurable, take a unused pin, only HIGH/LOW required, must be different to SS 2
|
||||
#define RST_PIN 9 // Configurable, see typical pin layout above
|
||||
#define SS_1_PIN 10 // Configurable, take a unused pin, only HIGH/LOW required, must be different to SS 2
|
||||
|
||||
MFRC522 mfrc522; // Create MFRC522 instance.
|
||||
MFRC522 mfrc522; // Create MFRC522 instance.
|
||||
String SerialCMD;
|
||||
|
||||
/**
|
||||
* Helper routine to dump a byte array as hex values to Serial.
|
||||
*/
|
||||
void dump_byte_array(byte *buffer, byte bufferSize) {
|
||||
for (byte i = 0; i < bufferSize; i++) {
|
||||
void dump_byte_array(byte *buffer, byte bufferSize)
|
||||
{
|
||||
for (byte i = 0; i < bufferSize; i++)
|
||||
{
|
||||
Serial.print(buffer[i] < 0x10 ? " 0" : " ");
|
||||
Serial.print(buffer[i], HEX);
|
||||
}
|
||||
}
|
||||
|
||||
void serialprint_rfid_uid()
|
||||
{
|
||||
Serial.print(F("R#"));
|
||||
// Show some details of the PICC (that is: the tag/card)
|
||||
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
|
||||
Serial.print(F("#"));
|
||||
MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
|
||||
// Serial.println(mfrc522.PICC_GetTypeName(piccType));
|
||||
Serial.print(piccType, HEX);
|
||||
Serial.print(F("#"));
|
||||
Serial.println(mfrc522.PICC_GetTypeName(piccType));
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize.
|
||||
*/
|
||||
void setup() {
|
||||
void setup()
|
||||
{
|
||||
|
||||
Serial.begin(9600); // Initialize serial communications with the PC
|
||||
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
|
||||
while (!Serial)
|
||||
; // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
|
||||
|
||||
SPI.begin(); // Init SPI bus
|
||||
SPI.begin(); // Init SPI bus
|
||||
|
||||
mfrc522.PCD_Init(SS_1_PIN, RST_PIN); // Init each MFRC522 card
|
||||
Serial.print(F("Reader "));
|
||||
Serial.print(F(": "));
|
||||
Serial.print(F("AT168RC522#Reader#"));
|
||||
mfrc522.PCD_DumpVersionToSerial();
|
||||
}
|
||||
|
||||
/**
|
||||
* Main loop.
|
||||
*/
|
||||
void loop() {
|
||||
void loop()
|
||||
{
|
||||
|
||||
if (Serial.available() > 0) {
|
||||
SerialCMD = Serial.readString();
|
||||
SerialCMD.trim();
|
||||
}
|
||||
|
||||
if ((mfrc522.PICC_IsNewCardPresent() || SerialCMD.startsWith("READ") ) && mfrc522.PICC_ReadCardSerial()) {
|
||||
Serial.print(F("R#"));
|
||||
// Show some details of the PICC (that is: the tag/card)
|
||||
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
|
||||
Serial.print(F("#"));
|
||||
MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
|
||||
//Serial.println(mfrc522.PICC_GetTypeName(piccType));
|
||||
Serial.print(piccType,HEX);
|
||||
Serial.print(F("#"));
|
||||
Serial.println(mfrc522.PICC_GetTypeName(piccType));
|
||||
if (Serial.available() > 0)
|
||||
{
|
||||
SerialCMD = Serial.readString();
|
||||
SerialCMD.trim();
|
||||
}
|
||||
|
||||
// Halt PICC
|
||||
mfrc522.PICC_HaltA();
|
||||
// Stop encryption on PCD
|
||||
mfrc522.PCD_StopCrypto1();
|
||||
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial())
|
||||
{
|
||||
serialprint_rfid_uid();
|
||||
// Halt PICC
|
||||
mfrc522.PICC_HaltA();
|
||||
// Stop encryption on PCD
|
||||
mfrc522.PCD_StopCrypto1();
|
||||
}
|
||||
|
||||
//Reset SerialCMD
|
||||
SerialCMD = "";
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue