Hoy armaremos un dispositivo que recordará nuestras contraseñas y al presionar el botón las ingresaremos automáticamente en la computadora. En este caso, las contraseñas estarán protegidas. El autor de este producto casero es Michael (canal de YouTube "Arturos TV").
Para la fabricación independiente de dicho dispositivo, solo necesitamos 3 componentes. En primer lugar, esta es, por supuesto, una plataforma (no confunda con arduino Pro mini).
Este arduino tiene un microcontrolador ATmega32u4, lo que significa que tiene un USB incorporado, es decir, la computadora reconoce este arduino como un mouse o teclado. Es alrededor de esta característica que se construirá el proyecto de hoy.
Además, este arduino tiene un pinout algo no estándar. Sin embargo, nos encontraremos con esto un poco más tarde. Además, tendremos que navegar por el menú y luego ingresar la contraseña.
Abordemos brevemente el principio de su trabajo. El codificador tiene 2 contactos llamados condicionalmente, ayb, dependiendo de en qué dirección se girará el codificador.
Por ejemplo, si lo giramos en el sentido de las agujas del reloj, el contacto “a” se cierra primero y solo luego el contacto “b”. En base a esto, en el programa podemos entender que el codificador se ha girado en sentido horario. Si gira en sentido antihorario, entonces el contacto "b" se cerrará primero, y solo entonces el contacto "a". Después de cada revolución, también se siente un ligero clic. Es sobre esta base que se basará la contraseña, que deberá ingresarse para obtener acceso a nuestro dispositivo.
El menú del dispositivo se mostrará en el familiar, por supuesto, en el bus I2C.
Y hay un ligero matiz. En arduino pro micro, los contactos I2C no están en los puertos estándar A5 y A4, sino en los contactos 2 y 3, por lo que debe conectar la pantalla aquí.
En general, el diagrama de todo el dispositivo ensamblado se ve así:
Por supuesto, imprimiremos el estuche en una impresora 3D.
Esta vez resultó muy bien, pero por alguna razón el autor decidió hacer el diseño y, por lo tanto, la cubierta inferior no era muy hermosa. Pero no hay nada que hacer, pero con las dimensiones de la caja y la distancia entre los agujeros, esta vez todo salió muy bien. Todos los detalles cayeron en su lugar, y con muy poca dificultad resultó apretar todos los tornillos para fijar las piezas. Desafortunadamente, el pegamento caliente fue nuevamente posible, pero en este proyecto ya era un poco.
Por supuesto, lo más interesante de este proyecto fue escribir el firmware.
No profundizaremos en sus detalles, pero es necesario informarle sobre algunas de sus características. En primer lugar, este es el uso de la biblioteca keyboard.h.
Esta biblioteca se usa solo con las placas micro arduino leonardo y arduino pro o con las que tienen microcontroladores usb incorporados. Si intenta flashear con este boceto cualquier otro arduino que no tenga un usb incorporado, el entorno de desarrollo lo jurará, así que tenga cuidado. Otra biblioteca interesante es EEPROM.h.
Su autor lo utiliza para complicar a los atacantes que piratean nuestro dispositivo. Sin embargo, más sobre eso más tarde. Esta línea será muy interesante para ti:
Aquí configuramos el código de acceso para que nuestro dispositivo lo desbloquee. Sin embargo, un poco más tarde sobre seguridad, pero recuerde que aquí tenemos la oportunidad de especificar "0" o "1". Por el momento, hemos establecido la contraseña "101".
Y también un bloque muy importante, aquí es donde se almacenarán las contraseñas.
Tenga en cuenta que esta es una matriz bidimensional, y la cantidad de contraseñas aquí es generalmente ilimitada. Aunque, estrictamente hablando, está limitado por la memoria del dispositivo, esto puede ser descuidado. Es muy importante cumplir con el formato de grabación. Supongamos que el primer campo es el que aparece en el menú del dispositivo. Es decir, por ejemplo, "Admin".
Luego, separados por comas y entre comillas, debemos escribir nuestra contraseña, que queremos que el dispositivo ingrese en la computadora. Por ejemplo, hay una sección de "Prueba" (esto se escribirá en la pantalla de nuestro dispositivo).
Y si presionamos el botón, este texto se ingresará en la computadora:
La belleza de este dispositivo es que si el microcontrolador se muestra con algún tipo de boceto, es imposible obtenerlo desde allí. Si una vez configuró todas las contraseñas y todos sus nombres aquí, y luego las borró de este firmware, nadie más tendrá acceso a sus contraseñas, excepto que un atacante descifrará este dispositivo y comprenderá cómo funciona.
El siguiente es un firmware bastante largo y no entraremos en detalles. Puede descargarlo mediante el enlace en la descripción debajo del video del autor (el enlace FUENTE al final del artículo).
Entonces, hemos terminado con el firmware, así que ahora veamos cómo funciona este dispositivo. Lo conectamos a la computadora, por lo que obtiene energía.
Ahora nuestra tarea es ingresar la contraseña. La contraseña, como recordará, es ceros y unos, además, "1" es un clic de la rotación en sentido horario del codificador y "0" es rotación en sentido antihorario. Es decir, dado que hemos establecido la contraseña 101, debemos desplazar la palanca 1 vez hacia la derecha, 1 vez hacia la izquierda y luego nuevamente hacia la derecha.
Por lo tanto, luego ingresamos la contraseña haciendo clic en el codificador y podemos acceder a la contraseña en la computadora.
Tenga en cuenta que solo tenemos 3 intentos. Si los gastamos todos, el dispositivo le pedirá que espere un minuto antes de que podamos volver a intentar ingresar la contraseña.
Y para aquellos que son especialmente inteligentes, que entenderán que necesitan esperar un minuto y desconectar el dispositivo de la fuente de alimentación, y luego volver a conectarse, el dispositivo les dirá que deben detener sus trucos insidiosos y que saben todo sobre ellos, ya que todavía se necesita tiempo. la espera se registra constantemente en la memoria no volátil.
Bueno, espero que entiendas cómo funciona este dispositivo. Gracias por su atencion Hasta pronto!
Video: