Hardcore „csináld magad” - a bejárat az operációs rendszer NFC-térkép
Csináld Magad / / December 19, 2019
Eddig a felhasználók a népszerű asztali operációs rendszerek nem volt más lehetőség az OS belépés, kivéve a jelszót. Elég elviselni! Itt az ideje, hogy vegye fel a forrasztópáka tenni a hitelesítési eljárás hasonló az egyszerűség simogató vele macska.
Ma a kategóriában DIY, akkor megosztjuk kukucskált át Instructables módja annak, hogy adja meg a bejelentkezési jelszót az operációs rendszer az NFC-kártya.
1. lépés: Részletek
Szükségünk van:
- Arduino Leonardo
- Adafriut NFC Shield
- NFC-kártya (jön a teljes, Adafriut NFC Shield)
- egy kis darab drót
- Egy éles késsel
- forraszt
- eszköz vágás és eltávolító vezetékek
- számítógép
- mikro-USB-kábel
2. lépés: a vas
Az eljárás létrehozásának hardver modul nagyon egyszerű.
Az egyetlen módosítás szükséges a készülék működését, hogy megtörjük a kapcsolatot közötti pin és pin IRQ 2. Erre praktikus kés.
Ezután meg kell csatlakoztatni az IRQ és 6 csapokat egy áthidaló vezetéket.
Ellenőrizze a hiánya / jelenléte a kapcsolat, akkor egy multiméter és egy világosabb megértése a fordítási folyamat és Leonardo NFC-modul ajánlat itt ezt a rövid videót. Minden látható lépésről lépésre, és nagyon világosan:
3. lépés: Szoftver
Az alábbiakban a kód, amelyet ki kell tölteni Arduino. Megkezdése előtt a letöltés meg kell győződnie arról, hogy az Adafruit NFC könyvtárban. További részletek itt.
#include
#include
#define IRQ 6 // ez nyoma kell vágni, és újra!
#define RESET 8
Adafruit_NFCShield_I2C NFC (IRQ, RESET);
//////////////////////////////////// SETUP
void setup () {
// létrehozott Soros könyvtár 9600 bps
Serial.begin (9600);
// találni Adafruit RFID / NFC pajzs
nfc.begin ();
uint32_t versiondata = nfc.getFirmwareVersion ();
if (! versiondata) {
Serial.print ( «Nem találja PN53x board»);
míg a (1); // megállt
}
// Got ok adatokat, nyomtassa ki!
Serial.print ( «talált 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 fórumon olvasni az RFID-címkék
NFC. SAMConfig ();
Keyboard.begin (); // megindítja a billentyűzet
}
/////////////////////////////////// LOOP
előjel nélküli számjegy = 0;
void hurok () {
uint8_t siker;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; // Buffer tárolni a visszaküldött UID
uint8_t uidLength; // hossza az UID (4 vagy 7 bájt függően ISO14443A kártya típusa)
// várakozás RFID kártyát jelenne meg!
Serial.println ( «Várakozás ISO14443A Card ...»);
// várjon egy ISO14443A típusú kártyák (Mifare, stb.) Ha valaki talált
// „uid” fognak megjelenni az UID és uidLength jelzi
// Ha az UID-4 bájt (Mifare Classic) vagy 7 bájt (Mifare Ultralight)
siker = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, UID, & uidLength);
uint32_t cardidentifier = 0;
ha (a siker) {
// talált egy kártyát!
Serial.print ( «Card észlelt #»);
// viszont a négy byte UID egy Mifare klasszikus egyetlen változó #
cardidentifier = uid [3];
cardidentifier << = 8; cardidentifier | = UID [2];
cardidentifier << = 8; cardidentifier | = UID [1];
cardidentifier << = 8; cardidentifier | = UID [0];
Serial.println (cardidentifier);
ha (cardidentifier == 606.061.173) {
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');
késleltetés (5000); // teszi, hogy a jelszó nem ismételjük
}
}
}
Ha a kód betöltése megnyitni a soros monitor szett 9600-ra. Egy második tálca NFC-kártyát az olvasónak és eltávolítás. A monitoron egy üzenet «Card észlelt #card szám». Cserélje «cardidentifier ==» megkapta száma az aktuális kártya száma a sorban.
Most az kódrészlet, amely felelős a jelszót. Mint látható, az alapértelmezett jelszó kombinációja «mypassword». Cserélje a jelenlegi jelszót belépését az operációs rendszer (a karakterek száma a jelszó megváltozik, hozzátéve / ki vonalak «Keyboard.write csapat).
Újraindítása a végleges kódot a Arduino, és most, mihelyt hozzuk ezt a kártyát az NFC-olvasó, a jelszót azonnal be kell jegyezni a beviteli mezőbe. Az Enter billentyű lenyomásával és örül.
Az észrevételeket a projekt talált egy férfit, aki felajánlotta, hogy kiegészítse a sorozat parancsbemenetet jelszó végleges Keyboard.write (KEY_RETURN); hogy nincs szükség az Enter, de ezt a döntést még nem igazolták.