Բովանդակություն:

[Wearable Mouse] Bluetooth- ի վրա հիմնված Wearable Mouse Controller Windows 10-ի և Linux- ի համար. 5 քայլ
[Wearable Mouse] Bluetooth- ի վրա հիմնված Wearable Mouse Controller Windows 10-ի և Linux- ի համար. 5 քայլ

Video: [Wearable Mouse] Bluetooth- ի վրա հիմնված Wearable Mouse Controller Windows 10-ի և Linux- ի համար. 5 քայլ

Video: [Wearable Mouse] Bluetooth- ի վրա հիմնված Wearable Mouse Controller Windows 10-ի և Linux- ի համար. 5 քայլ
Video: Lenovo XT99 Headphone Bluetooth 5.2 TWS Wireless Earbuds 2024, Նոյեմբեր
Anonim
Image
Image
Արագացուցիչի միջերես ՝ Raspberry Pi- ի հետ
Արագացուցիչի միջերես ՝ Raspberry Pi- ի հետ

Ես պատրաստել եմ Bluetooth- ի վրա հիմնված մկնիկի վերահսկիչ, որը կարող է օգտագործվել մկնիկի ցուցիչը վերահսկելու և համակարգչով մկնիկի հետ կապված գործողություններ կատարելու համար ՝ առանց որևէ մակերեսի դիպչելու: Էլեկտրոնային սխեմաները, որոնք տեղադրված են ձեռնոցի վրա, կարող են օգտագործվել արագացուցիչի միջոցով ձեռքի շարժումները հետևելու համար և կարող են թարգմանվել մկնիկի ցուցիչի շարժման մեջ: Այս սարքը միացված է նաև կոճակին, որը կրկնում է ձախ կոճակի կտտոցը: Սարքը կարող է սերիականորեն կցվել համակարգչին (USB- ի միջոցով) կամ անլար `Bluetooth կապի միջոցով: Bluetooth- ն ապահովում է հզոր և ունիվերսալ անլար հաղորդակցություն հյուրընկալող սարքի և այս կրելի մկնիկի միջև: Քանի որ Bluetooth- ը լայնորեն հասանելի է և ներկառուցված է գրեթե բոլոր անձնական նոթբուքերի հետ, նման կրելի սարքի օգտագործման դեպքերը լայն են: Raspberry Pi- ի օգտագործումը, որը տարբեր ծրագրերի համար սովորաբար օգտագործվող զարգացման հարթակ է, տարբեր սենսորների փոխազդեցությունը և նման սարքի մշակումը հեշտ է և մասշտաբելի: Ձեռնոցը կարող է փոխարինվել ցանկացած այլ կրելիով `դրա կիրառումը ավելի լայն դարձնելու համար:

Որպես կանխարգելիչ միջոց COVID-19- ի դեմ, նպատակահարմար է խուսափել տարբեր մարդկանց միջև տարածվող մակերեսներին դիպչելուց, իսկ դիպչող էկրանով նոթբուք կամ մկնիկ կարող է լինել այդ ընդհանուր մակերեսների շարքում: Նման կրելի սարքի օգտագործումը օգնում է պահպանել հիգիենան և սովորաբար օգտագործվող մակերեսները ախտահանել:)

Պարագաներ

  • Raspberry Pi 3 Model B V1.2
  • SparkFun եռակի առանցքի արագացուցիչի բեկում - MMA8452Q
  • Արականից իգական Jumper Wire
  • Ձեռնոց
  • Սկոտչ
  • Մկրատ
  • Միկրո USB մալուխ
  • HDMI մալուխ (Raspberry Pi- ի միջոցով կարգաբերելու համար)

Քայլ 1. Արագացուցիչի միջերես Raspberry Pi- ի հետ

Արագացուցիչի միջերես ՝ Raspberry Pi- ի հետ
Արագացուցիչի միջերես ՝ Raspberry Pi- ի հետ

Ես օգտագործեցի MMA8542Q եռակի առանցքի արագացուցիչ ՝ Sparkfun- ից, որն օգտագործում է I2C հաղորդակցության արձանագրությունը ՝ Raspberry Pi GPIO կապանքների հետ խոսելու և առանցքների տվյալները ուղարկելու համար: Այս տվիչը ապահովում է գործունեության տարբեր եղանակներ `կարգավորվող տվյալների արագությամբ, քնի ռեժիմներով, արագացման տիրույթով, ֆիլտրի ռեժիմով և այլն: Ես գտա, որ Pibits- ի ծածկագիրը շատ օգտակար է սենսորի իմ սկզբնական կազմաձևման և ձեռքի շարժումներով փորձարկելու համար: Ավելի լավ է առաջինը տեղադրել սենսորը հարթ մակերևույթի վրա և դետերմինիստական թեքություններ կատարել `միաժամանակ պահպանելով սենսորի հումքի արժեքները: Սա հատկապես օգտակար է հասկանալու համար, թե ինչպես է այս սենսորը արձագանքում ձեռքի տարբեր ժեստերին և ինչպես կարող ենք սահմանել մեր կիրառման շեմերը: Երբ արագացուցիչը հաջողությամբ միացված է, կարող եք տեսնել Pi- ի տերմինալի էկրանին եկող հումքի առանցքային տվյալները:

Քայլ 2. Ազդեցիկ կոճակ Raspberry Pi- ի հետ

Ինտերֆեյսային սեղմիչ-կոճակ Raspberry Pi- ի հետ
Ինտերֆեյսային սեղմիչ-կոճակ Raspberry Pi- ի հետ

Այս կրելի սարքում ես միացրեցի մի կոճակ, որը կարող է աշխատել որպես ձախ մկնիկի կոճակ, որպեսզի կարողանամ կտտացնել էկրանի պատկերակներին: Կոճակի 2 ծայրերը միացված են Pi- ի 2 GPIO կապին: Պիներից մեկը թողարկում է տրամաբանական բարձր մակարդակ, իսկ մյուս քորոցը կարդում է այդ արժեքը: Երբ կոճակը սեղմվում է, շրջանը փակվում է, և մուտքագրման քորոցը կարողանում է կարդալ տրամաբանական բարձր արժեք, որն այնուհետև մշակվում է իմ գրած սցենարի միջոցով ՝ ձախ մկնիկի կտտոցը ընդօրինակելու համար: Soldոդման երկաթի բացակայության պատճառով ես ժապավեն օգտագործեցի ՝ թռիչքները կոճակով միացնելու համար:

Քայլ 3. Մշակի Python սցենարի մշակում ՝ մկնիկի ցուցիչը սերիական վերահսկելու համար

Ես օգտագործել եմ Pyautogui Python գրադարանը ՝ մկնիկի ցուցիչը վերահսկելու համար: Այս գրադարանից օգտվելու պատճառն այն էր, որ այն աշխատում է ինչպես Linux- ի, այնպես էլ Windows հարթակի վրա: Իմ Raspberry Pi- ի մկնիկի ցուցիչը վերահսկելու համար նախ իմ Pi- ն միացրեցի ցուցադրման: Այնուհետև, ես օգտագործեցի գրադարանի տրամադրած հետևյալ API- ները ՝ մկնիկի ցուցիչս վերահսկելու համար.

  1. pyautogui.move (0, 200, 2) # շարժում է մկնիկը 200 պիքսել ներքև 2 վայրկյանի ընթացքում
  2. pyautogui.click () # սեղմեք մկնիկը

Արագացուցիչից եկող սխալի տվյալները զտելու համար ես օգտագործել եմ միջինացման և զտման այլ մեթոդներ, որոնք հեշտությամբ կարելի է հասկանալ կցված ծածկագրի միջոցով: API pyautogui.move- ը (0, y) օգտագործվել է այնպես, որ մկնիկի ցուցիչը կարող է միաժամանակ կամ վեր-վար գնալ, կամ ձախ-աջ: Դա պայմանավորված է նրանով, որ արագացուցիչը հաղորդում է առանցքներ X, Y և Z ուղղությամբ, սակայն API- ն վերցնում է ընդամենը 2 արգումենտ ՝ X և Y առանցքներ: Հետևաբար, այս մոտեցումը շատ հարմար էր իմ արագացուցիչի և էկրանի ժեստերի քարտեզագրման համար:

Քայլ 4. Մշակել Python Script ՝ մկնիկի ցուցիչը Bluetooth- ի միջոցով կառավարելու համար

Մշակում է Python Script ՝ Bluetooth- ի միջոցով մկնիկի ցուցիչը կառավարելու համար
Մշակում է Python Script ՝ Bluetooth- ի միջոցով մկնիկի ցուցիչը կառավարելու համար

Այս մասը առաջադեմ ծրագիր է, որի դեպքում Bluetooth- ի հնարավորություններ ունեցող ցանկացած նոութբուք կարող է հաղորդակցվել Raspberry Pi- ի հետ սերվեր-հաճախորդ հաղորդակցության մոդելում և անլար փոխանցել մկնիկի կոորդինատների տվյալները: Windows 10 64-բիթանոց նոութբուք ստեղծելու համար, որը թույլ կտա Bluetooth- ի հաղորդակցումը, մենք պետք է հետևենք հետևյալ քայլերին.

Windows 10:

  1. Ստեղծեք մուտքային Bluetooth COM պորտ:
  2. Միացրեք Pi- ի Bluetooth- ը նոութբուքի Bluetooth- ով `դարձնելով Pi- ն հայտնաբերելի:
  3. Տեղադրեք Python- ը Windows- ում:
  4. Տեղադրեք pip Windows- ում: Pip- ն օգտագործվում է Linux կամ Windows մեքենայի վրա գրադարաններ տեղադրելու համար:
  5. Տեղադրեք pyautogui- ը Windows- ի միջոցով ՝ pip install pyautogui
  6. Երբ սարքում տեղադրվում է pyautogui, տեղադրեք Pybluez- ը Windows- ում ՝ օգտագործելով հետևյալ հրամանը Windows տերմինալում ՝ օգտագործելով pip տեղադրեք PyBluez-win10: PyBluez- ը միացնում է Bluetooth հաղորդակցությունը ինչպես Windows, այնպես էլ Linux համակարգիչների վրա:
  7. Windows 10 նոութբուքի վրա ծրագիր մշակելու համար մենք պետք է տեղադրենք Microsoft Visual Studio (պահանջվում է 15-20 ԳԲ տարածք) և դրա կառուցման գործիքները: Հետևաբար, PyBluez- ի հետ միասին, մենք պետք է հետևենք հետևյալ հրահանգներին,

    1. Ներբեռնեք և գործարկեք «Visual Studio Installer»-ը ՝
    2. Տեղադրեք «Visual Studio Build Tools 2017», ստուգեք «Visual C ++ build tool» և «Universal Windows Platform build գործիքներ»

    3. git կլոն
    4. cd pybluez
    5. python setup.py տեղադրել

  8. Եթե վերը նշված հրահանգները ճիշտ կատարվեն, Windows- ի տերմինալում Python- ի գործարկումը և pyautogui- ի և Bluetooth մոդուլի ներմուծումը պետք է աշխատեն առանց սխալների, ըստ վերևի պատկերի:
  9. Windows մեքենայի վրա տեղադրված pybluez գրադարանում անցեք ՝ pybluez-master / მაგალითեր / պարզ / rfcomm-server.py և կատարեք ՝ օգտագործելով python rfcomm-server.py: Եթե տերմինալը անցնում է սպասման վիճակի ՝ առանց սխալների, անցեք ստորև բերված բաժին ՝ Pi- ում Bluetooth կարգավորելու համար: Եթե pybluez- ի տեղադրման մեջ սխալներ կան, կարգաբերման համար դիմեք GitHub Issues- ին:

Raspbian on Raspberry Pi:

  1. Տեղադրեք PyBluez Pi- ի վրա
  2. Գործարկեք սերվերի օրինակը Windows- ում: Այնուհետև, Pi- ում, նավարկեք դեպի pybluez-master / samples / simple / rfcomm-client.py և կատարեք: Եթե երկու սարքերը սկսել են հաղորդակցվել, Bluetooth- ը այժմ տեղադրված է երկու սարքերում: Որպեսզի ավելի շատ հասկանաք, թե ինչպես է աշխատում վարդակից հաղորդակցությունը Python- ի հետ, դիմեք MIT- ի այս հղմանը:

Կպահանջվի լրացուցիչ տվյալների վերլուծություն, որոնք կպահանջվեն առանցքների տվյալները Pi- ից ԱՀ ուղարկելու համար, քանի որ տվյալները ուղարկվում են բայթերով: Հաճախորդի և սերվերի տվյալների հաղորդակցության վերաբերյալ լրացուցիչ տեղեկությունների համար դիմեք կից ծածկագրին:

Քայլ 5. Արագացուցիչի և կոճակի տեղադրումը ձեռնոցի վրա:

Ձեռքի վրա արագացուցիչի և կոճակի տեղադրում
Ձեռքի վրա արագացուցիչի և կոճակի տեղադրում
Ձեռքի վրա արագացուցիչի և կոճակի տեղադրում
Ձեռքի վրա արագացուցիչի և կոճակի տեղադրում

Երբ արագացուցիչը լավ միջամտում է, կմախքային համակարգը կարծես այս քայլի առաջին պատկերն է:

Քանի որ ձեռնոցի մակերեսը հարթ չէ, ես օգտագործում էի կեղծ վարկային քարտ, որը մեկ -մեկ գալիս էր փոստարկղս: Այս քայլի երկրորդ պատկերի համաձայն, ես ձեռնոցի վերին մակերեսին ամրացրեցի վարկային քարտը կպչուն ժապավենով: Քարտի վրա ես կցեցի իմ արագացուցիչը: Այս կարգավորումը բավական ամուր էր, որպեսզի իմ արագացուցիչը կայուն պահեր և կարողանար ճշգրիտ հետևել իմ ժեստերին:

Խորհուրդ ենք տալիս: