Mündəricat:

[Geyilə bilən Siçan] Windows 10 və Linux üçün Bluetooth əsaslı Geyilə bilən Mouse Controller: 5 Addım
[Geyilə bilən Siçan] Windows 10 və Linux üçün Bluetooth əsaslı Geyilə bilən Mouse Controller: 5 Addım

Video: [Geyilə bilən Siçan] Windows 10 və Linux üçün Bluetooth əsaslı Geyilə bilən Mouse Controller: 5 Addım

Video: [Geyilə bilən Siçan] Windows 10 və Linux üçün Bluetooth əsaslı Geyilə bilən Mouse Controller: 5 Addım
Video: Значение тату погоны 2024, Iyul
Anonim
Image
Image
Raspberry Pi ilə əlaqəli sürətləndirici
Raspberry Pi ilə əlaqəli sürətləndirici

Siçan göstəricisini idarə etmək və heç bir səthə toxunmadan PC-siçanla əlaqəli əməliyyatları yerinə yetirmək üçün istifadə edilə bilən Bluetooth əsaslı bir siçan nəzarətçisi hazırladım. Əlcək üzərində olan elektron sxem, akselerometr vasitəsi ilə əl hərəkətlərini izləmək üçün istifadə edilə bilər və siçan göstəricisi hərəkətinə çevrilə bilər. Bu cihaz, sol düyməni basmağı təkrarlayan bir düymə ilə də əlaqələndirilir. Cihaz PC -yə (USB vasitəsilə) və ya Bluetooth bağlantısı vasitəsilə simsiz olaraq qoşula bilər. Bluetooth, ev sahibi cihazla bu geyilə bilən siçan arasında möhkəm və universal simsiz əlaqə təmin edir. Bluetooth geniş yayılmış və demək olar ki, bütün fərdi noutbuklara daxil olduğu üçün belə bir geyilə bilən cihazın istifadəsi genişdir. Müxtəlif layihələr, fərqli sensorlar arasındakı əlaqə və belə bir cihazın inkişafı üçün çox istifadə olunan bir inkişaf platforması olan Raspberry Pi -dən istifadə etmək asan və ölçeklendirilebilir. Əlcək, tətbiqini daha geniş etmək üçün başqa geyinə bilən ilə əvəz edilə bilər.

COVID-19-a qarşı bir tədbir olaraq, fərqli insanlar arasında paylaşıla bilən səthlərə toxunmamaq məsləhət görülür və bu ümumi səthlər arasında toxunma ekranlı bir dizüstü kompüter və ya siçan ola bilər. Belə bir geyilə bilən cihazdan istifadə gigiyenanı qorumağa və ümumi istifadə olunan səthləri təmizləməyə kömək edir:)

Təchizat

  • Raspberry Pi 3 Model B V1.2
  • SparkFun Üç Eksenli Akselerometr Qırılması - MMA8452Q
  • Kişi -Dişi Jumper Tel
  • Bir əlcək
  • Kanal Bantı
  • Qayçı
  • Mikro USB kabel
  • HDMI Kabeli (Raspberry Pi vasitəsilə ayıklama üçün)

Addım 1: Raspberry Pi ilə İnterfeysləşdirilmiş Akselerometr

Raspberry Pi ilə əlaqəli sürətləndirici
Raspberry Pi ilə əlaqəli sürətləndirici

Raspberry Pi GPIO pinləri ilə danışmaq və baltalar məlumatlarını göndərmək üçün I2C rabitə protokolundan istifadə edən Sparkfun-dan MMA8542Q Üç oxlu akselerometrdən istifadə etdim. Bu sensor, konfiqurasiya edilə bilən məlumat sürəti, yuxu rejimləri, sürətlənmə diapazonu, filtr rejimi və s. İlə müxtəlif iş rejimləri təmin edir. Pibitsdən alınan kodu sensorun ilkin konfiqurasiyasında və əl hərəkətlərimlə sınamaqda çox faydalı olduğunu gördüm. Sensoru əvvəlcə düz bir səthə qoymaq və xam sensor dəyərlərini müşahidə edərkən deterministik əyilmələr etmək daha yaxşıdır. Bu, bu sensorun müxtəlif əl hərəkətləri ilə necə reaksiya verdiyini və tətbiqimiz üçün eşikləri necə qura biləcəyimizi anlamaqda xüsusilə faydalıdır. Akselerometr uğurla birləşdirildikdən sonra, Pi terminal terminalında gələn xam baltalar məlumatlarını görə bilərsiniz.

Addım 2: Raspberry Pi ilə düymələri birləşdirin

Raspberry Pi ilə əlaqəli düymələr
Raspberry Pi ilə əlaqəli düymələr

Bu geyilə bilən cihazda, ekrandakı nişanları vurmaq üçün sol siçan düyməsi kimi işləyə bilən bir düymə ilə əlaqə qurdum. Düymənin 2 ucu daha sonra Pi -nin 2 GPIO pininə bağlanır. Sancaqlardan biri məntiqi yüksək çıxır və digər pin bu dəyəri oxuyur. Düymə basıldıqda, dövrə bağlanır və giriş pin məntiqi yüksək bir dəyəri oxuya bilir, sonra sol siçan düyməsini təqlid etmək üçün yazdığım skript tərəfindən işlənir. Lehimləmə dəmiri olmadığından atlayıcıları düymə ilə bağlamaq üçün yapışqan lentdən istifadə etdim.

Addım 3: Siçan Göstəricisini Serial İdarə etmək üçün Python Skriptinin İnkişaf etdirilməsi

Siçan göstəricisini idarə etmək üçün Pyautogui Python kitabxanasından istifadə etdim. Bu kitabxanadan istifadə etməsinin səbəbi həm Linux, həm də Windows platformasında çalışması idi. Raspberry Pi üzərindəki siçan göstəricisini idarə etmək üçün əvvəlcə Pi -ni ekrana bağladım. Sonra siçan göstəricimi idarə etmək üçün kitabxana tərəfindən verilən aşağıdakı API -lərdən istifadə etdim:

  1. pyautogui.move (0, 200, 2) # siçanı 2 saniyə ərzində 200 piksel aşağıya doğru hərəkət etdirir
  2. pyautogui.click () # siçanı vurun

Accelerometer -dən gələn səhv məlumatlarını süzmək üçün əlavə edilmiş kod vasitəsilə asanlıqla başa düşülə bilən ortalamadan və digər süzgəcdən istifadə etdim. Pyautogui.move (0, y) API siçan göstəricisi bir anda yuxarı-aşağı və ya sola-sağa gedə biləcək şəkildə istifadə edilmişdir. Bunun səbəbi, akselerometr X, Y və Z istiqamətindəki baltaları bildirir, lakin API yalnız 2 arqumenti, X və Y oxlarını alır. Buna görə də, bu yanaşma mənim akselerometrim və ekrandakı jestləri xəritələmək üçün çox uyğun idi.

Addım 4: Bluetooth vasitəsilə Siçan Göstəricisini idarə etmək üçün Python Skriptinin hazırlanması

Bluetooth vasitəsilə Siçan Göstəricisini idarə etmək üçün Python Skriptinin hazırlanması
Bluetooth vasitəsilə Siçan Göstəricisini idarə etmək üçün Python Skriptinin hazırlanması

Bu hissə, Bluetooth imkanları olan hər hansı bir noutbukun bir server-müştəri ünsiyyət modelində Raspberry Pi ilə əlaqə qura biləcəyi və siçan koordinatlarının məlumatlarını simsiz olaraq ötürə biləcəyi inkişaf etmiş bir tətbiqdir. Bluetooth ünsiyyətinə imkan verən Windows 10 64 bitli bir dizüstü kompüter qurmaq üçün aşağıdakı adımları yerinə yetirməliyik:

Windows 10:

  1. Daxil olan Bluetooth COM portu yaradın.
  2. Pi -nin Bluetooth -unu dizüstü kompüterin Bluetooth -u ilə birləşdirin ki, Pi aşkar olunsun.
  3. Windows -da Python quraşdırın.
  4. Windows -a pip quraşdırın. Pip, Linux və ya Windows maşınında kitabxana qurmaq üçün istifadə olunur.
  5. Windows -da pyautogui qurun: pip install pyautogui
  6. Pyautogui cihaza quraşdırıldıqdan sonra Windows terminalında aşağıdakı əmri istifadə edərək Windows-da Pybluez qurun: pip install PyBluez-win10. PyBluez, həm Windows, həm də Linux PC -lərdə Bluetooth əlaqəsini təmin edir.
  7. Windows 10 noutbukunda bir tətbiq hazırlamaq üçün Microsoft Visual Studio (15-20 GB boşluq lazımdır) və onun qurma alətlərini quraşdırmalıyıq. Buna görə PyBluez ilə birlikdə aşağıdakı təlimatları izləməliyik.

    1. "Visual Studio Installer" proqramını yükləyin və işə salın:
    2. "Visual Studio Build Tools 2017" qurun, "Visual C ++ qurma alətləri" və "Universal Windows Platforması qurma alətləri" ni yoxlayın.

    3. git klonu
    4. cd pybluez
    5. python setup.py qurun

  8. Yuxarıdakı təlimatlara düzgün əməl olunarsa, Windows terminalında Python işlədilməsi və pyautogui və Bluetooth modulunun idxalı yuxarıdakı şəklə uyğun olaraq səhvsiz işləməlidir.
  9. Windows maşınında quraşdırılmış pybluez kitabxanasında gedin: pybluez-master / sample / simple / rfcomm-server.py və python rfcomm-server.py istifadə edərək icra edin. Terminal səhvsiz gözləmə vəziyyətinə keçərsə, Pi -də Bluetooth qurmaq üçün aşağıdakı bölməyə keçin. Pybluez -in quraşdırılmasında səhvlər varsa, ayıklama üçün GitHub Məsələlərinə baxın.

Raspberry Pi üzərində Raspbian:

  1. PyBluez -i Pi -yə quraşdırın
  2. Windows -da server nümunəsini işə salın. Sonra Pi-də pybluez-master / sample / simple / rfcomm-client.py ünvanına gedin və icra edin. İki cihaz ünsiyyət qurmağa başlamışsa, indi Bluetooth hər iki cihazda qurulur. Python ilə soket ünsiyyətinin necə işlədiyini daha yaxşı başa düşmək üçün MIT -dən bu linkə baxın.

Məlumat baytlarla göndərildiyindən, baltadan məlumatları Pi -dən PC -yə göndərmək üçün bəzi əlavə məlumatların ayrılması tələb olunacaq. Müştəri və server məlumatları haqqında daha çox məlumat üçün əlavə edilmiş koda baxın.

Addım 5: Əlcəkdə Akselerometr və Düyməni Yerləşdirmək

Əlcəkdə akselerometr və düymə yerləşdirmək
Əlcəkdə akselerometr və düymə yerləşdirmək
Əlcəkdə akselerometr və düymə yerləşdirmək
Əlcəkdə akselerometr və düymə yerləşdirmək

Akselerometr yaxşı bir şəkildə bağlandıqdan sonra, skelet sistemi bu addımdakı ilk görüntüyə bənzəyir.

Əlcəyin səthi düz olmadığından, ara -sıra poçt qutuma gələn bir kukla kredit kartı istifadə etdim. Bu addımdakı ikinci görüntüyə görə, kukla kredit kartını əlcəyimin üst səthinə yapışan bantla bağladım. Kartın üstünə akselerometrimi bağladım. Bu qurğu, akselerometrimi sabit saxlamaq və jestlərimi dəqiq izləmək üçün kifayət qədər möhkəm idi.

Tövsiyə: