Taula de continguts:

Cryptap: un pany de porta basat en el ritme: 5 passos
Cryptap: un pany de porta basat en el ritme: 5 passos

Vídeo: Cryptap: un pany de porta basat en el ritme: 5 passos

Vídeo: Cryptap: un pany de porta basat en el ritme: 5 passos
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juliol
Anonim
Cryptap: un pany de porta basat en el ritme
Cryptap: un pany de porta basat en el ritme
Cryptap: un pany de porta basat en el ritme
Cryptap: un pany de porta basat en el ritme
Cryptap: un pany de porta basat en el ritme
Cryptap: un pany de porta basat en el ritme

Inspirat en diversos mecanismes de desbloqueig de portes que he vist a hackaday.com, vaig decidir crear-ne un tot sol. Aquesta té una interfície de dos botons; un per iniciar i finalitzar l'enviament de contrasenyes i un per tocar el ritme que és la vostra contrasenya. També hi ha un llum d’estat. Vaig poder construir-ho molt econòmicament amb peces que havia escombrat durant els darrers mesos. Les úniques coses que vaig haver de pagar eren el propi microcontrolador, que costava 21 dòlars (https://www.pjrc.com/teensy/), i algun cable penjat amb imatges que tenia abans.

És molt divertit tocar el tema Star Wars o alguna cosa per entrar a la meva habitació. Ara, no m’he de preocupar de tornar a tancar-me de la meva habitació. A més, se sent bé i friki.

Pas 1: peces i eines

Peces i eines
Peces i eines
Peces i eines
Peces i eines

Vaig triar el Teensy perquè aquest és el meu primer microcontrolador i encara no tinc programador. El Teensy només requereix un cable USB A-miniB i programari gratuït per instal·lar, compatible amb Mac / Windows / Linux. A més, és molt fàcil penjar el fitxer hexadecimal; només cal compilar i prémer el botó del Teensy.

El cost d’aquest projecte per a mi va ser de 21 dòlars, més el cable penjat. Les parts del carrer provenien d’un percolador de cafè (relé, LED, condensador) i un enrutador (LED, presa modular, presa d’alimentació, condensadors). Les mostres gratuïtes eren el regulador, els botons i l’interruptor de 5 volts 7805. També he trobat moltes coses a la caixa "parts trencades" del meu laboratori d'EE: connectors i cables de plàtan, cable, el controlador sn754410, un capçal de quatre pins i resistències. Tenia un carregador de portàtil addicional que feia servir per alimentar i un cable de mòdem Apple la pestanya estava trencada. Un altre maquinari: una placa de paret. He utilitzat una pistola de cola calenta, un soldador, una llima d’agulla i un trepant elèctric, que són bastant estàndard. El més inusual que vaig fer servir va ser una eina de captació flexible i llarga.

Pas 2: maquinari preexistent

Maquinari preexistent
Maquinari preexistent
Maquinari preexistent
Maquinari preexistent
Maquinari preexistent
Maquinari preexistent
Maquinari preexistent
Maquinari preexistent

Vaig tenir la gran sort que ja hi havia tantes instal·lacions. La meva habitació és accessible per ADA i ja hi havia instal·lades diverses canonades, caixes elèctriques i una porta elèctrica. En treure el cop de la porta per curiositat, vaig comprovar que no estava connectada. Hi havia una canonada des de la porta fins a una placa de paret en blanc dins de la meva habitació i una altra canonada des d’allà fins a una placa de paret en blanc a l’exterior.

La vaga de la porta diu que necessita 24V @ 3A per funcionar, però he pogut sortir amb una font d'alimentació de 19V i 7.9A que tenia. El toc de la porta s'ha polaritzat, així que assegureu-vos que teniu la polaritat correcta.

Pas 3: Circuits

Circuits
Circuits
Circuits
Circuits
Circuits
Circuits
Circuits
Circuits

Per controlar el cop de la porta, vaig utilitzar el relé que vaig trobar al percolador de cafè. Aquest relé necessitava més de 5 V TTL per accionar-lo, de manera que el sn754410 es va utilitzar per traduir TTL a 19 V, cosa que va conduir el relé. L’Sn754410 és realment un controlador quad-mitja H, de manera que malgastava 3/4 parts del xip, però no tenia transistors de potència, així que és el que he utilitzat.

El xip sn754410 té dos pins VCC, un per a 5V, l’altre per al voltatge que voleu sortir, que era de 19V per a mi. És un xip molt divertit. Podeu utilitzar-lo per accionar motors i relés directament, perquè pot canviar 1A per quart de xip i té díodes de protecció incorporats. Mireu el full de dades. Al meu circuit, vaig connectar el sn754410 directament al pin de sortida del meu Teensy. Els botons es connecten com a actiu-baix, cosa que és molt comú per als microcontroladors. Estan directament connectats al Teensy, cosa que significa que he de fer la denúncia en programari. La llum d'estat està connectada al Teensy mitjançant una resistència d'1K ohm; res d’especial. El circuit funcionava sense condensadors, però els poso de totes maneres per si de cas. Hi ha taps de protecció als rails d’alimentació de 19V i 5V a terra. Mentre es programava el Teensy, 5V provenien de l’USB, però quan s’executa tot sol, l’alimentació prové del maó d’alimentació del portàtil. Quan vaig connectar el regulador 7805 directament a 19 V, es va escalfar MOLT, així que vaig posar una xarxa de resistències per limitar la tensió d’entrada i el corrent al regulador. Va ser un esclat, però ara tot està a una temperatura controlable.

Pas 4: connectar-lo junts

Cablejant-lo junts
Cablejant-lo junts
Cablejant-lo junts
Cablejant-lo junts

El Teensy no va ser cap problema. Inclou pins, de manera que podeu connectar-lo directament a la taula de treball.

Vaig decidir codificar per colors els cables de la porta amb cables de plàtan vermells (+) i negres (-) de la caixa de peces trencades del laboratori. Hi havia uns endolls tallats dels cables, així que vaig eliminar un plàstic per exposar un punt de soldadura. M’agrada molt com es poden connectar els endolls de plàtan de laboratori. Vaig utilitzar el cable del telèfon d'Apple per connectar els botons i la llum d'estat fora de l'habitació al Teensy interior. Com que es va trencar un costat, vaig tallar aquest extrem i el vaig soldar a la capçalera de quatre pins, tancant-lo amb cola calenta. Això es va connectar molt bé a la meva taula. El costat que he deixat endollat entrava a la presa modular que he recuperat del router. Es van utilitzar els quatre cables (GND, llum d'estat, botó d'inici / aturada, botó de codi). Per si no us n'heu adonat, m'agraden els endolls i els connectors. El maó d’alimentació connectat a la presa d’alimentació que he fet passar del router. Enfilar els cables a través de les canonades de la paret no era massa difícil, a causa de la cosa flexible que agafa. Això em va salvar el dia.

Pas 5: Codi

Codi
Codi
Codi
Codi

He intentat comentar el meu codi. Tingueu en compte que es tracta d'un programari 1.0, és a dir, que no està lliure d'errors. ## OPERACIÓ ## 1. Premeu el botó d'inici / atura per indicar que esteu preparat per iniciar l'entrada de codi. El llum d’estat comença a parpellejar lentament. 2. Toqueu el codi al botó del codi. El llum d’estat parpellejarà a 120 BPM, de manera que podeu utilitzar-lo com a metrònom si voleu. Tanmateix, el programa cryptap mesurarà proporcionalment les longituds del pols, de manera que també podeu utilitzar el vostre propi tempo. Assegureu-vos que teniu la precisió necessària. 3. Quan s'hagi introduït el codi, torneu a prémer el botó d'inici / aturada. A continuació, el programa decidirà si us deixeu entrar. Atès que els humans no són uns temporals molt precisos (el vostre no ho és realment), he establert la relació de tolerància a +/- 30%. Això vol dir que la durada del batec pot ser inexacta per aquesta quantitat i, tot i així, passar-se per mínims. Això és prou bo per diferenciar les cançons bastant similars. Hi ha una petita quantitat de superposicions difícils d’arribar entre batudes de doble i triple longitud, però el codi encara és bastant difícil de trencar. Per desbloquejar la porta, els batecs han de tenir les proporcions correctes entre si (+/- la relació de tolerància) i el nombre de batecs ha de ser correcte. Si s'introdueix una contrasenya no vàlida, el programa espera uns segons mentre ignora qualsevol entrada de l'usuari. També llamparà la llum d’estat ràpidament. Si s’introdueix el codi correcte, el llum d’estat s’encendrà constantment i la porta es desbloquejarà durant 8 segons. ## CONFIGURACIÓ DE L’USUARI ## La clau s’emmagatzema en una matriu com aquesta: #define keylength 5 const int key = {2, 1, 3, 3, 3}; // "Feliç aniversari" La matriu emmagatzema la quantitat de temps que passa ENTRE els ritmes. Per tant, si la vostra contrasenya té SIS notes com ara "Feliç aniversari", hi hauria d'haver CINC elements a la matriu. Si la vostra contrasenya és molt llarga i teniu més de 16 pulsacions, (realment difícil, no la recomano), heu d'incrementar el nombre definit en aquesta línia: #define inputCodeLength 16 ## LA RESTA DEL CODI # # Tenia curiositat per les interrupcions, de manera que tenia els botons que activaven les interrupcions. Per fer que aquestes interrupcions siguin fàcils d’utilitzar, he fet que els meus gestors d’interrupcions comprovessin certs indicadors de funció. Si el punter no està establert en NULL, s'invoca la funció a la qual apunta. Es defineixen amb les diverses funcions de "configuració de mode" dins de cryptap.c. Vaig fer un esforç per evitar desbordaments de memòria intermèdia establint un nombre màxim d’impulsos introduïts. Si s’introdueix el nombre màxim d’impulsos, el programa inicia immediatament l’anàlisi de contrasenya i decideix si desbloquejar la porta. Espero que els meus comentaris al codi us ajudin. ## BUGS ## He intentat eliminar el codi de depuració USB, però si no ho faig, el codi no funcionarà. Per tant, he deixat a usb_init () i a les diverses declaracions print (). Agrairia que algú els pogués eliminar i que el programa continués funcionant. Encara millor si poden explicar per què no em va funcionar. Immediatament després de ser programat, el Teensy de vegades no accepta l'entrada de codi. Per solucionar-ho, cicleu el circuit.

Recomanat: