NFC dator Unlocker (3 / 4 steg)
Steg 3: programvara
#include < Wire.h >
#include < Adafruit_NFCShield_I2C.h >
#define IRQ-6 / / denna trace måste skära och nya ledningar!
#define återställa 8
Adafruit_NFCShield_I2C nfc (IRQ, RESET);
//////////////////////////////////// SETUP
void setup() {
Ställ in följetong bibliotek på 9600 bps
Serial.BEGIN(9600);
hitta Adafruit RFID/NFC sköld
NFC.BEGIN();
uint32_t versiondata = nfc.getFirmwareVersion();
om (! versiondata) {
Serial.Print hitta ("inte PN53x board");
samtidigt (1). stoppa
}
Fick ok data, skriva ut den!
Serial.Print ("Funna chip 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);
Konfigurera styrelsen för att läsa RFID-taggar
NFC. SAMConfig();
Keyboard.BEGIN(); initiera tangentbordet
}
/////////////////////////////////// LOOP
osignerad siffra = 0;
void loop() {
uint8_t framgång;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; Buffert för att lagra de returnerade UID
uint8_t uidLength; Längden på UID (4 eller 7 byte beroende på korttyp för ISO14443A)
vänta på RFID-kort att visa upp!
Serial.println ("väntar ett ISO14443A kort...");
Vänta en ISO14443A typ kort (Mifare, etc.). När en finns
uidLength anger uid"att fyllas med UID och
om uid är 4 byte (Mifare klassisk) eller 7 byte (Mifare Ultralight)
framgång = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, uid, & uidLength);
uint32_t cardidentifier = 0;
om (framgång) {
Hittade ett kort!
Serial.Print ("kort upptäcks #");
vända den fyra byten UID för en mifare klassisk i en enda variabel #
cardidentifier = uid [3].
cardidentifier << = 8; cardidentifier | = uid [2].
cardidentifier << = 8; cardidentifier | = uid [1].
cardidentifier << = 8; cardidentifier | = uid [0];
Serial.println(cardidentifier);
om (cardidentifier == 606061173) {
Keyboard.write('m');
Keyboard.write('y');
Keyboard.write('p');
Keyboard.write('a');
Keyboard.write('s');
Keyboard.write('s');
Keyboard.write('w');
Keyboard.write('o');
Keyboard.write('r');
Keyboard.write('d');
Delay(5000); ser till att lösenordet inte är upprepas
}
}
}
När koden är uppladdad, öppna den seriella monitor inställd på 9600 baud. Placera etiketten NFC på skölden för en sekund och sedan ta bort den. Seriella bildskärmen bör säga, "Kort upptäckt #card nummer." Kopiera den unika kortnummer och klistra in den i cardidentifier == 606061173 uttalande i koden. Kortnumret kommer att ersätta 606061173. Ändra därefter de keyboard.write rapporterna att bokstavera ditt lösenord en bokstav i taget. Reupload koden och när NFC taggen placeras på skölden det kommer att ange ditt lösenord för dig.