Hardcore "urob si sám" - vstup do operačného systému pre NFC-máp
Urob Si Sám / / December 19, 2019
Až doteraz používatelia populárnych desktopových operačných systémov, nemal inú možnosť v položke operačného systému, s výnimkou hesla. Dosť na to vydržať! Je čas vyzdvihnúť spájku a vykonať postup overovania je porovnateľná v jednoduchosti s hladil jej mačku.
Dnes v kategórii DIY, budeme zdieľať nazrel na Instructables spôsob, ako zadať heslo pre prihlásenie do OS pomocou NFC-kartu.
Krok 1: Podrobnosti
potrebujeme:
- Arduino Leonardo
- Adafriut NFC Shield
- NFC card (štandardne dodávaný s Adafriut NFC štít)
- malý kúsok drôtu
- ostrý nôž
- spájka
- nástroj na rezanie a odstraňovanie drôtov
- počítačový
- micro-USB kábel
Krok 2: železo
Postup pre vytváranie hardvérový modul je veľmi jednoduché.
Jediná úprava potrebná na prevádzku zariadenia, je prerušiť spojenie medzi čapom a pin IRQ 2. Pre tento šikovný nôž.
Potom budete musieť pripojiť IRQ a 6 pinov pomocou prepojovacieho vodiča.
Skontrolujte neprítomnosť / prítomnosť kontaktu, môžete použiť multimeter, a jasnejšie pochopenie procesu zostavenie a Leonardo ponuka NFC modulu tu tomto krátkom videu. Všetko je znázornené krok za krokom a veľmi jasne:
Krok 3: Software
Nižšie je uvedený kód, ktorý musí byť vyplnený Arduino. Pred začatím sťahovania budete potrebovať, aby sa ubezpečil, že knižnice Adafruit NFC. Prečítajte si viac o tom tu.
#include
#include
#define IRQ 6 // táto trasa musí byť rez a znova zapojený!
# Define RESET 8
Adafruit_NFCShield_I2C NFC (IRQ, RESET);
//////////////////////////////////// SETUP
void setup () {
// nastavenie sériového knižnicu na 9600 bps
Serial.begin (9600);
// tu Adafruit RFID / NFC štít
nfc.begin ();
uint32_t versiondata = nfc.getFirmwareVersion ();
if (! versiondata) {
Serial.print ( «Nenašli PN53x dosku»);
pričom (1); // halt
}
// Got ok údaje, vytlačiť!
Serial.print ( «Nájdené 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);
// configure doska slúži na čítanie RFID tagov
NFC. SAMConfig ();
Keyboard.begin (); // iniciovať klávesnice
}
/////////////////////////////////// LOOP
bez znamienka číslica = 0;
void loop () {
uint8_t úspech;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; // Buffer pre uloženie vráteného UID
uint8_t uidLength; // Dĺžka UID (4 alebo 7 bajtov v závislosti od typu ISO14443A karty)
// čakanie na RFID karty sa ukázať!
Serial.println ( «Čakanie pre ISO14443A karty ...»);
// čakať na type ISO14443A kariet (Mifare, atď.). Keď jeden z nachádza
//, uid 'bude naplnený UID a uidLength uvedie
// ak uid je 4 bajty (Mifare Classic) alebo 7 bytov (Mifare Ultralight)
Úspech = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, uid, a uidLength);
uint32_t cardidentifier = 0;
if (úspech) {
// Našiel kartu!
Serial.print ( «Card zistený #»);
// otočiť štyri byte UID o Mifare klasickú do jedinej premennej #
cardidentifier = uid [3];
cardidentifier << = 8; cardidentifier | = uid [2];
cardidentifier << = 8; cardidentifier | = uid [1];
cardidentifier << = 8; cardidentifier | = uid [0];
Serial.println (cardidentifier);
if (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');
Oneskorenie (5000); // zaisťuje, že heslo sa opakovaná
}
}
}
Akonáhle je kód načítaný, otvoriť sériové sady monitora na 9600 Bd. Druhý zásobník NFC karty k čítačke a odstrániť. Monitor by mal zobraziť správu «karta detekovaná #card číslo». Vymeniť «cardidentifier ==» dostala číslo aktuálneho čísla karty v rade.
Teraz môžete zmeniť v časti kódu, ktorý je zodpovedný za zadanie hesla. Ako môžete vidieť, predvolené heslo je kombináciou «MojeHeslo». Nahraďte ju k nášmu súčasnému zadanie hesla do operačného systému (počet znakov hesla sa zmení jednoduchým pridaním / out liniek s «Keyboard.write tímu).
Reštartovanie finálny kód Arduino, a teraz, hneď ako sme priniesť túto kartu NFC čítačky, heslo bude okamžite zapísané do vstupného poľa. Stlačte Enter a radovať.
V komentári k projektu našla muža, ktorý ponúkol na doplnenie série príkaz zadanie hesla finále Keyboard.write (KEY_RETURN); eliminovať potrebu klávesou Enter, ale toto rozhodnutie nebolo overené.