Obsah:
- Zásoby
- Krok 1: Propojovací akcelerometr s Raspberry Pi
- Krok 2: Propojovací tlačítko s Raspberry Pi
- Krok 3: Vývoj skriptu Python pro sériové ovládání ukazatele myši
- Krok 4: Vývoj skriptu Python pro ovládání ukazatele myši přes Bluetooth
- Krok 5: Vložení akcelerometru a tlačítka na rukavici
Video: [Nositelná myš] Ovladač nositelné myši s technologií Bluetooth pro Windows 10 a Linux: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Vytvořil jsem ovladač myši na bázi Bluetooth, který lze použít k ovládání ukazatele myši a provádění operací souvisejících s počítačem a myší za běhu, aniž byste se dotkli jakéhokoli povrchu. Elektronické obvody, které jsou zabudované v rukavici, lze použít ke sledování gest rukou pomocí akcelerometru a lze je přeložit do pohybu ukazatele myši. Toto zařízení je také propojeno s tlačítkem, které replikuje kliknutí levým tlačítkem. Zařízení lze připojit sériově k počítači (přes USB) nebo bezdrátově prostřednictvím připojení Bluetooth. Bluetooth poskytuje robustní a univerzální bezdrátovou komunikaci mezi hostitelským zařízením a touto nositelnou myší. Vzhledem k tomu, že Bluetooth je široce dostupný a je součástí téměř všech osobních notebooků, je použití takového nositelného zařízení široké. Pomocí Raspberry Pi, což je běžně používaná vývojová platforma pro různé projekty, je propojení různých senzorů a vývoj takového zařízení snadné a škálovatelné. Rukavici lze vyměnit za jakoukoli jinou nositelnou, aby byla její aplikace širší.
Jako prevence proti COVID-19 je vhodné vyhnout se dotykovým povrchům, které mohou být sdíleny mezi různými lidmi, a mezi tyto běžné povrchy může patřit notebook s dotykovou obrazovkou nebo myš. Použití takového nositelného zařízení pomáhá udržovat hygienu a udržovat běžně používané povrchy dezinfikované:)
Zásoby
- Raspberry Pi 3 Model B V1.2
- Trojitý osový akcelerometr SparkFun Breakout - MMA8452Q
- Propojovací kabel mezi mužem a ženou
- Rukavice
- Lepící páska
- Nůžky
- Micro-USB kabel
- Kabel HDMI (pro ladění přes Raspberry Pi)
Krok 1: Propojovací akcelerometr s Raspberry Pi
Použil jsem trojosý akcelerometr MMA8542Q od Sparkfun, který pomocí komunikačního protokolu I2C hovoří s piny GPIO Raspberry Pi a odesílá data os. Tento senzor poskytuje různé provozní režimy s konfigurovatelnou rychlostí přenosu dat, spánkovými režimy, rozsahem zrychlení, režimem filtru atd. Zjistil jsem, že kód od společnosti Pibits je velmi nápomocný při počáteční konfiguraci senzoru a jeho testování pomocí gest rukou. Je lepší nejprve umístit senzor na rovný povrch a provádět deterministické náklony při sledování nezpracovaných hodnot senzoru. To je zvláště užitečné pro pochopení toho, jak tento senzor reaguje různými gesty rukou a jak můžeme pro naši aplikaci nastavit prahové hodnoty. Jakmile je akcelerometr úspěšně propojen, můžete vidět surová data os přicházející na obrazovku terminálu Pi.
Krok 2: Propojovací tlačítko s Raspberry Pi
V tomto nositelném zařízení jsem propojil tlačítko, které může fungovat jako levé tlačítko myši, abych mohl klikat na ikony na obrazovce. 2 konce tlačítka jsou poté připojeny ke 2 GPIO pinům Pi. Jeden z pinů vydává logické maximum a druhý pin čte tuto hodnotu. Když je tlačítko stisknuto, obvod se uzavře a vstupní pin je schopen přečíst logicky vysokou hodnotu, která je pak zpracována skriptem, který jsem napsal, aby emuloval kliknutí levým tlačítkem myši. Kvůli nedostatku páječky jsem propojovací propojky pomocí tlačítka spojil lepicí páskou.
Krok 3: Vývoj skriptu Python pro sériové ovládání ukazatele myši
K ovládání ukazatele myši jsem použil knihovnu Pyautogui Python. Důvodem použití této knihovny bylo, že funguje na platformě Linux i Windows. Abych mohl ovládat ukazatel myši na svém Raspberry Pi, nejprve jsem připojil svůj Pi k displeji. Potom jsem k ovládání ukazatele myši použil následující API poskytovaná knihovnou:
- pyautogui.move (0, 200, 2) # přesune myš o 200 pixelů dolů za 2 sekundy
- pyautogui.click () # klikněte myší
Abych odfiltroval chybová data pocházející z akcelerometru, použil jsem průměrování a další metody filtrování, které lze snadno pochopit pomocí přiloženého kódu. API pyautogui.move (0, y) bylo použito takovým způsobem, že ukazatel myši může jít buď nahoru-dolů, nebo vlevo-vpravo najednou. Důvodem je, že akcelerometr hlásí osy ve směru X, Y a Z, ale API bere pouze 2 argumenty, osy X a Y. Tento přístup byl tedy velmi vhodný pro můj akcelerometr a pro mapování gest na obrazovce.
Krok 4: Vývoj skriptu Python pro ovládání ukazatele myši přes Bluetooth
Tato část je pokročilá aplikace, kde jakýkoli notebook s funkcí Bluetooth může komunikovat s Raspberry Pi v komunikačním modelu server-klient a bezdrátově přenášet data souřadnic myši. Abychom mohli nastavit 64bitový notebook se systémem Windows 10 tak, aby umožňoval komunikaci Bluetooth, musíme postupovat podle následujících kroků:
Windows 10:
- Vytvořte příchozí port Bluetooth COM.
- Spojte Bluetooth Pi a Bluetooth notebooku tím, že ho zjistíte.
- Nainstalujte Python na Windows.
- Nainstalujte pip na Windows. Pip se používá k instalaci knihoven na počítači se systémem Linux nebo Windows.
- Nainstalujte pyautogui na Windows pomocí: pip install pyautogui
- Jakmile je na zařízení nainstalován pyautogui, nainstalujte Pybluez na Windows pomocí následujícího příkazu na terminálu Windows pomocí: pip install PyBluez-win10. PyBluez umožňuje komunikaci Bluetooth na počítačích se systémem Windows i Linux.
-
Abychom mohli vyvíjet aplikaci na notebooku s Windows 10, musíme nainstalovat Microsoft Visual Studio (vyžaduje se 15–20 GB místa) a jeho nástroje pro sestavení. Spolu s PyBluez se proto musíme řídit níže uvedenými pokyny,
- Stáhněte a spusťte „Instalační program Visual Studio“:
-
Nainstalujte „Visual Studio Build Tools 2017“, zaškrtněte „Nástroje pro vytváření Visual C ++“a „Nástroje pro vytváření platformy Universal Windows“
- klon git
- cd pybluez
instalace python setup.py
- Pokud jsou správně dodrženy výše uvedené pokyny, spuštění Pythonu na terminálu Windows a import modulu pyautogui a Bluetooth by měl fungovat bez chyb, jak je vidět na obrázku výše.
- V knihovně pybluez nainstalované na počítači se systémem Windows přejděte na: pybluez-master / examples / simple / rfcomm-server.py a spusťte pomocí python rfcomm-server.py. Pokud terminál přejde do stavu čekání bez chyb, přejděte do níže uvedené části pro nastavení Bluetooth na Pi. Pokud se při instalaci pybluez vyskytnou chyby, ladění najdete v části Problémy GitHubu.
Raspbian na Raspberry Pi:
- Nainstalujte PyBluez na Pi
- Spusťte příklad serveru v systému Windows. Poté na Pi přejděte na pybluez-master / examples / simple / rfcomm-client.py a spusťte. Pokud obě zařízení začala komunikovat, Bluetooth je nyní nastaveno na obou zařízeních. Chcete -li se dozvědět více o tom, jak soketová komunikace funguje s Pythonem, podívejte se na tento odkaz z MIT.
K odeslání dat os z Pi do PC bude nutné provést další analýzu dat, protože data jsou odesílána v bajtech. Další informace o datové komunikaci klienta a serveru najdete v přiloženém kódu.
Krok 5: Vložení akcelerometru a tlačítka na rukavici
Jakmile je akcelerometr dobře propojen, vypadá kostrový systém jako první obrázek tohoto kroku.
Protože povrch rukavice není plochý, použil jsem atrapu kreditní karty, která mi každou chvíli přišla do schránky. Podle druhého obrázku v tomto kroku jsem lepicí kreditní kartu připevnil lepicí páskou na horní povrch rukavice. Přes kartu jsem připojil akcelerometr. Toto nastavení bylo dostatečně robustní, aby udrželo můj akcelerometr stabilní a dokázalo přesně sledovat moje gesta.
Doporučuje:
Arduino DIY herní ovladač - Herní ovladač Arduino PS2 - Hra Tekken s gamepadem pro kutily Arduino: 7 kroků
Arduino DIY herní ovladač | Herní ovladač Arduino PS2 | Hraní Tekken s DIY Arduino Gamepad: Ahoj kluci, hraní her je vždy zábava, ale hraní s vaší vlastní DIY vlastní hrou je zábavnější. Takže v tomto návodu vytvoříme herní ovladač pomocí arduino pro micro
Výukový program Bluetooth RYB080l pro nositelná zařízení: 8 kroků
Výukový program Bluetooth RYB080l pro nositelná zařízení: Hej, co se děje, lidi! Akarsh sem z CETech. Tento můj projekt je spíše křivkou učení, abychom porozuměli fungování malého modulu Bluetooth od společnosti Reyax. Nejprve porozumíme modulu samotnému a pokusíme se ho použít přímo, pak budeme spolupracovat
Miniaturní nositelný aretační zesilovač (a sonarový systém pro nositelná zařízení atd.): 7 kroků
Miniaturní nositelný aretační zesilovač (a systém Sonar pro nositelná zařízení atd.): Postavte miniaturní levný zesilovač se zámkem, který lze vložit do rámů brýlí a vytvořit systém sonarového vidění pro nevidomé nebo jednoduchý ultrazvuk stroj, který nepřetržitě sleduje vaše srdce a pomocí Human-Machine Learning varuje před
Digitální napájení USB C napájené technologií Bluetooth: 8 kroků (s obrázky)
Digitální napájení USB C napájené přes Bluetooth: Chtěli jste někdy napájecí zdroj, který můžete používat na cestách, a to i bez zásuvky v blízkosti? A nebylo by skvělé, kdyby to bylo také velmi přesné, digitální a ovladatelné prostřednictvím počítače a telefonu? V tomto návodu vám ukážu, jak stavět přesně
Ovladač SNES do režimu myši: 8 kroků
Ovladač SNES do režimu myši: Rychlý a snadný způsob, jak přeměnit ovladač SNES na fungující optickou myš