Obsah:
Video: Automatický zámek počítačového systému: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
V tomto kurzu prozkoumáme zabezpečení zámku obrazovky počítače. Operační systémy mají konfigurovatelný časový limit, který uzamkne vaši obrazovku, pokud se uživatel nedotkl myši nebo klávesnice.
Výchozí hodnota je obvykle kolem jedné minuty. Pokud dodržíte toto výchozí nastavení a necháte počítač v rušném prostředí, někdo může do té minuty přistupovat k vašemu počítači, dokud se obrazovka nezamkne. Pokud ji nastavíte na několik sekund, obrazovka zámku se vám bude zobrazovat velmi často, když se nedotknete klávesnice, a to je nepříjemné …
Jednoho dne se mě kolega z práce zeptal, zda mohu tento problém „vyřešit“nějakým zařízením, které uzamkne počítač, když tam není, a já jsem výzvu přijal:)
V hlavě jsem prozkoumal několik možností, jako je použití arduinos a infračerveného čidla teploměru, PIR čidla nebo možná pomocí detekce obličeje na počítači, ale rozhodl jsem se pro jednodušší metodu:
Zkombinujeme funkcionalitu Arduino Leonardo HID (emulace klávesnice) s ultrazvukovým senzorem vzdálenosti, abychom zjistili, zda osoba používá počítač, pokud ne, zařízení odešle kombinaci klíčů přes USB k uzamčení počítače.
Krok 1: Součásti
Protože toto je důkaz koncepce, postavíme zařízení na prkénko
Budeš potřebovat:
1. Arduino Leonardo (je důležité používat Leonardo, protože dokáže emulovat klávesnici)
2. Ultrazvukový snímač vzdálenosti HC-SR04
3. 2 x 10 K variabilní odpory
4. prkénko na krájení, dráty na prkénko
5. USB kabel
6. OLED displej (https://www.adafruit.com/product/931)
Krok 2: Sestavení a nahrání
Nejprve zkontrolujte, zda máte všechny potřebné součásti a IDE Arduino. Stručně se podívám na kroky připojení a vždy se můžete podívat na přiložené schematické schéma
Shromáždění
1. Položte Leonardo na prkénko a držte jej na místě gumičkou
2. umístěte dva variabilní odpory, OLED displej a ultrazvukový senzor na prkénko
3. propojte uzemnění a virtuální počítače
4. připojte střední piny rezistorů k arduino A0 a A1
5. připojte SDA a SCL displeje k SDA a SCL označeným na Leonardu
6. Připojte spouštěcí a ozvěnový kolík ultrazvukového senzoru k 12, 13 digitálním pinům Leonarda
7. připojte USB k počítači
nahrát
Nejprve si musíte stáhnout a nainstalovat potřebné arduino knihovny:
1. Knihovna GOFi2cOLED:
2. Knihovna Ultrasonic-HC-SR04:
Pokud nevíte, jak nainstalovat knihovny arduino, podívejte se na tento tutoriál.
Poté, co si stáhnete a nainstalujete výše uvedené knihovny, můžete klonovat nebo stáhnout můj arduino repozitář umístěný zde: https://github.com/danionescu0/arduino a použijeme tento náčrt: https://github.com/danionescu0 /arduino/strom/pán…
Nebo můžete zkopírovat a vložit níže uvedený kód:
/ * * Knihovny používané tímto projektem: * * 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);
vzdálenost konstant bajtůPot = A0;
const byte timerPot = A1; const float percentMaxDistanceChangedAllowed = 25; int skutečná vzdálenost; bez znaménka dlouhý maxDistanceDetectionTime; bool lockTimerStarted = false;
neplatné nastavení ()
{Serial.begin (9600); Keyboard.begin (); initializeDisplay (); }
prázdná smyčka ()
{clearDisplay (); actualDistance = getActualDistance (); writeStatusData (); doDisplay (); if (! lockTimerStarted && shouldEnableLockTimer ()) {lockTimerStarted = true; maxDistanceDetectionTime = milis (); Serial.println ("časovač zámku začíná"); } else if (! shouldEnableLockTimer ()) {Serial.println ("časovač zámku deaktivován"); lockTimerStarted = false; } if (shouldLockScreen ()) {lockScreen (); Serial.println („Zamykací obrazovka“); } zpoždění (100); }
bool shouldLockScreen ()
{return lockTimerStarted && (millis () - maxDistanceDetectionTime) / 1000> getTimer (); }
bool shouldEnableLockTimer ()
{int povolená vzdálenost = procentaMaxDistanceChangedAllowed / 100 * getDistance (); vrátit getTimer ()> 1 && getDistance ()> 1 && actualDistance - getDistance ()> allowDistance; }
neplatné writeStatusData ()
{setDisplayText (1, "MinDistance:", String (getDistance ())); setDisplayText (1, "Timer:", String (getTimer ())); setDisplayText (1, "Skutečná vzdálenost:", Řetězec (skutečná vzdálenost)); int countDown = getTimer () - (millis () - maxDistanceDetectionTime) / 1000; Řetězcová zpráva = ""; if (shouldLockScreen ()) {message = "lock sent"; } else if (shouldEnableLockTimer () && countDown> = 0) {message = ".." + String (countDown); } else {message = "ne"; } setDisplayText (1, "Zamykání:", zpráva); }
void initializeDisplay ()
{GOFoled.init (0x3C); GOFoled.clearDisplay (); GOFoled.setCursor (0, 0); }
void setDisplayText (byte fontSize, String label, String data)
{GOFoled.setTextSize (fontSize); GOFoled.println (štítek + ":" + data); }
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); }
návratová vzdálenostSum / 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 ("stisknutí"); Keyboard.press (KEY_LEFT_CTRL); zpoždění (10); Keyboard.press (KEY_LEFT_ALT); zpoždění (10); Keyboard.write ('l'); zpoždění (10); Keyboard.releaseAll (); }
Nakonec připojte arduino k počítači pomocí USB kabelu a nahrajte skicu do arduina.
Krok 3: Používání zařízení
Když je arduino připojeno k počítači, bude nepřetržitě sledovat vzdálenost před senzorem a pokud se vzdálenost zvětší, odešle do počítače kombinaci kláves „zámku“na obrazovce.
Zařízení má několik konfigurací:
1. Normální vzdálenost, vzdálenost lze konfigurovat pomocí variabilního odporu připojeného k A0. Vzdálenost je také zobrazena na OLED. Když se vzdálenost zvýší o 25% od té, která je nastavena, začne odpočítávání
2. Timeout (odpočítávání). Časový limit v sekundách je také konfigurovatelný z odporu připojeného k A1. Po vypršení časového limitu bude odeslán příkaz zámku
3. Kombinace kláves zámku. Výchozí kombinace kláves zámku je nastavena tak, aby fungovala pro Ubuntu Linux 18 (CTRL+ALT+L). Chcete -li změnit kombinaci, musíte upravit svůj náčrt podle svého operačního systému:
4. Časový limit a ochrana na dálku. Protože se jedná o zařízení, které emuluje klávesnici, je vhodné mít mechanismus deaktivace funkcí klávesnice. Ve svém náčrtu jsem zvolil, že časový limit a vzdálenost musí být větší než "1". (můžete to v kódu upravit, pokud chcete)
Vyhledejte a změňte funkci "lockScreen ()"
void lockScreen () {Serial.println ("stisknutí"); Keyboard.press (KEY_LEFT_CTRL); zpoždění (10); Keyboard.press (KEY_LEFT_ALT); zpoždění (10); Keyboard.write ('l'); zpoždění (10); Keyboard.releaseAll (); }
Úplný seznam speciálních klíčů arduino naleznete zde:
Krok 4: Jiné přístupy
Před touto implementací jsem zvažoval i další implementace:
1. Infračervený teploměr (MLX90614 https://www.sparkfun.com/products/10740). Infračervený teploměr je zařízení, které měří teplotu analyzováním infračerveného záření emitovaného objektem na dálku. Ležel jsem tam jeden a říkal jsem si, že možná dokážu zjistit rozdíl teplot před počítačem.
Zapojil jsem to, ale teplotní rozdíl byl velmi malý (když jsem byl vpředu nebo ne) 1-2 stupně a myslel jsem si, že to nemůže být tak spolehlivé
2. Čidlo PIR. (https://www.sparkfun.com/products/13285) Tyto levné senzory jsou prodávány jako „pohybové senzory“, ale skutečně detekují změny v infračerveném záření, takže teoreticky by to mohlo fungovat, když člověk opustí počítač, senzor by detekoval že.. Také tyto senzory mají vestavěný časový limit a knoflíky citlivosti. Zapojil jsem tedy jeden a hrál si s ním, ale zdá se, že senzor není vyroben pro blízký dosah (má široký úhel), dával všechny druhy falešných upozornění.
3. Rozpoznání obličeje pomocí webové kamery. Tato možnost se mi zdála velmi zajímavá, protože jsem s tímto počítačovým polem hrál v mých dalších projektech, jako jsou: https://github.com/danionescu0/robot-camera-platfo… a https://github.com/danionescu0/image-processing- pr…
Tohle byla pecka! Existovaly však určité nevýhody: kameru notebooku nebylo možné použít k jiným účelům, když byl program spuštěn, a byly by k tomu zapotřebí určité počítačové zdroje. Takže jsem tuto myšlenku také zahodil.
Pokud máte další nápady, jak toho dosáhnout, podělte se o ně, díky!
Doporučuje:
Přístup k systému souborů Raspberry Pi prostřednictvím systému Windows: 9 kroků
Získejte přístup k systému souborů Raspberry Pi prostřednictvím systému Windows: Už jste někdy měli Raspberry Pi a odešli jste " musím jej pokaždé nastavit pomocí monitoru, myši a klávesnice! &Quot; Frustrace, kterou způsobuje odpojení/opětovné připojení monitoru a klávesnice/myši, jen kvůli přístupu k Raspberry Pi, je na špičkové úrovni
AI Aids Eyes (Systém počítačového vidění, který operátorům připomene, aby nosili ochranné brýle): 4 kroky
AI Aids Eyes (Systém počítačového vidění, který operátorům připomene, aby nosili ochranné brýle): Zde je ukázka systému. Když systém zjistí, že je vrták sebrán, automaticky vydá varování o bezpečnostních brýlích. Okraj obrázku RGB je v ukázce v
Automatický zámek dveří: 5 kroků
Automatický zámek dveří: Hej TAM !! Toto je můj první instruktáž! Snad se vám všem bude líbit. V tomto projektu budeme stavět automatický (heslem chráněný) zámek dveří. Klasický zámek a klíč je doslova 100 let starý vynález, a jak víme, „změnit
WiFi automatický podavač rostlin s rezervoárem - nastavení vnitřní/venkovní kultivace - vodní rostliny automaticky s dálkovým monitorováním: 21 kroků
WiFi automatický podavač rostlin s rezervoárem - vnitřní/venkovní nastavení kultivace - vodní rostliny automaticky s dálkovým monitorováním: V tomto tutoriálu předvedeme, jak nastavit vlastní vnitřní/venkovní systém podavače rostlin, který automaticky zalévá rostliny a lze jej dálkově monitorovat pomocí platformy Adosia
Automaticky odesílat e -maily s fotografií z dávkového souboru pomocí staré plochy a systému XP: 4 kroky
Automaticky odesílat e -maily s fotografií z dávkového souboru pomocí staré plochy a XP: Mám velké štěstí, že mám skvělý výhled z okna domácí kanceláře. Když jsem pryč, chci vidět, co mi chybí, a často jsem pryč. Kdysi jsem měl vlastní webové stránky a domácí meteorologickou stanici, která by přes ftp nahrávala veškeré počasí