Obsah:
- Krok 1: Komponenty
- Krok 2: Zostavenie a odovzdanie
- Krok 3: Používanie zariadenia
- Krok 4: Iné prístupy
Video: Automatický zámok počítačového systému: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
V tomto návode sa budeme zaoberať bezpečnosťou zámku obrazovky počítača. Operačné systémy majú konfigurovateľný časový limit, ktorý uzamkne obrazovku, ak sa používateľ nedotkol myši alebo klávesnice.
Štandardne je predvolená hodnota približne jednu minútu. Ak budete postupovať podľa tohto predvoleného nastavenia a necháte počítač v rušnom prostredí, do tej minúty sa k vám niekto môže dostať, kým sa obrazovka nezamkne. Ak ho nastavíte na niekoľko sekúnd, obrazovku uzamknutia dostanete veľmi často, keď sa nedotýkate klávesnice a to je nepríjemné …
Jedného dňa sa ma kolega z práce spýtal, či môžem tento problém „vyriešiť“pomocou nejakého zariadenia, ktoré uzamkne počítač, keď tam nie je, a ja som výzvu prijal:)
V hlave som preskúmal niekoľko možností, ako je použitie arduinos a infračerveného teplomerového senzora, PIR senzora alebo možno pomocou detekcie tváre v počítači, ale rozhodol som sa pre jednoduchšiu metódu:
Skombinujeme funkciu Arduino Leonardo HID (emulácia klávesnice) s ultrazvukovým senzorom vzdialenosti, aby sme zistili, či človek používa počítač, ak nie, zariadenie odošle kombináciu klávesov cez USB na uzamknutie počítača.
Krok 1: Komponenty
Pretože toto je dôkaz koncepcie, postavíme zariadenie na doske
Budete potrebovať:
1. Arduino Leonardo (je dôležité používať Leonardo, pretože dokáže emulovať klávesnicu)
2. Ultrazvukový snímač vzdialenosti HC-SR04
3. 2 x 10 K variabilné odpory
4. doštička, drôty na dosky
5. USB kábel
6. OLED displej (https://www.adafruit.com/product/931)
Krok 2: Zostavenie a odovzdanie
Najprv skontrolujte, či máte všetky potrebné súčasti a IDE Arduino. Stručne prejdem na kroky pripojenia a vždy sa môžete pozrieť na priloženú schematickú schému
zhromaždenie
1. Položte Leonardo na dosku a držte ho na mieste gumičkou
2. umiestnite dva variabilné odpory, OLED displej a ultrazvukový senzor na dosku
3. prepojte uzemnenie a vcc
4. spojte stredné kolíky rezistorov s arduino A0 a A1
5. Pripojte SDA a SCL displeja k SDA a SCL označeným na Leonardovi
6. pripojte spúšť a echo kolík ultrazvukového senzora k 12, 13 digitálnym kolíkom Leonarda
7. Pripojte USB k počítaču
Odovzdať
Najprv si musíte stiahnuť a nainštalovať potrebné arduino knižnice:
1. Knižnica GOFi2cOLED:
2. Knižnica Ultrasonic-HC-SR04:
Ak neviete, ako nainštalovať knižnice arduino, prečítajte si tento návod.
Keď si stiahnete a nainštalujete vyššie uvedené knižnice, môžete klonovať alebo stiahnuť moje úložisko arduino, ktoré sa nachádza tu: https://github.com/danionescu0/arduino, a použijeme tento náčrt: https://github.com/danionescu0 /arduino/strom/majster…
Alebo môžete skopírovať a prilepiť kód nižšie:
/ * * Knižnice používané v tomto projekte: * * GOFi2cOLED: https://github.com/hramrach/GOFi2cOLED * Ultrasonic-HC-SR04: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04 */#include "Keyboard.h" #include "Wire.h" #include "GOFi2cOLED.h" #include "Ultrasonic.h"
GOFi2cOLED GOFoled;
Ultrazvukové ultrazvukové (12, 13);
vzdialenosť konštantných bajtovPot = A0;
const byte timerPot = A1; const float percentMaxDistanceChangedAllowed = 25; int realDistance; bez znamienka dlhý maxDistanceDetectionTime; bool lockTimerStarted = false;
neplatné nastavenie ()
{Serial.begin (9600); Keyboard.begin (); initializeDisplay (); }
prázdna slučka ()
{clearDisplay (); actualDistance = getActualDistance (); writeStatusData (); doDisplay (); if (! lockTimerStarted && shouldEnableLockTimer ()) {lockTimerStarted = true; maxDistanceDetectionTime = milis (); Serial.println ("časovač uzamknutia začína"); } else if (! shouldEnableLockTimer ()) {Serial.println ("časovač uzamknutia deaktivovaný"); lockTimerStarted = false; } if (shouldLockScreen ()) {lockScreen (); Serial.println ("Uzamknutá obrazovka"); } oneskorenie (100); }
bool shouldLockScreen ()
{return lockTimerStarted && (millis () - maxDistanceDetectionTime) / 1000> getTimer (); }
bool shouldEnableLockTimer ()
{int allowDistance = percentMaxDistanceChangedAllowed / 100 * getDistance (); vrátiť getTimer ()> 1 && getDistance ()> 1 && actualDistance - getDistance ()> allowDistance; }
neplatné writeStatusData ()
{setDisplayText (1, "MinDistance:", String (getDistance ())); setDisplayText (1, "Časovač:", Reťazec (getTimer ())); setDisplayText (1, "Skutočná vzdialenosť:", Reťazec (skutočná vzdialenosť)); int countDown = getTimer () - (millis () - maxDistanceDetectionTime) / 1000; Reťazcová správa = ""; if (shouldLockScreen ()) {message = "lock sent"; } else if (shouldEnableLockTimer () && countDown> = 0) {message = ".." + String (countDown); } else {message = "nie"; } setDisplayText (1, „Zamykanie:“, správa); }
void initializeDisplay ()
{GOFoled.init (0x3C); GOFoled.clearDisplay (); GOFoled.setCursor (0, 0); }
void setDisplayText (veľkosť bajtu písma, označenie reťazca, údaje reťazca)
{GOFoled.setTextSize (fontSize); GOFoled.println (štítok + ":" + údaje); }
void doDisplay ()
{GOFoled.display (); }
void clearDisplay ()
{GOFoled.clearDisplay (); GOFoled.setCursor (0, 0); }
int getActualDistance ()
{int distanceSum = 0; for (byte i = 0; i <10; i ++) {distanceSum+= ultrasonic. Ranging (CM); }
vzdialenosť návratuSum / 10;
}
int getDistance ()
{návratová mapa (analogRead (timerPot), 0, 1024, 0, 200); }
int getTimer ()
{návratová mapa (analogRead (distancePot), 0, 1024, 0, 20); }
void lockScreen ()
{Serial.println ("lisovanie"); Keyboard.press (KEY_LEFT_CTRL); oneskorenie (10); Keyboard.press (KEY_LEFT_ALT); oneskorenie (10); Keyboard.write ('l'); oneskorenie (10); Keyboard.releaseAll (); }
Nakoniec pripojte arduino k počítaču pomocou USB kábla a nahrajte náčrt do arduina.
Krok 3: Používanie zariadenia
Keď je arduino pripojené k počítaču, bude nepretržite monitorovať vzdialenosť pred senzorom a v prípade zvýšenia vzdialenosti odošle do počítača kombináciu klávesov „uzamknutej“obrazovky.
Zariadenie má niekoľko konfigurácií:
1. Normálna vzdialenosť, vzdialenosť je možné konfigurovať pomocou variabilného odporu pripojeného k A0. Vzdialenosť sa zobrazuje aj na OLED. Keď sa vzdialenosť zvýši o 25% od tej, ktorá je nastavená, začne odpočítavanie
2. Časový limit (odpočítavanie). Časový limit v sekundách je tiež konfigurovateľný z odporu pripojeného k A1. Po vypršaní časového limitu bude odoslaný príkaz na uzamknutie
3. Kombinácia klávesov zámku. Predvolená kombinácia klávesov zámku je nastavená tak, aby fungovala pre Ubuntu Linux 18 (CTRL+ALT+L). Ak chcete zmeniť kombináciu, musíte upraviť svoj náčrt podľa svojho operačného systému:
4. Časový limit a ochrana na diaľku. Pretože sa jedná o zariadenie, ktoré napodobňuje klávesnicu, je vhodné mať mechanizmus na deaktiváciu funkcií klávesnice. Vo svojom náčrte som vybral, že časový limit a vzdialenosť musia byť väčšie ako „1“. (ak chcete, môžete to v kóde zmeniť)
Vyhľadajte a zmeňte funkciu "lockScreen ()"
void lockScreen () {Serial.println ("lisovanie"); Keyboard.press (KEY_LEFT_CTRL); oneskorenie (10); Keyboard.press (KEY_LEFT_ALT); oneskorenie (10); Keyboard.write ('l'); oneskorenie (10); Keyboard.releaseAll (); }
Úplný zoznam špeciálnych kľúčov arduino nájdete tu:
Krok 4: Iné prístupy
Pred touto implementáciou som zvažoval aj ďalšie implementácie:
1. Infračervený teplomer (MLX90614 https://www.sparkfun.com/products/10740). Infračervený teplomer je zariadenie, ktoré meria teplotu analyzovaním infračerveného žiarenia vyžarovaného predmetom na diaľku. Ležal som tam a myslel som si, že možno dokážem zistiť rozdiel v teplote pred počítačom.
Zapojil som to, ale teplotný rozdiel bol veľmi malý (keď som bol vpredu alebo nie) 1-2 stupne a myslel som si, že to nemôže byť také spoľahlivé
2. PIR snímač. (https://www.sparkfun.com/products/13285) Tieto lacné senzory sa predávajú ako „pohybové senzory“, ale skutočne detegujú zmeny v infračervenom žiarení, takže teoreticky by to mohlo fungovať, keď človek opustí počítač, senzor by to zistil že.. Aj tieto senzory majú vstavaný časový limit a gombíky citlivosti. Pripojil som teda jeden a hral som s ním, ale zdá sa, že snímač nie je vyrobený na krátku vzdialenosť (má široký uhol), dával všetky druhy falošných upozornení.
3. Detekcia tváre pomocou webovej kamery. Táto možnosť sa mi zdala veľmi zaujímavá, pretože som sa s týmto počítačovým poľom hrával v ďalších mojich projektoch, ako sú: https://github.com/danionescu0/robot-camera-platfo… a https://github.com/danionescu0/image-processing- pr…
Toto bol kus koláča! Existovali však určité nevýhody: fotoaparát prenosného počítača nebolo možné používať, keď bol program spustený, na iné účely a boli by na to potrebné určité počítačové zdroje. Preto som od tejto myšlienky upustil.
Ak máte ďalšie nápady, ako by sa to dalo urobiť, zdieľajte ich, vďaka!
Odporúča:
Pripojte sa k celulárnemu systému diaľkového ovládania systému Android Telnet .: 9 krokov
Pripojte sa k celulárnemu systému diaľkového ovládania systému Android: ¡Bienvenido! Aktuálne informácie, ako napríklad prístup k internetu. Väčšina webových stránok a všetkých globálnych počítačových úložísk, ktoré prenášajú údaje; pretože sú sólo eséces contar con las herramientas y técnicas correctas para poder ac
Prístup k systému súborov Raspberry Pi prostredníctvom systému Windows: 9 krokov
Pristupujte k systému súborov Raspberry Pi prostredníctvom systému Windows: Už ste niekedy dostali Raspberry Pi a odišlo „Musím si ho zakaždým nastaviť pomocou monitora, myši a klávesnice!“Frustrácia, ktorú spôsobuje odpojenie/opätovné zapojenie monitora a klávesnice/myši z dôvodu prístupu k Raspberry Pi, je na špičkovej úrovni.
Automatický zámok dverí: 5 krokov
Automatický zámok dverí: Hej, TAM !! Toto je môj prvý pokyn! Dúfam, že sa vám všetkým bude páčiť. V tomto projekte budeme stavať automatický zámok dverí (chránený heslom). Klasický zámok a kľúč sú doslova storočným vynálezom a ako vieme, „zmeňte
Automaticky odosielať e -maily s fotografiami z dávkového súboru pomocou starej pracovnej plochy a systému XP: 4 kroky
Automaticky odosielať e -maily s fotografiou z dávkového súboru pomocou starej pracovnej plochy a systému XP: Mám to šťastie, že mám nádherný výhľad z okna svojej domácej kancelárie. Keď som preč, chcem vidieť, čo mi chýba, a často som preč. Kedysi som mal vlastnú webovú stránku a domácu meteorologickú stanicu, ktorá by nahrávala prostredníctvom ftp všetky informácie o počasí
Prototyp jednoduchého parkovacieho systému pomocou systému Ebot: 3 kroky
Prototyp jednoduchého parkovacieho systému pomocou systému Ebot: Vytvoril som prototyp jednoduchého parkovacieho systému pomocou systému Ebot. V tomto systéme je ultrazvukový senzor na detekciu vozidla/predmetu. LCD modul zobrazí počet zistených vozidiel. Akonáhle číslo dosiahne maximum, zobrazí sa správa & q