Hardcore „zrób to sam” - wejście do systemu operacyjnego dla NFC mapie
Zrób To Sam / / December 19, 2019
Do tej pory użytkownicy popularnych systemów operacyjnych nie ma żadnych innych możliwości w wejściu OS, z wyjątkiem hasła. Wystarczy, aby je znieść! Nadszedł czas, aby podnieść lutownicy i wykonać procedurę uwierzytelniania jest porównywalna w prostocie z głaszcząc jej kota.
Dziś w kategorii DIY, będziemy dzielić zerknął na Instructables sposób, aby wprowadzić hasło, aby zalogować się do systemu operacyjnego przy użyciu karty NFC.
Krok 1: Szczegóły
Potrzebujemy:
- Arduino Leonardo
- Adafriut NFC Tarcza
- karta NFC (w komplecie z Adafriut NFC Tarcza)
- mały kawałek drutu
- ostry nóż
- lutować
- Narzędzie do cięcia i odizolowywania przewodów
- komputer
- kabel micro-USB
Etap 2: żelazo
Procedura tworzenia modułu sprzętowego jest bardzo prosta.
Jedyną modyfikacją niezbędne do funkcjonowania urządzenia jest, aby przerwać połączenie pomiędzy kołkiem stykowym i przerwania 2. W tym poręcznym nożem.
Następnie trzeba podłączyć IRQ i 6 kołków z zwieracz.
Sprawdzić przy braku / obecności kontaktu, można użyć multimetru, a dla lepszego zrozumienia procesu budowania i Leonardo ofercie modułu NFC tutaj tym krótkim filmie. Wszystko jest pokazane krok po kroku i bardzo wyraźnie:
Krok 3: Software
Poniżej znajduje się kod, który należy wypełnić w Arduino. Przed rozpoczęciem pobierania należy upewnić się, że biblioteki Adafruit NFC. Czytaj więcej na ten temat tutaj.
#include
#include
#define IRQ 6 // ten ślad musi być cięte i Rewired!
#define RESET 8
Adafruit_NFCShield_I2C NFC (przerwań, reset);
//////////////////////////////////// KONFIGURACJA
void setup () {
// skonfigurować bibliotekę seryjny przy 9600 bps
Serial.begin (9600);
// znaleźć Adafruit RFID / NFC tarczę
nfc.begin ();
uint32_t versiondata = nfc.getFirmwareVersion ();
if (! versiondata) {
Serial.print ( «Nie znaleziono płytę PN53x»);
gdy (1); // halt
}
// Got dobre dane, wydrukować go!
Serial.print ( «Znalezione Chip PN5»); Serial.println ((versiondata >> 24) i 0xFF, HEX);
Serial.print ( «Firmware ver. «); Serial.print ((versiondata >> 16) & 0xFF, DEC);
Serial.print ( ''); Serial.println ((versiondata >> 8) i 0xFF, rozkład);
// tablica configure czytać etykiety RFID
NFC. SAMConfig ();
Keyboard.begin (); // zainicjowanie klawiatury
}
/////////////////////////////////// LOOP
unsigned cyfra = 0;
nieważne pętli () {
uint8_t sukces;
uint8_t UID [] = {0, 0, 0, 0, 0, 0, 0}; // Bufor do przechowywania wracającą UID
uint8_t uidLength; // Długość UID (4 lub 7 bajtów w zależności od typu karty ISO14443A)
// oczekiwanie na karty RFID, aby pokazać się!
Serial.println ( «Czekając na karcie ISO14443A ...»);
// czekaj na kartach typu ISO14443A (Mifare, itd.). Gdy je znajdzie
// „uid” zostanie wypełniona UID i uidLength wskaże
// jeśli UID 4 bajty (Mifare klasyczne) OR7 bajtów (Mifare Ultralekkie)
Sukces = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, identyfikatorze i uidLength);
uint32_t cardidentifier = 0;
if (sukces) {
// Znaleziono kartę!
Serial.print ( «Karta») wykryto #;
// włącz UID cztery bajt Mifare Classic w jednej zmiennej #
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');
Opóźnienie (5000); // pilnuje hasło nie jest powtarzany
}
}
}
Po załadowaniu kodu, otwórz seryjnego zestawu monitora do 9600 bodów. Druga taca NFC karty do czytnika i usunąć. Monitor powinien pojawić się komunikat «Karta wykryta numer #card». Wymienić «cardidentifier ==» odebrany numer bieżącego numeru karty w kolejce.
Teraz zmień fragment kodu, który jest odpowiedzialny za hasłem. Jak widać, domyślne hasło to połączenie «moje_hasło». Wymień go do naszego aktualnego wpisu hasło w systemie operacyjnym (liczba znaków hasło zostanie zmienione poprzez dodanie / out linii z zespołem «Keyboard.write).
Ponowne uruchomienie ostateczny kod w Arduino, a teraz po prostu jak najszybciej doprowadzić tę kartę do czytnika NFC, hasło zostanie natychmiast wprowadzony w polu wejściowym. Naciśnij Enter i radości.
W uwagach do projektu znaleźli człowieka, który zaproponował uzupełnienie serii hasła wejściowego komenda ostateczna Keyboard.write (KEY_RETURN); aby wyeliminować konieczność naciśnij Enter, ale nie została zweryfikowana ta decyzja.