Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Viděl jsem spoustu videí trapných lidí, když si nevšimli, že mají zapnutý mikrofon nebo kameru, a to mi dalo nápad k tomuto projektu.
Napsal jsem jednoduchou aplikaci v C#, která detekuje, kdy se používá kamera nebo mikrofon, a zobrazí oznámení s názvem programu. Kromě toho mám jednoduchou desku se 2 LED diodami WS2812B a bzučákem, který pípne a rozsvítí se, když obdrží oznámení od softwaru.
Hardware je založen na Arduinu a komunikace probíhá prostřednictvím sériového portu, aby byl jednoduchý a začátečníkům umožnil snadný start programu, se kterým si zahrají.
Kompletní zdrojový kód najdete v úložišti projektu GitHub:
Zásoby
- 2 x WS2812B
- 1 x 5v bzučák
- 1 x Micro USB breakout deska
- 1 x odpojovací deska USB typu A.
- Neodymový magnet s kruhem 8 x 3 mm x 1,8 mm
Krok 1: Elektronika
Elektronika je zde velmi jednoduchá. Použil jsem 2 adresovatelné LED diody (WS2812B), bzučák a konektor micro USB. Vše je zapojeno podle přiloženého schématu.
Na straně Arduino je to jen jednoduchý konektor USB typu A, který se připojuje k 5v, GND a pinům 8 a 9.
Krok 2: 3D tisk pouzdra
Navrhl jsem jednoduché pouzdro, které obsahuje elektroniku se dvěma štěrbinami pro akrylové nápisy. Kolem LED jsem umístil podporu pro značky, aby se nenakláněly. Do spodní části pouzdra jsem umístil 4 magnety, takže snadno se vejde do držáku na obrazovce.
Vytiskněte jeden z každého souboru STL.
Krok 3: Akryl zpívá gravírování
Použil jsem svůj stolní CNC stroj SainSmart CNC 3018-PROVer. Hledal jsem volné ikony a převedl je na vektor pomocí softwaru inkview
Krok 4: Programování
Zde máme klientskou aplikaci C# (pro Windows) a kód Arduino. Najdete je zde.
Chcete -li monitorovat používání kamery nebo mikrofonu, sleduji v registru systému Windows následující cestu: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webcam
a
HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / mikrofon
Pokaždé, když dostaneme oznámení o změně, musíme ve stromu vyhledat změny. Když je zařízení používáno, LastUsedTimeStop má hodnotu 0, hledáme ho a analyzujeme klíč, abychom získali název aplikace, abychom jej mohli zobrazit v oznámení.
Komunikace mezi programem Arduino a programem C# probíhá přes sériové číslo. Zprávy jsou JSON, takže pokud to budeme chtít v budoucnu udělat, bude snadné migrovat komunikaci na něco jiného.