Daftar Isi:

[Wearable Mouse] Pengontrol Mouse Wearable berbasis Bluetooth untuk Windows 10 dan Linux: 5 Langkah
[Wearable Mouse] Pengontrol Mouse Wearable berbasis Bluetooth untuk Windows 10 dan Linux: 5 Langkah

Video: [Wearable Mouse] Pengontrol Mouse Wearable berbasis Bluetooth untuk Windows 10 dan Linux: 5 Langkah

Video: [Wearable Mouse] Pengontrol Mouse Wearable berbasis Bluetooth untuk Windows 10 dan Linux: 5 Langkah
Video: Ноу-хау... Глава 136: Взлом автомобилей, VLAN NAT и AlienX 2024, Juli
Anonim
Image
Image
Menghubungkan Accelerometer Dengan Raspberry Pi
Menghubungkan Accelerometer Dengan Raspberry Pi

Saya membuat pengontrol mouse berbasis Bluetooth yang dapat digunakan untuk mengontrol penunjuk mouse dan melakukan operasi terkait mouse PC dengan cepat, tanpa menyentuh permukaan apa pun. Sirkuit elektronik, yang tertanam pada sarung tangan, dapat digunakan untuk melacak gerakan tangan melalui Accelerometer dan itu dapat diterjemahkan ke dalam gerakan penunjuk mouse. Perangkat ini juga dihubungkan dengan tombol yang mereplikasi klik tombol kiri. Perangkat dapat dipasang secara serial ke PC (melalui USB) atau secara nirkabel melalui koneksi Bluetooth. Bluetooth menyediakan komunikasi nirkabel yang kuat dan universal antara perangkat host dan mouse yang dapat dikenakan ini. Karena Bluetooth tersedia secara luas dan disematkan dengan hampir semua laptop pribadi, kasus penggunaan perangkat yang dapat dikenakan semacam itu sangat luas. Menggunakan Raspberry Pi, yang merupakan platform pengembangan yang umum digunakan untuk berbagai proyek, antarmuka berbagai sensor, dan pengembangan perangkat semacam itu mudah dan terukur. Sarung tangan dapat diganti dengan wearable lain untuk membuat aplikasinya lebih luas.

Sebagai tindakan pencegahan terhadap COVID-19, disarankan untuk menghindari menyentuh permukaan yang dapat digunakan bersama di antara orang yang berbeda, dan laptop layar sentuh atau mouse dapat menjadi salah satu permukaan umum tersebut. Menggunakan perangkat yang dapat dipakai seperti itu membantu menjaga kebersihan dan menjaga permukaan yang biasa digunakan tetap bersih:)

Perlengkapan

  • Raspberry Pi 3 Model B V1.2
  • Breakout Akselerometer Sumbu Tiga SparkFun - MMA8452Q
  • Kawat Jumper Pria ke Wanita
  • Sebuah sarung tangan
  • Lakban
  • Gunting
  • Kabel micro-USB
  • Kabel HDMI (untuk debugging melalui Raspberry Pi)

Langkah 1: Menghubungkan Accelerometer Dengan Raspberry Pi

Menghubungkan Accelerometer Dengan Raspberry Pi
Menghubungkan Accelerometer Dengan Raspberry Pi

Saya menggunakan akselerometer Triple-axis MMA8542Q dari Sparkfun yang menggunakan protokol komunikasi I2C untuk berbicara dengan pin GPIO Raspberry Pi dan mengirim data sumbu. Sensor ini menyediakan berbagai mode operasi dengan kecepatan data yang dapat dikonfigurasi, mode tidur, rentang akselerasi, mode filter, dll. Saya menemukan kode dari Pibits sangat membantu dalam konfigurasi awal sensor saya dan mengujinya dengan gerakan tangan saya. Lebih baik menempatkan sensor terlebih dahulu pada permukaan yang datar dan membuat kemiringan deterministik sambil mengamati nilai sensor mentah. Ini sangat berguna dalam memahami bagaimana sensor ini bereaksi dengan berbagai gerakan tangan dan bagaimana kita dapat mengatur ambang batas untuk aplikasi kita. Setelah akselerometer berhasil dihubungkan, Anda dapat melihat data sumbu mentah datang di layar terminal Pi.

Langkah 2: Menghubungkan Tombol Tekan Dengan Raspberry Pi

Menghubungkan Tombol Tekan Dengan Raspberry Pi
Menghubungkan Tombol Tekan Dengan Raspberry Pi

Di perangkat yang dapat dikenakan ini, saya menghubungkan tombol yang dapat berfungsi sebagai tombol kiri mouse sehingga saya dapat mengklik ikon di layar. Kedua ujung tombol kemudian dihubungkan ke 2 pin GPIO dari Pi. Salah satu pin mengeluarkan logika tinggi dan pin lainnya membaca nilai tersebut. Ketika tombol ditekan, sirkuit menjadi tertutup dan pin input dapat membaca nilai logika-tinggi, yang kemudian diproses oleh skrip yang saya tulis untuk meniru klik kiri-mouse. Karena kekurangan besi solder, saya menggunakan lakban untuk menghubungkan jumper dengan tombol.

Langkah 3: Mengembangkan Script Python untuk Mengontrol Mouse Pointer Secara Serial

Saya menggunakan pustaka Pyautogui Python untuk mengontrol penunjuk tetikus. Alasan menggunakan perpustakaan ini adalah karena perpustakaan ini berfungsi baik di Linux maupun di platform Windows. Untuk mengontrol penunjuk mouse pada Raspberry Pi saya, pertama-tama saya menghubungkan Pi saya ke layar. Kemudian, saya menggunakan API berikut yang disediakan oleh perpustakaan untuk mengontrol penunjuk mouse saya:

  1. pyautogui.move(0, 200, 2) # menggerakkan mouse ke bawah 200 piksel selama 2 detik
  2. pyautogui.click() # klik mouse

Untuk menyaring data kesalahan yang berasal dari Accelerometer, saya menggunakan rata-rata dan metode penyaringan lainnya yang dapat dengan mudah dipahami melalui kode terlampir. API pyautogui.move(0, y) digunakan sedemikian rupa sehingga penunjuk tetikus dapat naik-turun atau kiri-kanan sekaligus. Ini karena akselerometer melaporkan sumbu dalam arah X, Y, dan Z, tetapi API hanya membutuhkan 2 argumen, sumbu X dan Y. Oleh karena itu, pendekatan ini sangat cocok untuk akselerometer saya dan untuk memetakan gerakan di layar.

Langkah 4: Mengembangkan Script Python untuk Mengontrol Mouse Pointer Melalui Bluetooth

Mengembangkan Script Python untuk Mengontrol Mouse Pointer Melalui Bluetooth
Mengembangkan Script Python untuk Mengontrol Mouse Pointer Melalui Bluetooth

Bagian ini adalah aplikasi canggih di mana setiap laptop yang memiliki kemampuan Bluetooth dapat berkomunikasi dengan Raspberry Pi dalam model komunikasi server-klien dan mengirimkan data koordinat mouse secara nirkabel. Untuk mengatur laptop Windows 10 64-bit untuk memungkinkan Komunikasi Bluetooth, kita harus mengikuti langkah-langkah di bawah ini:

Windows 10:

  1. Buat port COM Bluetooth masuk.
  2. Pasangkan Bluetooth Pi dengan Bluetooth laptop dengan membuat Pi dapat ditemukan.
  3. Instal Python di Windows.
  4. Instal pip di Windows. Pip digunakan untuk menginstal perpustakaan pada mesin Linux atau Windows.
  5. Instal pyautogui di Windows menggunakan: pip install pyautogui
  6. Setelah pyautogui diinstal pada perangkat, instal Pybluez di Windows menggunakan perintah berikut di terminal Windows menggunakan: pip install PyBluez-win10. PyBluez mengaktifkan komunikasi Bluetooth pada PC Windows dan Linux.
  7. Untuk mengembangkan aplikasi pada laptop Windows 10, kita perlu menginstal Microsoft Visual Studio (diperlukan ruang 15-20 GB) dan alat pembuatannya. Oleh karena itu, bersama dengan PyBluez, kita perlu mengikuti instruksi di bawah ini,

    1. Unduh dan jalankan "Visual Studio Installer":
    2. Instal "Visual Studio Build Tools 2017", centang "Visual C++ build tools" dan "Universal Windows Platform build tools"

    3. git clone
    4. cd pybluez
    5. python setup.py instal

  8. Jika instruksi di atas diikuti dengan benar, menjalankan Python di terminal windows, dan mengimpor modul pyautogui dan Bluetooth akan berfungsi tanpa kesalahan, sesuai gambar di atas.
  9. Di pustaka pybluez yang diinstal pada mesin Windows, navigasikan ke: pybluez-master\examples\simple\rfcomm-server.py dan jalankan menggunakan python rfcomm-server.py. Jika terminal masuk ke status menunggu tanpa kesalahan, buka bagian di bawah ini untuk mengatur Bluetooth di Pi. Jika ada kesalahan dalam menginstal pybluez, lihat Masalah GitHub untuk debugging.

Raspbian di Raspberry Pi:

  1. Instal PyBluez di Pi
  2. Jalankan contoh server di Windows. Kemudian, pada Pi, navigasikan ke pybluez-master\examples\simple\rfcomm-client.py dan jalankan. Jika kedua perangkat sudah mulai berkomunikasi, Bluetooth sekarang telah diatur di kedua perangkat. Untuk memahami lebih lanjut tentang cara kerja komunikasi soket dengan Python, lihat tautan ini dari MIT.

Akan ada beberapa parsing data tambahan yang diperlukan untuk mengirim data sumbu dari Pi ke PC, karena data dikirim dalam byte. Lihat kode terlampir untuk info lebih lanjut tentang komunikasi data klien dan server.

Langkah 5: Menanamkan Akselerometer dan Tombol pada Sarung Tangan

Menanamkan Akselerometer dan Tombol pada Sarung Tangan
Menanamkan Akselerometer dan Tombol pada Sarung Tangan
Menanamkan Akselerometer dan Tombol pada Sarung Tangan
Menanamkan Akselerometer dan Tombol pada Sarung Tangan

Setelah akselerometer terhubung dengan baik, sistem kerangka terlihat seperti gambar pertama pada langkah ini.

Karena permukaan sarung tangan tidak rata, saya menggunakan kartu kredit palsu yang datang ke kotak surat saya sesekali. Sesuai gambar kedua pada langkah ini, saya menempelkan kartu kredit dummy di permukaan atas sarung tangan saya dengan lakban. Di atas kartu, saya memasang akselerometer saya. Pengaturan ini cukup kuat untuk menjaga akselerometer saya tetap stabil dan dapat melacak gerakan saya secara akurat.

Direkomendasikan: