Mục lục:

[Chuột có thể đeo] Bộ điều khiển chuột đeo được dựa trên Bluetooth cho Windows 10 và Linux: 5 bước
[Chuột có thể đeo] Bộ điều khiển chuột đeo được dựa trên Bluetooth cho Windows 10 và Linux: 5 bước

Video: [Chuột có thể đeo] Bộ điều khiển chuột đeo được dựa trên Bluetooth cho Windows 10 và Linux: 5 bước

Video: [Chuột có thể đeo] Bộ điều khiển chuột đeo được dựa trên Bluetooth cho Windows 10 và Linux: 5 bước
Video: Chơi Game free fire bằng máy tính fx 570 đk sao 🌟.?#shorts #tiktok #trieuview #vietnam #views 2024, Tháng bảy
Anonim
Image
Image
Gia tốc kế giao diện với Raspberry Pi
Gia tốc kế giao diện với Raspberry Pi

Tôi đã tạo một bộ điều khiển chuột dựa trên Bluetooth có thể được sử dụng để điều khiển con trỏ chuột và thực hiện các thao tác liên quan đến chuột PC một cách nhanh chóng mà không cần chạm vào bất kỳ bề mặt nào. Mạch điện tử, được nhúng trên găng tay, có thể được sử dụng để theo dõi cử chỉ tay thông qua Gia tốc kế và có thể được chuyển thành chuyển động của con trỏ chuột. Thiết bị này cũng được giao diện với một nút sao chép lần nhấp chuột trái. Thiết bị có thể được gắn nối tiếp với PC (qua USB) hoặc không dây thông qua kết nối Bluetooth. Bluetooth cung cấp giao tiếp không dây mạnh mẽ và phổ biến giữa thiết bị chủ và chuột có thể đeo được này. Vì Bluetooth phổ biến rộng rãi và được nhúng vào hầu hết các máy tính xách tay cá nhân, trường hợp sử dụng của một thiết bị đeo được như vậy rất rộng rãi. Sử dụng Raspberry Pi, một nền tảng phát triển thường được sử dụng cho các dự án khác nhau, giao diện của các cảm biến khác nhau và sự phát triển của một thiết bị như vậy rất dễ dàng và có thể mở rộng. Găng tay có thể được thay thế bằng bất kỳ thiết bị đeo nào khác để làm cho ứng dụng của nó rộng rãi hơn.

Để đề phòng COVID-19, bạn nên tránh chạm vào các bề mặt có thể dùng chung cho những người khác nhau và máy tính xách tay hoặc chuột màn hình cảm ứng có thể nằm trong số các bề mặt thông thường đó. Sử dụng một thiết bị đeo được như vậy giúp duy trì vệ sinh và giữ cho các bề mặt thường được sử dụng được khử trùng:)

Quân nhu

  • Raspberry Pi 3 Model B V1.2
  • Sự đột phá về gia tốc kế ba trục SparkFun - MMA8452Q
  • Dây nhảy nam sang nữ
  • Một chiếc găng tay
  • Duct Tape
  • Cây kéo
  • Cáp micro-USB
  • Cáp HDMI (để gỡ lỗi thông qua Raspberry Pi)

Bước 1: Gia tốc kế giao diện với Raspberry Pi

Gia tốc kế giao diện với Raspberry Pi
Gia tốc kế giao diện với Raspberry Pi

Tôi đã sử dụng máy đo gia tốc ba trục MMA8542Q từ Sparkfun sử dụng giao thức truyền thông I2C để nói chuyện với các chân GPIO của Raspberry Pi và gửi dữ liệu trục. Cảm biến này cung cấp các chế độ hoạt động khác nhau với tốc độ dữ liệu có thể định cấu hình, chế độ ngủ, phạm vi gia tốc, chế độ bộ lọc, v.v. Tôi thấy mã từ Pibits rất hữu ích trong cấu hình cảm biến ban đầu của tôi và kiểm tra nó bằng cử chỉ tay của tôi. Tốt hơn là trước tiên nên đặt cảm biến trên một bề mặt phẳng và thực hiện các góc nghiêng xác định trong khi quan sát các giá trị cảm biến thô. Điều này đặc biệt hữu ích trong việc hiểu cách cảm biến này phản ứng với các cử chỉ tay khác nhau và cách chúng tôi có thể thiết lập các ngưỡng cho ứng dụng của mình. Khi gia tốc kế được giao tiếp thành công, bạn có thể thấy dữ liệu trục thô xuất hiện trên màn hình đầu cuối của Pi.

Bước 2: Giao diện nút nhấn với Raspberry Pi

Nút nhấn giao diện với Raspberry Pi
Nút nhấn giao diện với Raspberry Pi

Trong thiết bị đeo được này, tôi đã giao diện một nút có thể hoạt động như một nút chuột trái để tôi có thể nhấp vào các biểu tượng trên màn hình. Sau đó 2 đầu của nút được kết nối với 2 chân GPIO của Pi. Một trong các chân xuất ra mức cao logic và chân còn lại đọc giá trị đó. Khi nhấn nút, mạch sẽ đóng và chân đầu vào có thể đọc giá trị logic-cao, giá trị này sau đó được xử lý bởi tập lệnh tôi đã viết để mô phỏng thao tác nhấp chuột trái. Vì thiếu mỏ hàn, tôi đã sử dụng băng keo để nối các jumper với nút.

Bước 3: Phát triển tập lệnh Python để kiểm soát tuần tự con trỏ chuột

Tôi đã sử dụng thư viện Pyautogui Python để điều khiển con trỏ chuột. Lý do để sử dụng thư viện này là nó hoạt động trên cả Linux cũng như nền tảng Windows. Để điều khiển con trỏ chuột trên Raspberry Pi, trước tiên, tôi kết nối Pi của mình với màn hình. Sau đó, tôi đã sử dụng các API sau do thư viện cung cấp để điều khiển con trỏ chuột của mình:

  1. pyautogui.move (0, 200, 2) # di chuyển chuột xuống 200 pixel trong 2 giây
  2. pyautogui.click () # click chuột

Để lọc ra dữ liệu lỗi đến từ Gia tốc kế, tôi đã sử dụng phương pháp tính trung bình và các phương pháp lọc khác có thể dễ hiểu thông qua mã đính kèm. API pyautogui.move (0, y) được sử dụng theo cách mà con trỏ chuột có thể đi lên xuống hoặc từ trái sang phải tại một thời điểm. Điều này là do gia tốc kế báo cáo các trục theo hướng X, Y và Z, nhưng API chỉ nhận 2 đối số, trục X và Y. Do đó, cách tiếp cận này rất phù hợp với gia tốc kế của tôi và để lập bản đồ các cử chỉ trên màn hình.

Bước 4: Phát triển tập lệnh Python để điều khiển con trỏ chuột qua Bluetooth

Phát triển tập lệnh Python để điều khiển con trỏ chuột qua Bluetooth
Phát triển tập lệnh Python để điều khiển con trỏ chuột qua Bluetooth

Phần này là một ứng dụng nâng cao, trong đó bất kỳ máy tính xách tay nào có khả năng Bluetooth đều có thể giao tiếp với Raspberry Pi trong mô hình giao tiếp máy chủ-máy khách và truyền dữ liệu tọa độ chuột không dây. Để thiết lập máy tính xách tay Windows 10 64-bit cho phép Giao tiếp Bluetooth, chúng ta cần làm theo các bước dưới đây:

Windows 10:

  1. Tạo cổng COM Bluetooth đến.
  2. Ghép nối Bluetooth của Pi với Bluetooth của máy tính xách tay bằng cách đặt Pi ở chế độ có thể phát hiện.
  3. Cài đặt Python trên Windows.
  4. Cài đặt pip trên Windows. Pip được sử dụng để cài đặt thư viện trên máy Linux hoặc Windows.
  5. Cài đặt pyautogui trên Windows bằng cách sử dụng: pip install pyautogui
  6. Sau khi pyautogui được cài đặt trên thiết bị, hãy cài đặt Pybluez trên Windows bằng lệnh sau trên thiết bị đầu cuối của Windows bằng cách sử dụng: pip install PyBluez-win10. PyBluez cho phép giao tiếp Bluetooth trên cả PC chạy Windows và Linux.
  7. Để phát triển ứng dụng trên máy tính xách tay Windows 10, chúng ta cần cài đặt Microsoft Visual Studio (cần 15-20 GB dung lượng) và các công cụ xây dựng của nó. Do đó, cùng với PyBluez, chúng ta cần làm theo các hướng dẫn dưới đây,

    1. Tải xuống và chạy "Trình cài đặt Visual Studio":
    2. Cài đặt "Visual Studio Build Tools 2017", kiểm tra "Visual C ++ build tools" và "Universal Windows Platform build tools"

    3. git clone
    4. cd pybluez
    5. python setup.py cài đặt

  8. Nếu các hướng dẫn trên được làm theo đúng cách, việc chạy Python trên thiết bị đầu cuối windows và nhập pyautogui và mô-đun Bluetooth sẽ hoạt động mà không có lỗi, như theo hình ảnh ở trên.
  9. Trong thư viện pybluez được cài đặt trên máy Windows, hãy điều hướng đến: pybluez-master \amples / simple / rfcomm-server.py và thực thi bằng python rfcomm-server.py. Nếu thiết bị đầu cuối chuyển sang trạng thái chờ mà không có lỗi, hãy chuyển đến phần bên dưới để thiết lập Bluetooth trên Pi. Nếu có lỗi khi cài đặt pybluez, hãy tham khảo Sự cố GitHub để gỡ lỗi.

Raspbian trên Raspberry Pi:

  1. Cài đặt PyBluez trên Pi
  2. Chạy ví dụ máy chủ trên Windows. Sau đó, trên Pi, điều hướng đến pybluez-master \amples / simple / rfcomm-client.py và thực thi. Nếu hai thiết bị đã bắt đầu giao tiếp, Bluetooth hiện đã được thiết lập trên cả hai thiết bị. Để hiểu thêm về cách giao tiếp socket hoạt động với Python, hãy tham khảo liên kết này từ MIT.

Sẽ có một số phân tích dữ liệu bổ sung được yêu cầu để gửi dữ liệu trục từ Pi đến PC, vì dữ liệu được gửi theo byte. Tham khảo mã đính kèm để biết thêm thông tin về giao tiếp dữ liệu máy khách và máy chủ.

Bước 5: Nhúng Gia tốc kế và Nút trên Găng tay

Nhúng gia tốc kế và nút trên găng tay
Nhúng gia tốc kế và nút trên găng tay
Nhúng gia tốc kế và nút trên găng tay
Nhúng gia tốc kế và nút trên găng tay

Một khi gia tốc kế được giao tiếp tốt, hệ thống khung xương trông giống như hình ảnh đầu tiên trong bước này.

Vì bề mặt của chiếc găng tay không bằng phẳng nên thỉnh thoảng tôi sử dụng một thẻ tín dụng giả để vào hộp thư của mình. Như hình ảnh thứ hai ở bước này, tôi gắn thẻ tín dụng giả lên bề mặt trên của găng tay bằng băng keo. Trên thẻ, tôi gắn gia tốc kế của mình. Thiết lập này đủ mạnh để giữ cho gia tốc kế của tôi ổn định và có thể theo dõi chính xác các cử chỉ của tôi.

Đề xuất: