Sisällysluettelo:

[Wearable Mouse] Bluetooth-pohjainen Wearable Mouse Controller Windows 10: lle ja Linuxille: 5 vaihetta
[Wearable Mouse] Bluetooth-pohjainen Wearable Mouse Controller Windows 10: lle ja Linuxille: 5 vaihetta
Anonim
Image
Image
Liitäntäinen kiihtyvyysanturi Raspberry Pi: n kanssa
Liitäntäinen kiihtyvyysanturi Raspberry Pi: n kanssa

Tein Bluetooth-pohjaisen hiiren ohjaimen, jota voidaan käyttää hiiren osoittimen ohjaamiseen ja PC-hiireen liittyvien toimintojen suorittamiseen lennossa koskematta mihinkään pintoihin. Käsineeseen upotettua elektronista piiriä voidaan käyttää käsieleiden seuraamiseen kiihtyvyysmittarin kautta ja ne voidaan muuntaa hiiren osoittimen liikkeeksi. Tämä laite on myös liitetty painikkeeseen, joka toistaa vasemman painikkeen napsautuksen. Laite voidaan liittää sarjaan tietokoneeseen (USB: n kautta) tai langattomasti Bluetooth -yhteyden kautta. Bluetooth tarjoaa vankan ja yleisen langattoman tiedonsiirron isäntälaitteen ja tämän puettavan hiiren välillä. Koska Bluetooth on laajalti saatavilla ja se on upotettu lähes kaikkiin henkilökohtaisiin kannettaviin tietokoneisiin, tällaisen puettavan laitteen käyttötapa on laaja. Raspberry Pi: n, joka on yleisesti käytetty kehitysalusta eri hankkeisiin, käyttäminen, eri antureiden liitäntä ja tällaisen laitteen kehittäminen on helppoa ja skaalautuvaa. Käsine voidaan korvata millä tahansa muulla puettavalla, jotta sen käyttö olisi laajempaa.

Varotoimenpiteenä COVID-19-tautia vastaan on suositeltavaa välttää koskettamasta pintoja, jotka voidaan jakaa eri ihmisten kesken, ja kosketusnäyttöinen kannettava tietokone tai hiiri voivat olla näiden yhteisten pintojen joukossa. Tällaisen puettavan laitteen käyttäminen auttaa ylläpitämään hygieniaa ja pitämään yleisesti käytetyt pinnat puhtaina:)

Tarvikkeet

  • Raspberry Pi 3 Malli B V1.2
  • SparkFun -kolmiakselinen kiihtyvyysanturi - MMA8452Q
  • Uros -naarasliitin
  • Hanska
  • Ilmastointiteippi
  • Sakset
  • Micro-USB-kaapeli
  • HDMI -kaapeli (virheenkorjaukseen Raspberry Pi: n kautta)

Vaihe 1: Kiihtyvyysmittarin liittäminen Raspberry Pi: n kanssa

Liitäntäinen kiihtyvyysanturi Raspberry Pi: n kanssa
Liitäntäinen kiihtyvyysanturi Raspberry Pi: n kanssa

Käytin Sparkfunin kolmiakselista MMA8542Q-kiihtyvyysmittaria, joka käyttää I2C-kommunikaatioprotokollaa Raspberry Pi GPIO-nastojen kanssa ja lähettää akselitiedot. Tämä anturi tarjoaa erilaisia toimintatiloja, joissa on konfiguroitava tiedonsiirtonopeus, lepotilat, kiihtyvyysalue, suodatintila jne. Löysin Pibitsin koodin olevan erittäin hyödyllinen anturin alkuasetuksissa ja testatessani sitä kädenliikkeillä. On parempi sijoittaa anturi ensin tasaiselle pinnalle ja tehdä deterministisiä kallistuksia tarkkaillen anturin raaka -arvoja. Tämä on erityisen hyödyllistä ymmärtää, miten tämä anturi reagoi eri käsieleillä ja miten voimme asettaa kynnysarvot sovelluksellemme. Kun kiihtyvyysmittari on liitetty onnistuneesti, näet Pi: n terminaalinäytössä tulevat raakadatatiedot.

Vaihe 2: Liitäntäpainike Raspberry Pi: n kanssa

Liitäntäpainike Raspberry Pi: llä
Liitäntäpainike Raspberry Pi: llä

Tässä puettavassa laitteessa liitin painikkeen, joka voi toimia hiiren vasemmalla painikkeella, jotta voin napsauttaa näytön kuvakkeita. Painikkeen kaksi päätä kytketään sitten Pi: n kahteen GPIO -nastaan. Yksi nastoista antaa loogisen korkean ja toinen nasta lukee arvon. Kun painiketta painetaan, piiri sulkeutuu ja sisääntulonappi pystyy lukemaan loogisen arvon, jota sitten käsitellään komentosarjalla, jonka kirjoitin jäljittelemään hiiren vasenta napsautusta. Juotosraudan puutteen vuoksi käytin teippiä liittämään puserot painikkeeseen.

Vaihe 3: Python -komentosarjan kehittäminen hiiren osoittimen sarjaohjaukseen

Käytin Pyautogui Python -kirjastoa hiiren osoittimen ohjaamiseen. Syy tämän kirjaston käyttöön oli se, että se toimii sekä Linuxilla että Windows -alustalla. Hallitaksesi hiiren osoitinta Raspberry Pi -laitteessani, liitin ensin Pi: n näyttöön. Sitten käytin seuraavia kirjaston tarjoamia sovellusliittymiä hiiren osoittimen hallintaan:

  1. pyautogui.move (0, 200, 2) # siirtää hiirtä 200 pikseliä alaspäin 2 sekunnin aikana
  2. pyautogui.click () # napsauta hiirtä

Kiihtyvyysmittarin virhetietojen suodattamiseksi käytin keskiarvoistusta ja muita suodatusmenetelmiä, jotka on helppo ymmärtää liitteenä olevan koodin avulla. Sovellusliittymää pyautogui.move (0, y) käytettiin siten, että hiiren osoitin voi siirtyä ylös tai alas tai vasemmalta oikealle kerrallaan. Tämä johtuu siitä, että kiihtyvyysmittari ilmoittaa akselit X-, Y- ja Z -suunnassa, mutta sovellusliittymä ottaa vain kaksi argumenttia, X- ja Y -akselit. Näin ollen tämä lähestymistapa sopi paljon kiihtyvyysmittarilleni ja eleiden kartoittamiseen näytöllä.

Vaihe 4: Python -komentosarjan kehittäminen hiiren osoittimen ohjaamiseen Bluetoothin kautta

Python -komentosarjan kehittäminen hiiren osoittimen ohjaamiseen Bluetoothin kautta
Python -komentosarjan kehittäminen hiiren osoittimen ohjaamiseen Bluetoothin kautta

Tämä osa on edistynyt sovellus, jossa mikä tahansa Bluetooth-ominaisuuksilla varustettu kannettava tietokone voi kommunikoida Raspberry Pi: n kanssa palvelin-asiakas-viestintämallissa ja lähettää hiiren koordinaattitietoja langattomasti. Jotta voimme määrittää 64-bittisen Windows 10 -kannettavan Bluetooth-yhteyden sallimiseksi, meidän on noudatettava seuraavia ohjeita:

Windows 10:

  1. Luo saapuva Bluetooth -COM -portti.
  2. Yhdistä Pi: n Bluetooth ja kannettavan tietokoneen Bluetooth tekemällä Pi löydettäväksi.
  3. Asenna Python Windowsiin.
  4. Asenna pip Windowsiin. Pip -ohjelmaa käytetään kirjastojen asentamiseen Linux- tai Windows -koneelle.
  5. Asenna pyautogui Windowsiin käyttämällä: pip install pyautogui
  6. Kun pyautogui on asennettu laitteeseen, asenna Pybluez Windowsiin käyttämällä seuraavaa komentoa Windows-päätteessä käyttäen: pip install PyBluez-win10. PyBluez mahdollistaa Bluetooth -yhteyden sekä Windows- että Linux -tietokoneissa.
  7. Jotta voimme kehittää sovelluksen Windows 10 -tietokoneeseen, meidän on asennettava Microsoft Visual Studio (15-20 Gt tilaa) ja sen rakennustyökalut. Siksi meidän on PyBluezin kanssa noudatettava alla olevia ohjeita,

    1. Lataa ja suorita "Visual Studio Installer":
    2. Asenna "Visual Studio Build Tools 2017", tarkista "Visual C ++ Build Build Tools" ja "Universal Windows Platform Build Tools"

    3. git -klooni
    4. cd pybluez
    5. python setup.py asennus

  8. Jos yllä olevia ohjeita noudatetaan oikein, Pythonin suorittaminen Windows -päätelaitteessa sekä pyautogui- ja Bluetooth -moduulien tuonti toimivat virheettömästi yllä olevan kuvan mukaisesti.
  9. Siirry Windows-koneeseen asennetussa pybluez-kirjastossa osoitteeseen: pybluez-master / example / simple / rfcomm-server.py ja suorita se käyttämällä python rfcomm-server.py. Jos päätelaite siirtyy odotustilaan ilman virheitä, siirry alla olevaan osaan Bluetoothin asettamiseksi Pi: lle. Jos pybluezin asentamisessa on virheitä, katso virheenkorjaus kohdasta GitHub -ongelmat.

Raspbian Raspberry Pi: ssä:

  1. Asenna PyBluez Pi: lle
  2. Suorita palvelimen esimerkki Windowsissa. Siirry sitten Pi: llä kohtaan pybluez-master / esimerkit / simple / rfcomm-client.py ja suorita. Jos molemmat laitteet ovat alkaneet kommunikoida, Bluetooth on nyt määritetty molemmille laitteille. Lisätietoja MIT: n pistorasiaviestinnän toiminnasta saat tämän linkin kautta.

Akselitietojen lähettämiseksi Pi: ltä PC: lle tarvitaan joitain lisädatan jäsentämistietoja, koska tiedot lähetetään tavuina. Katso lisätietoja asiakkaan ja palvelimen tiedonsiirrosta liitteenä olevasta koodista.

Vaihe 5: Kiihtyvyysmittarin ja painikkeen upottaminen käsineeseen

Kiihtyvyysmittarin ja painikkeen upottaminen käsineeseen
Kiihtyvyysmittarin ja painikkeen upottaminen käsineeseen
Kiihtyvyysmittarin ja painikkeen upottaminen käsineeseen
Kiihtyvyysmittarin ja painikkeen upottaminen käsineeseen

Kun kiihtyvyysmittari on liitetty hyvin, luurankojärjestelmä näyttää jotain ensimmäiseltä kuvalta tässä vaiheessa.

Koska käsineen pinta ei ole tasainen, käytin silloin tällöin postilaatikkooni tulevaa tyhjää luottokorttia. Tämän vaiheen toisen kuvan mukaisesti kiinnitin nuken luottokortin käsineeni yläpintaan teipillä. Liitin kortin päälle kiihtyvyysmittarin. Tämä asetus oli riittävän vankka pitämään kiihtyvyysmittarini vakaana ja pystymään seuraamaan eleitäni tarkasti.

Suositeltava: