Hardcore "hágalo usted mismo" - la entrada del sistema operativo para NFC-mapa
Hágalo Usted Mismo / / December 19, 2019
Hasta ahora, los usuarios de sistemas operativos de escritorio populares no tenían ninguna otra posibilidad en la entrada de sistema operativo, excepto la contraseña. Lo suficiente como para soportarlo! Es el tiempo para recoger un soldador y hacer el procedimiento de autenticación es comparable en la sencillez con acariciando a su gato.
Hoy en la categoría de bricolaje, vamos a compartir espiado en instructables manera de introducir una contraseña para iniciar sesión en el sistema operativo usando NFC-tarjeta.
Paso 1: Detalles
Necesitamos:
- Arduino Leonardo
- Adafriut NFC Escudo
- tarjeta NFC (viene con NFC Adafriut Shield)
- un pequeño trozo de alambre
- un cuchillo afilado
- soldadura
- herramienta para cortar y pelar cables
- ordenador
- cable micro-USB
Paso 2: hierro
El procedimiento para crear un módulo de hardware es muy simple.
La única modificación necesaria para el funcionamiento del dispositivo es para romper la conexión entre el pasador y el pasador de IRQ 2. Para este cuchillo práctico.
Luego hay que conectar el IRQ y 6 pines con un cable de puente.
Comprobar la ausencia / presencia de un contacto, puede utilizar un multímetro, y para una mejor comprensión del proceso de construcción y Leonardo oferta NFC-módulo aquí este breve vídeo. Todo se muestra paso a paso y con mucha claridad:
Paso 3: Software
A continuación se muestra el código que debe ser llenado en Arduino. Antes de iniciar la descarga que necesita para asegurarse de que la biblioteca Adafruit NFC. Lea más sobre esto aquí.
# include
# include
#define IRQ 6 // esta traza se debe cortar y reconectado!
#define de RESET 8
Adafruit_NFCShield_I2C NFC (IRQ, RESET);
//////////////////////////////////// CONFIGURACIÓN
void setup () {
// configurar la biblioteca de serie a 9600 bps
Serial.begin (9600);
// encontrar escudo Adafruit RFID / NFC
nfc.begin ();
uint32_t versiondata = nfc.getFirmwareVersion ();
if (! versiondata) {
Serial.print ( «No ha encontrado ningún consejo PN53x»);
mientras que (1); // alto
}
// si tiene datos de ok, imprimirlo!
Serial.print ( «Encontrado chip de PN5»); Serial.println ((versiondata >> 24) y 0xFF, HEX);
Serial.print ( «Firmware Ver. «); Serial.print ((versiondata >> 16) y 0xFF, DEC);
Serial.print ( ''); Serial.println ((versiondata >> 8) y 0xFF, DEC);
// tabla de configuración para leer etiquetas RFID
NFC. SAMConfig ();
Keyboard.begin (); // iniciar el teclado
}
/////////////////////////////////// BUCLE
dígitos sin signo = 0;
void loop () {
uint8_t éxito;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; // buffer para almacenar el UID devuelto
uint8_t uidLength; // Longitud de la UID (4 o 7 bytes dependiendo del tipo de tarjeta de ISO14443A)
// espera para la tarjeta RFID a aparecer!
Serial.println ( «Esperando una tarjeta ISO14443A ...»);
// esperar a que un tipo de tarjetas ISO14443A (Mifare, etc.). Cuando uno se encuentra
// 'uid' se rellenará con el UID, y uidLength indicará
// si el UID es de 4 bytes (Mifare Classic) o 7 bytes (Mifare Ultralight)
= éxito nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, UID, y uidLength);
uint32_t cardidentifier = 0;
si (éxito) {
// Encontrado una tarjeta!
Serial.print ( «tarjeta detectada #»);
// enciende el UID de cuatro bytes de un Mifare Classic en una variable única #
cardidentifier = uid [3];
cardidentifier << = 8; cardidentifier | = uid [2];
cardidentifier << = 8; cardidentifier | = uid [1];
cardidentifier << = 8; cardidentifier | = uid [0];
Serial.println (cardidentifier);
si (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');
retardo (5000); // hace que la contraseña no se repite
}
}
}
Una vez cargado el código, abra el conjunto de monitores en serie a 9600 baudios. Una segunda bandeja de NFC-tarjeta al lector y quitar. El monitor debe mostrar un mensaje «tarjeta detectada número #card». Sustituir «cardidentifier ==» número recibido del número de la tarjeta actual en línea.
Ahora cambia la sección de código que se encarga de la contraseña. Como se puede ver, la contraseña predeterminada es una combinación de «mypassword». Sustituir a nuestra introducción de la contraseña actual en el sistema operativo (el número de caracteres de la contraseña se cambia mediante la simple adición de entrada / salida líneas con equipo de «Keyboard.write).
Al reiniciar el código final en el Arduino, y ahora, tan pronto como traemos esta tarjeta a la NFC-lector, será introducida inmediatamente la contraseña en el campo de entrada. Pulse Enter y se alegrará.
En los comentarios al proyecto encontrado a un hombre que se ofreció a complementar las series de entrada de contraseña comando final Keyboard.write (KEY_RETURN); para eliminar la necesidad de presionar Enter, pero esta decisión no ha sido verificada.