INHOUDSOPGAWE:

[Wearable Mouse] Bluetooth-gebaseerde Wearable Mouse Controller vir Windows 10 en Linux: 5 stappe
[Wearable Mouse] Bluetooth-gebaseerde Wearable Mouse Controller vir Windows 10 en Linux: 5 stappe

Video: [Wearable Mouse] Bluetooth-gebaseerde Wearable Mouse Controller vir Windows 10 en Linux: 5 stappe

Video: [Wearable Mouse] Bluetooth-gebaseerde Wearable Mouse Controller vir Windows 10 en Linux: 5 stappe
Video: HAPPY ST. PATRICK'S DAY | Happy Wheels - Part 91 2024, September
Anonim
Image
Image
Koppelvlakversnellingsmeter met Framboos Pi
Koppelvlakversnellingsmeter met Framboos Pi

Ek het 'n Bluetooth-gebaseerde muisbeheerder gemaak wat gebruik kan word om die muiswyser te beheer en PC-muisverwante operasies uit te voer sonder om aan enige oppervlak te raak. Die elektroniese stroombane, wat op 'n handskoen ingebed is, kan gebruik word om handgebare deur 'n versnellingsmeter op te spoor en dit kan vertaal word in die beweging van die muiswyser. Hierdie toestel word ook verbind met 'n knoppie wat die klik op die linkerknoppie herhaal. Die toestel kan serieel aan die rekenaar gekoppel word (via USB) of draadloos via 'n Bluetooth -verbinding. Bluetooth bied 'n robuuste en universele draadlose kommunikasie tussen die gasheerapparaat en hierdie draagbare muis. Aangesien Bluetooth wyd beskikbaar is en byna alle persoonlike skootrekenaars bevat, is die gebruikskas van so 'n draagbare toestel breed. Die gebruik van Raspberry Pi, wat 'n algemeen gebruikte ontwikkelingsplatform vir verskillende projekte is, is die koppelvlak van verskillende sensors en die ontwikkeling van so 'n toestel maklik en skaalbaar. Die handskoen kan vervang word met enige ander draagbare om sy toepassing wyer te maak.

As 'n voorsorgmaatreël teen die COVID-19, is dit raadsaam om oppervlaktes wat onder verskillende mense gedeel kan word, nie aan te raak nie, en 'n skootrekenaar of 'n muis onder die algemene oppervlaktes. Deur so 'n draagbare toestel te gebruik, help dit om higiëne te handhaaf en om die oppervlaktes wat gereeld gebruik word, te ontsmet:)

Voorrade

  • Framboos Pi 3 Model B V1.2
  • SparkFun Triple Axis Accelerometer Breakout - MMA8452Q
  • Manlike tot vroulike springdraad
  • 'N Handskoen
  • Kleefband
  • Skêr
  • Mikro-USB kabel
  • HDMI -kabel (vir ontfouting deur Raspberry Pi)

Stap 1: Koppelvlakversnellingsmeter met Framboos Pi

Koppelvlakversnellingsmeter met Framboos Pi
Koppelvlakversnellingsmeter met Framboos Pi

Ek gebruik 'n MMA8542Q versnellingsmeter met drie asse van Sparkfun, wat die I2C-kommunikasieprotokol gebruik om met die Raspberry Pi GPIO-penne te praat en die asdata te stuur. Hierdie sensor bied verskillende werkswyses met die konfigureerbare datatempo, slaapmodi, versnellingsbereik, filtermodus, ens. Ek het gevind dat die kode van Pibits baie nuttig was in my aanvanklike opset van die sensor en dit met my handgebare toets. Dit is beter om eers die sensor op 'n plat oppervlak te plaas en deterministiese kantels te maak terwyl u die rou sensorwaardes in ag neem. Dit is veral nuttig om te verstaan hoe hierdie sensor met verskillende handgebare reageer en hoe ons drempels vir ons toepassing kan opstel. Sodra die versnellingsmeter suksesvol gekoppel is, kan u die rou as -data op die terminale skerm van die Pi sien.

Stap 2: Drukknop met Raspberry Pi

Koppelvlak-drukknop met Framboos Pi
Koppelvlak-drukknop met Framboos Pi

In hierdie draagbare toestel het ek 'n knoppie aangeskakel wat as 'n linkermuisknop kan werk, sodat ek op die ikone op die skerm kan klik. Die 2 punte van die knoppie word dan gekoppel aan 2 GPIO -penne van die Pi. Een van die penne lewer 'n logiese hoogtepunt en die ander pen lees die waarde. As u op die knoppie druk, word die kring gesluit en kan die invoerpen 'n logiese waarde lees, wat dan verwerk word deur die skrif wat ek geskryf het om met die linkermuisknop te klik. As gevolg van die gebrek aan soldeerbout, het ek kleefband gebruik om die springers met die knoppie te verbind.

Stap 3: Ontwikkel Python Script om die muiswyser serieel te beheer

Ek het die Pyautogui Python -biblioteek gebruik om die muiswyser te beheer. Die rede om hierdie biblioteek te gebruik, was omdat dit op Linux sowel as op die Windows -platform werk. Om die muiswyser op my Raspberry Pi te beheer, het ek eers my Pi aan 'n skerm gekoppel. Toe gebruik ek die volgende API's wat deur die biblioteek verskaf word om my muiswyser te beheer:

  1. pyautogui.move (0, 200, 2) # skuif die muis 200 pixels oor 2 sekondes af
  2. pyautogui.click () # klik met die muis

Om die foutdata van die versnellingsmeter af te filter, het ek gemiddelde en ander filtermetodes gebruik wat maklik deur die aangehegte kode verstaan kan word. Die API pyautogui.move (0, y) is so gebruik dat die muiswyser op 'n slag opwaarts of links-regs kan gaan. Dit is omdat die versnellingsmeter asse in die X-, Y- en Z -rigting rapporteer, maar die API neem slegs 2 argumente, X- en Y -as. Daarom was hierdie benadering baie geskik vir my versnellingsmeter en om die gebare op die skerm te karteer.

Stap 4: Ontwikkel Python Script om muiswyser via Bluetooth te beheer

Ontwikkel Python -script om die muiswyser via Bluetooth te beheer
Ontwikkel Python -script om die muiswyser via Bluetooth te beheer

Hierdie deel is 'n gevorderde toepassing waarin elke skootrekenaar met Bluetooth-vermoëns met Raspberry Pi kan kommunikeer in 'n bediener-kliënt-kommunikasiemodel en muis-koördinate data draadloos kan oordra. Om 'n Windows 10 64-bis skootrekenaar op te stel om Bluetooth-kommunikasie moontlik te maak, moet ons die onderstaande stappe volg:

Windows 10:

  1. Skep 'n inkomende Bluetooth COM -poort.
  2. Koppel die Bluetooth van die Pi met die Bluetooth van die skootrekenaar deur Pi ontdekbaar te maak.
  3. Installeer Python op Windows.
  4. Installeer pip op Windows. Pip word gebruik om biblioteke op 'n Linux- of Windows -masjien te installeer.
  5. Installeer pyautogui op Windows met: pip install pyautogui
  6. Sodra pyautogui op die toestel geïnstalleer is, installeer Pybluez op Windows met behulp van die volgende opdrag op die Windows-terminale met: pip installeer PyBluez-win10. PyBluez maak Bluetooth -kommunikasie moontlik op beide Windows- en Linux -rekenaars.
  7. Om 'n toepassing op 'n Windows 10-skootrekenaar te ontwikkel, moet ons Microsoft Visual Studio (15-20 GB spasie benodig) en die bougereedskap daarvan installeer. Daarom moet ons saam met PyBluez die onderstaande instruksies volg,

    1. Laai 'Visual Studio Installer' af en voer dit uit:
    2. Installeer 'Visual Studio Build Tools 2017', kyk na 'Visual C ++ build tools' en 'Universal Windows Platform build tools'

    3. git -kloon
    4. cd pybluez
    5. python setup.py installeer

  8. As die bogenoemde instruksies korrek gevolg word, moet die uitvoering van Python op die Windows -terminale en die invoer van pyautogui en die Bluetooth -module sonder foute werk, volgens die prent hierbo.
  9. Navigeer in die pybluez-biblioteek wat op die Windows-masjien geïnstalleer is, na: pybluez-master / examples / simple / rfcomm-server.py en voer dit uit met behulp van python rfcomm-server.py. As die terminale sonder foute in 'n wagtoestand gaan, gaan na die onderstaande afdeling om Bluetooth op Pi op te stel. As daar foute is met die installering van pybluez, raadpleeg GitHub Issues vir ontfouting.

Raspbian op Raspberry Pi:

  1. Installeer PyBluez op Pi
  2. Begin die bedienervoorbeeld op Windows. Navigeer dan op Pi na pybluez-master / examples / simple / rfcomm-client.py en voer dit uit. As die twee toestelle begin kommunikeer, is Bluetooth nou op albei toestelle opgestel. Raadpleeg hierdie skakel van MIT vir meer inligting oor hoe socket -kommunikasie met Python werk.

Daar is 'n paar ekstra data -ontleding nodig om asdata van Pi na 'n rekenaar te stuur, aangesien die data in grepe gestuur word. Raadpleeg die aangehegte kode vir meer inligting oor die kliënt- en bedienerdatakommunikasie.

Stap 5: Inbedding van versnellingsmeter en knoppie op die handskoen

Inbedding van versnellingsmeter en knoppie op die handskoen
Inbedding van versnellingsmeter en knoppie op die handskoen
Inbedding van versnellingsmeter en knoppie op die handskoen
Inbedding van versnellingsmeter en knoppie op die handskoen

Sodra die versnellingsmeter goed gekoppel is, lyk die skeletstelsel na die eerste beeld van hierdie stap.

Omdat die oppervlak van die handskoen nie plat is nie, het ek 'n dummy -kredietkaart gebruik wat af en toe na my posbus kom. Volgens die tweede prent op hierdie stap het ek die dummy -kredietkaart met kleeflint aan die bokant van my handskoen vasgemaak. Oor die kaart het ek my versnellingsmeter vasgemaak. Hierdie opstelling was robuust genoeg om my versnellingsmeter stabiel te hou en my gebare akkuraat te kan volg.

Aanbeveel: