Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Videl som veľa videí zahanbených ľudí, keď si nevšimli, že majú zapnutý mikrofón alebo kameru, a to mi dalo nápad na tento projekt.
V C# som napísal jednoduchú aplikáciu, ktorá zisťuje, kedy sa používa kamera alebo mikrofón, a zobrazí upozornenie s názvom programu. Okrem toho mám jednoduchú dosku s 2 LED diódami WS2812B a bzučiakom, ktorý pípne a rozsvieti sa, keď dostane upozornenie zo softvéru.
Hardvér je založený na Arduino a komunikácia prebieha prostredníctvom sériového portu, aby bol jednoduchý a začiatočníkom umožnil ľahký štart do hry.
Kompletný zdrojový kód nájdete v úložisku projektu GitHub:
Zásoby
- 2 x WS2812B
- 1 x 5v bzučiak
- 1 x oddeľovacia doska Micro USB
- 1 x odpojovacia doska USB typu A.
- Neodymový magnet s priemerom 8 x 3 mm x 1,8 mm
Krok 1: Elektronika
Elektronika je tu veľmi jednoduchá. Použil som 2 adresovateľné LED diódy (WS2812B), bzučiak a konektor micro USB. Všetko je zapojené podľa priloženej schémy.
Na strane Arduino je to len jednoduchý konektor USB typu A, ktorý sa pripája k 5v, GND a pinom 8 a 9.
Krok 2: 3D tlač puzdra
Navrhol som jednoduché puzdro, ktoré obsahuje elektroniku s dvoma štrbinami pre akrylové nápisy. Okolo diód LED som umiestnil podperu pre značky, aby sa nenakláňali. V spodnej časti puzdra som umiestnil 4 magnety, aby ľahko sa zmestí na držiak na obrazovku.
Vytlačte jeden z každého súboru stl.
Krok 3: Akryl spieva gravírovanie
Použil som svoj stolný CNC stroj SainSmart CNC 3018-PROVer. Hľadal som ikony zadarmo a pomocou softvéru inkview ich previedol na vektor.
Krok 4: Programovanie
Tu máme aplikáciu na strane klienta, ktorá je C# (pre Windows) a kód Arduino. Nájdete ich tu.
Aby som mohol monitorovať používanie kamery alebo mikrofónu, sledujem v registri Windows nasledujúcu cestu: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webcam
a
HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / mikrofón
Zakaždým, keď dostaneme upozornenie na zmenu, musíme v strome vyhľadať zmeny. Keď sa zariadenie používa, LastUsedTimeStop má hodnotu 0, vyhľadáme ho a analyzujeme kľúč, aby sa názov aplikácie zobrazil v upozornení.
Komunikácia medzi programom Arduino a programom C# prebieha sériovo. Správy sú vo formáte JSON, takže ak to chceme v budúcnosti urobiť, bude ľahké migrovať komunikáciu na niečo iné.