Hardcore "tee se itse" - sisäänkäynnin käyttöjärjestelmä NFC-karttaa
Tee Se Itse / / December 19, 2019
Tähän asti käyttäjät suosittuja työpöydän käyttöjärjestelmissä ei ollut mitään muuta mahdollisuutta OS merkintä, paitsi salasanan. Tarpeeksi kestää sitä! On aika poimia juotin ja tehdä autentikointitoimenpide rinnastettavassa yksinkertaisuus silitti hänen kissa.
Tänään kategoriassa DIY annamme kurkisti klo Instructables tapa kirjoittaa salasanan kirjautumista käyttöjärjestelmään käyttäen NFC-kortti.
Vaihe 1: Tiedot
Tarvitsemme:
- Työläs Leonardo
- Adafriut NFC Shield
- NFC-kortti (mukana toimitetaan Adafriut NFC Shield)
- pieni pala lanka
- terävällä veitsellä
- juottaa
- työkalu leikkaus ja strippaus johdot
- tietokone
- mikro-USB-kaapeli
Vaihe 2: rauta
Menettely luoda laitteistomoduulille on hyvin yksinkertainen.
Ainoa tarvittava muutos laitteen toiminnan on murtaa yhteyden tapin ja tapin IRQ 2. Tätä kätevä veitsi.
Sitten sinun täytyy liittää IRQ ja 6 nastat hyppylangalla.
Tarkista puuttumista / läsnäoloa yhteystiedon, voit käyttää yleismittarilla, ja selkeämpi käsitys rakentaa prosessi ja Leonardo NFC-moduuli tarjolla täällä tämän lyhyen videon. Kaikki on esitetty vaihe vaiheelta ja hyvin selvästi:
Vaihe 3: Ohjelmistot
Alla on koodi, joka on täytettävä Arduino. Ennen lataus sinun täytyy varmistaa, että Adafruit NFC kirjastoon. Lue siitä lisää täällä.
#include
#include
#define IRQ 6 // tämä jälki on leikattava ja rewired!
#define RESET 8
Adafruit_NFCShield_I2C NFC (IRQ, RESET);
//////////////////////////////////// SETUP
void setup () {
// perustettu Serial kirjasto 9600 bps
Serial.begin (9600);
// löytää Adafruit RFID / NFC kilpi
nfc.begin ();
uint32_t versiondata = nfc.getFirmwareVersion ();
if (! versiondata) {
Serial.print ( «löytänyt PN53x aluksella»);
kun taas (1); // pysähtyi
}
// Got ok tietoja, tulostaa sen!
Serial.print ( «Löydetty siru PN5»); Serial.println ((versiondata >> 24) & 0xFF, HEX);
Serial.print ( «Firmware versio. «); Serial.print ((versiondata >> 16) ja 0xFF, DEC);
Serial.print ( ''); Serial.println ((versiondata >> 8) & 0xFF, DEC);
// konfiguroida aluksella lukea RFID-tunnisteita
NFC. SAMConfig ();
Keyboard.begin (); // aloittaa Näppäimistö
}
/////////////////////////////////// LOOP
unsigned numero = 0;
void loop () {
uint8_t menestys;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; // Buffer tallentaa palautetaan UID
uint8_t uidLength; // pituus UID (4 tai 7 tavua riippuen ISO14443A kortin tyyppi)
// odotetaan RFIDkortista paikalle!
Serial.println ( «odottamatta ISO14443A Card ...»);
// odottamaan ISO14443A tyypin kortteja (Mifare jne). Kun yksi on löydetty
// 'uid' tullaan asuttuja UID ja uidLength ilmoittaa
// jos uid on 4 tavua (Mifare Classic) tai 7 tavua (Mifare Ultralight)
menestys = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, uid, & uidLength);
uint32_t cardidentifier = 0;
jos (onnistuminen) {
// Löytyi kortti!
Serial.print ( «kortti havaitaan #»);
// käännä nelitavuisessa UID on Mifare Classic yhdeksi muuttuja #
cardidentifier = uid [3];
cardidentifier << = 8; cardidentifier | = uid [2];
cardidentifier << = 8; cardidentifier | = uid [1];
cardidentifier << = 8; cardidentifier | = uid [0];
Serial.println (cardidentifier);
jos (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');
viive (5000); // varmistaa salasanaa ei toistu
}
}
}
Kun koodi on ladattu, avaa Serial Monitor asetettu 9600. Toinen lokero NFC-kortin lukija ja poistaa. Monitori tulisi näyttää viestin «Kortin havaittu #card numero». Vaihda «cardidentifier ==» saanut useita nykyisiä kortin numero linjassa.
Nyt muuttaa esitetty koodia, joka on vastuussa salasanan. Kuten näette, oletussalasana on yhdistelmä «SalaSana». Korvata sen nykyinen salasana pääsyä käyttöjärjestelmän (merkkien määrä salasanan muutetaan lisäämällä yksinkertaisesti / pois linjat «Keyboard.write joukkue).
Uudelleenkäynnistyksen lopputunnuksen Arduino, ja nyt, heti kun tuomme tämän kortin NFC-lukija, salasana tulee välittömästi kirjataan syöttökenttään. Paina Enter ja iloita.
Kommenteissa hanke löysi miehen, joka tarjosi täydentää sarja komentosyöte salasanan lopullinen Keyboard.write (KEY_RETURN); poistamaan edes tarvitse painaa enteriä, mutta tämä päätös ei ole vahvistettu.