Sisukord:

[Kantav hiir] Bluetooth-põhine kantav hiirekontroller Windows 10 ja Linuxi jaoks: 5 sammu
[Kantav hiir] Bluetooth-põhine kantav hiirekontroller Windows 10 ja Linuxi jaoks: 5 sammu

Video: [Kantav hiir] Bluetooth-põhine kantav hiirekontroller Windows 10 ja Linuxi jaoks: 5 sammu

Video: [Kantav hiir] Bluetooth-põhine kantav hiirekontroller Windows 10 ja Linuxi jaoks: 5 sammu
Video: Гио Пика - Тётка Чёрной Масти (Official Music Video) 2024, November
Anonim
Image
Image
Liidese kiirendusmõõtur Raspberry Pi -ga
Liidese kiirendusmõõtur Raspberry Pi -ga

Tegin Bluetooth-põhise hiirekontrolleri, mida saab kasutada hiirekursori juhtimiseks ja arvutihiirega seotud toimingute tegemiseks lennult, ilma ühtegi pinda puudutamata. Kindale manustatud elektroonilist vooluringi saab kasutada kiirendusmõõturi abil käeliigutuste jälgimiseks ja hiirekursori liikumiseks. See seade on ühendatud ka nupuga, mis kordab vasaku nupu klõpsu. Seadet saab ühendada jadamisi arvutiga (USB kaudu) või juhtmevabalt Bluetooth -ühenduse kaudu. Bluetooth pakub tugevat ja universaalset traadita sideühendust hostseadme ja selle kantava hiire vahel. Kuna Bluetooth on laialdaselt saadaval ja see on varustatud peaaegu kõigi isiklike sülearvutitega, on sellise kantava seadme kasutusviis lai. Raspberry Pi kasutamine, mis on erinevate projektide jaoks tavaliselt kasutatav arendusplatvorm, erinevate andurite liidestamine ja sellise seadme arendamine on lihtne ja skaleeritav. Kinda saab asendada mis tahes muu kantavaga, et muuta selle kasutamine laiemaks.

Ettevaatusabinõuna COVID-19 vastu on soovitatav vältida erinevate inimeste vahel jagatavate pindade puudutamist ning nende tavaliste pindade hulgas võib olla ka puuteekraaniga sülearvuti või hiir. Sellise kantava seadme kasutamine aitab säilitada hügieeni ja hoida tavalised pinnad desinfitseeritud:)

Tarvikud

  • Vaarika Pi 3 Mudel B V1.2
  • SparkFun kolme teljega kiirendusmõõtur - MMA8452Q
  • Isas -naissoost hüppaja traat
  • Kinda
  • Kleeplint
  • Käärid
  • Micro-USB kaabel
  • HDMI -kaabel (silumiseks Raspberry Pi kaudu)

Samm: kiirendusmõõturi liidestamine Raspberry Pi -ga

Liidese kiirendusmõõtur Raspberry Pi -ga
Liidese kiirendusmõõtur Raspberry Pi -ga

Kasutasin Sparkfuni MMA8542Q kolmeteljelist kiirendusmõõturit, mis kasutab I2C sideprotokolli, et rääkida Raspberry Pi GPIO tihvtidega ja saata telgede andmeid. See andur pakub erinevaid töörežiime koos konfigureeritava andmeedastuskiiruse, unerežiimide, kiirendusvahemiku, filtrežiimiga jne. Leidsin, et Pibits'i kood on anduri esialgses konfiguratsioonis ja käeliigutustega testimisel väga kasulik. Parem on esmalt asetada andur tasasele pinnale ja teha deterministlikke kaldeid, jälgides samal ajal töötlemata anduri väärtusi. See on eriti kasulik mõistmaks, kuidas see andur reageerib erinevatele käeliigutustele ja kuidas saame oma rakendusele künniseid seada. Kui kiirendusmõõtur on edukalt liidestatud, näete Pi terminali ekraanil saabuvaid telgede andmeid.

Samm 2: Vajutage nupp Raspberry Pi-ga

Liidese nupp Raspberry Pi-ga
Liidese nupp Raspberry Pi-ga

Selles kantavas seadmes ühendasin nupu, mis võib töötada hiire vasaku nupuna, et saaksin ekraanil olevaid ikoone klõpsata. Seejärel ühendatakse nupu 2 otsa 2 Pi GPIO kontaktiga. Üks tihvtidest väljastab loogilise kõrguse ja teine tihvt loeb selle väärtuse. Nupu vajutamisel lülitub vooluahel suletuks ja sisendnõel suudab lugeda loogiliselt kõrget väärtust, mida seejärel töödeldakse skriptiga, mille kirjutasin, et jäljendada hiire vasakklõpsu. Jootekolvi puudumise tõttu kasutasin džemprite nupuga ühendamiseks kleeplinti.

Samm: arendage Pythoni skript hiirekursori järjestikuseks juhtimiseks

Hiirekursori juhtimiseks kasutasin Pyautogui Pythoni raamatukogu. Selle teegi kasutamise põhjus oli see, et see töötab nii Linuxis kui ka Windowsi platvormil. Raspberry Pi hiirekursori juhtimiseks ühendasin esmalt oma Pi kuvariga. Seejärel kasutasin hiirekursori juhtimiseks järgmisi teegi pakutavaid API -sid:

  1. pyautogui.move (0, 200, 2) # viib hiire 2 sekundi jooksul 200 pikslit allapoole
  2. pyautogui.click () # klõpsake hiirt

Kiirendusmõõturi vigade andmete filtreerimiseks kasutasin keskmistamist ja muid filtreerimismeetodeid, millest on lihtne aru saada lisatud koodi abil. API pyautogui.move (0, y) kasutati nii, et hiirekursor võib korraga liikuda üles-alla või vasakule-paremale. Selle põhjuseks on asjaolu, et kiirendusmõõtur näitab telgi X, Y ja Z suunas, kuid API võtab ainult kaks argumenti, X ja Y telge. Seega sobis see lähenemine minu kiirendusmõõturiks ja žestide kaardistamiseks ekraanile.

Samm: arendage Pythoni skript hiirekursori juhtimiseks Bluetoothi kaudu

Pythoni skripti väljatöötamine hiirekursori juhtimiseks Bluetoothi kaudu
Pythoni skripti väljatöötamine hiirekursori juhtimiseks Bluetoothi kaudu

See osa on täiustatud rakendus, kus iga Bluetooth-funktsiooniga sülearvuti saab serveri-kliendi suhtlusmudelis Raspberry Pi-ga suhelda ja hiire koordinaatide andmeid juhtmevabalt edastada. Windows 10 64-bitise sülearvuti seadistamiseks Bluetooth-ühenduse lubamiseks peame järgima alltoodud samme.

Windows 10:

  1. Looge sissetulev Bluetooth COM -port.
  2. Siduge Pi Bluetooth sülearvuti Bluetoothiga, muutes Pi avastatavaks.
  3. Installige Python Windowsi.
  4. Installige pip Windowsi. Pipi kasutatakse teekide installimiseks Linuxi või Windowsi masinasse.
  5. Installige pyautogui Windowsile, kasutades: pip install pyautogui
  6. Kui pyautogui on seadmesse installitud, installige Pybluez Windowsile, kasutades Windowsi terminalis järgmist käsku: pip install PyBluez-win10. PyBluez võimaldab Bluetooth -ühendust nii Windowsi kui ka Linuxi arvutites.
  7. Rakenduse arendamiseks sülearvutis Windows 10 peame installima Microsoft Visual Studio (vaja on 15-20 GB ruumi) ja selle ehitustööriistad. Seetõttu peame koos PyBlueziga järgima alltoodud juhiseid,

    1. Laadige alla ja käivitage "Visual Studio Installer":
    2. Installige "Visual Studio Build Tools 2017", märkige "Visual C ++ build tools" ja "Universal Windows Platform build tools"

    3. git kloon
    4. cd pybluez
    5. python setup.py install

  8. Kui ülaltoodud juhiseid järgitakse õigesti, peaks Pythoni käivitamine Windowsi terminalis ning pyautogui ja Bluetooth -mooduli importimine toimima tõrgeteta, nagu ülaltoodud pildil.
  9. Liikuge Windowsi masinasse installitud teegis pybluez jaotisse: pybluez-master / example / simple / rfcomm-server.py ja käivitage see python rfcomm-server.py abil. Kui terminal läheb vigadeta ooterežiimi, minge Bluetoothi seadistamiseks Pi -le allolevasse jaotisse. Kui pybluezi installimisel esineb vigu, vaadake silumiseks jaotist GitHubi probleemid.

Raspbian on Raspberry Pi:

  1. Installige PyBluez Pi -le
  2. Käivitage serveri näide Windowsis. Seejärel navigeerige Pi-le jaotisse pybluez-master / example / simple / rfcomm-client.py ja käivitage. Kui kaks seadet on alustanud suhtlemist, on Bluetooth mõlemas seadmes nüüd seadistatud. Et mõista, kuidas pistikupesa Pythoniga töötab, vaadake seda MIT -i linki.

Telgede andmete Pi -st arvutisse saatmiseks on vaja täiendavat andmete parsimist, kuna andmed saadetakse baitides. Lisateavet kliendi ja serveri andmeside kohta leiate lisatud koodist.

Samm 5: kiirendusmõõturi ja nupu kinnisele kinnistamine

Kiirendusmõõturi ja nupu kinnisele kinnistamine
Kiirendusmõõturi ja nupu kinnisele kinnistamine
Kiirendusmõõturi ja nupu kinnisele kinnistamine
Kiirendusmõõturi ja nupu kinnisele kinnistamine

Kui kiirendusmõõtur on hästi liidestatud, näeb skeleti süsteem selle sammu esimene pilt välja.

Kuna kinda pind ei ole tasane, kasutasin aeg -ajalt postkastis olevat näivast krediitkaarti. Selle sammu teise pildi kohaselt kinnitasin kleeplindiga oma kinda ülemisele pinnale näiva krediitkaardi. Kaardi kohale kinnitasin kiirendusmõõturi. See seadistus oli piisavalt tugev, et hoida minu kiirendusmõõtur stabiilsena ja jälgida minu žeste täpselt.

Soovitan: