Mục lục:

Tự làm bàn phím macro Bluetooth: 10 bước (có hình ảnh)
Tự làm bàn phím macro Bluetooth: 10 bước (có hình ảnh)

Video: Tự làm bàn phím macro Bluetooth: 10 bước (có hình ảnh)

Video: Tự làm bàn phím macro Bluetooth: 10 bước (có hình ảnh)
Video: Chơi Roblox Mobile Bằng Bàn Phím Chuột 2024, Tháng bảy
Anonim
Bàn phím Macro Bluetooth tự làm
Bàn phím Macro Bluetooth tự làm

Trong phần Có thể hướng dẫn này, chúng ta sẽ xem xét cách sử dụng Bluetooth tích hợp của ESP32 để mô phỏng Bàn phím Bluetooth.

Bluetooth HID (Thiết bị giao diện người) là giao thức được sử dụng bởi chuột và bàn phím Bluetooth thông thường và có thể mô phỏng điều này chỉ với một ESP32, thật tuyệt vời!

Với một số bảng phát triển ESP32 có giá khởi điểm dưới $ 5 * được phân phối, đây là một cách thực sự rẻ và đơn giản để tạo bàn phím tùy chỉnh không dây như bàn phím Macro. Bàn phím macro có thể được sử dụng để điều khiển các ứng dụng khác nhau như Trình chỉnh sửa video hoặc Photoshop, cá nhân tôi sử dụng bàn phím của tôi để điều khiển các cảnh trong OBS khi tôi tạo video hoặc phát trực tuyến.

Trước tiên, chúng ta sẽ xem xét cách sử dụng thư viện bàn phím HID ESP32 và sau đó tôi sẽ chỉ cho bạn cách tôi sử dụng thư viện này để tạo Bàn phím Macro Bluetooth chạy bằng pin.

Quân nhu

  • Bảng mạch TinyPICO ESP32 Dev (Bất kỳ ESP32 nào cũng có thể hoạt động)
  • Bàn phím ma trận 4 * 4 *

Bạn cũng sẽ cần một pin lipo, tôi chỉ sử dụng một cái ngẫu nhiên mà tôi đã đặt xung quanh nên tôi không thể liên kết với nó!

Nếu PC của bạn không có Bluetooth, bạn có thể sử dụng một dongle như sau:

Amazon.co.uk *:

Amazon.com *:

Amazon.de *:

* = Chi nhánh

Bước 1: Xem Video

Image
Image

Tôi đã làm một video bao gồm những điều tương tự như có thể hướng dẫn này, vì vậy nếu bạn quan tâm, hãy xem nó! Tôi cũng thường xuyên làm video về các dự án ESP8266 và ESP32 nên có thể có những video khác trên kênh của tôi mà bạn có thể thấy thú vị!

Bước 2: [Tùy chọn] Bắt đầu với ESP32

ESP32 là bộ vi điều khiển tương thích với Arduino IDE và đi kèm với WiFi và Bluetooth. Chúng cũng khá rẻ nên chúng là những con chip rất hữu ích cho các dự án của bạn.

Bạn sẽ cần thêm định nghĩa bảng ESP32 vào IDE Arduino của mình, bạn có thể làm theo các bước được liệt kê trên Trang Github dự án Arduino của ESP32.

Bước 3: Cài đặt Thư viện Bàn phím Blending của ESP32

Cài đặt Thư viện Bàn phím Blending của ESP32
Cài đặt Thư viện Bàn phím Blending của ESP32
Cài đặt Thư viện Bàn phím Blending của ESP32
Cài đặt Thư viện Bàn phím Blending của ESP32

Có thể sử dụng Bluethooth HID trên ESP32 mà không cần thư viện bên ngoài, nhưng người dùng Github T-Vk đã viết một thư viện có tên là ESP32-BLE-Keyboard khiến nó giống thư viện bàn phím Arduino tiêu chuẩn giúp dễ sử dụng hơn nhiều.

Thư viện này không có sẵn trên trình quản lý thư viện, vì vậy bạn cần tải xuống từ Github.

  • Truy cập trang phát hành dự án và tải xuống ESP32-BLE-Keyboard.zip mới nhất
  • Sau khi tải xuống, bạn có thể thêm nó vào IDE Arduino của mình nhưng đi tới Sketch -> Bao gồm Thư viện rồi Thêm Zip vào thư viện và chọn ESP32-BLE-Keyboard.zip từ bước trước.

Bước 4: Nhìn vào ví dụ

Nhìn vào ví dụ
Nhìn vào ví dụ
Nhìn vào ví dụ
Nhìn vào ví dụ
Nhìn vào ví dụ
Nhìn vào ví dụ

Khi điều đó được thêm vào, chúng tôi có thể mở ra ví dụ đi kèm với nó. Đó là một ví dụ khá hay vì nó thể hiện một số điều khác nhau mà bạn có thể đạt được với thư viện nhưng tôi cũng sẽ bổ sung thêm một số chi tiết nhỏ mà tôi nghĩ nó sẽ hữu ích.

Bạn có thể truy cập ví dụ bằng cách đi tới Tệp -> Ví dụ -> Bàn phím ESP32 BLE -> SendKeyStrokes

Thiết lập kết nối Bluetooth

Trong quá trình thiết lập, nó bắt đầu kết nối Bluetooth, ở giai đoạn này, nó sẽ có sẵn để ghép nối trên thiết bị của bạn.

bleKeyboard.begin ();

Bên trong vòng lặp, nó cũng kiểm tra xem nó có được kết nối với thiết bị không

bleKeyboard.isConnected ()

Đánh máy

Điều đầu tiên mà ví dụ cho thấy là cách bạn có thể nhập văn bản sau khi được kết nối, trước tiên nó sẽ nhập “Hello world” bằng cách sử dụng

bleKeyboard.print ("Xin chào thế giới");

Nhấn một nút

Sau đó, nó hiển thị cách bạn có thể “viết” phím quay lại, về cơ bản đây là mô phỏng một lần nhấn phím duy nhất của nút này.

bleKeyboard.write (KEY_RETURN);

Bạn có thể mở tệp BleKeyboard.h của thư viện để xem tất cả các khóa được định nghĩa như thế này. Bạn cũng có thể gửi các ký tự ascii bằng cách đặt chúng trong dấu phẩy đơn.

bleKeyboard.write ('A');

Phím phương tiện

Nó cũng thể hiện cách bạn có thể gửi các phím media, điều này tương tự như cách bạn có thể điều khiển âm lượng hoặc bỏ qua các bản nhạc bằng tai nghe Bluetooth của mình. Ví dụ hiển thị phím phát / tạm dừng, nhưng một lần nữa bạn có thể mở BleKeyboard.h để xem các tùy chọn khác có sẵn.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Nhấn và thả các phím

Điều cuối cùng mà ví dụ cho chúng ta thấy là cách bạn có thể nhấn và giữ các phím, điều này rất hữu ích để tạo bàn phím Macro. Ví dụ được hiển thị ở đây dành cho Ctrl + Alt + Delete

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Sau đó, nó gọi là releaseAll, như bạn có thể đoán bằng tên sẽ giải phóng tất cả các phím được nhấn.

bleKeyboard.releaseAll ();

Bạn cũng có thể nhả các khóa cụ thể nếu muốn bằng cách sử dụng lệnh nhả với khóa bạn muốn nhả

bleKeyboard.release (KEY_DELETE);

Bước 5: Các mẹo khác cho Thư viện

Mẹo khác cho Thư viện
Mẹo khác cho Thư viện
Mẹo khác cho Thư viện
Mẹo khác cho Thư viện
Mẹo khác cho Thư viện
Mẹo khác cho Thư viện

Chúng ta đã đề cập đến chức năng chính của thư viện trong bước trước, nhưng đây là một số điều bổ sung mà tôi nghĩ có thể hữu ích khi biết

Sử dụng một trình kích hoạt bên ngoài

Tốt nhất bạn nên điều khiển một thiết bị HID như thế này bằng cách sử dụng một bộ kích hoạt bên ngoài, chẳng hạn như một lần nhấn nút. Nếu bạn sử dụng bộ hẹn giờ và xảy ra sự cố, bạn có thể khó ngắt kết nối. Hãy tưởng tượng bạn phải thử tắt Bluetooth nếu bạn vô tình lập trình nó để nhấn Ctrl + Alt + Del sau mỗi 100m!

Thay đổi tên thiết bị

Theo mặc định, tên thiết bị sẽ hiển thị là “Bàn phím ESP32 BLE”, điều này có thể được thay đổi khi bạn đang tạo một phiên bản của thư viện. Bạn có thể đặt tên thiết bị, nhà sản xuất và mức pin ban đầu.

BleKeyboard bleKeyboard ("Tên thiết bị Bluetooth", "Nhà sản xuất thiết bị Bluetooth", 100);

Đặt mức pin (ít nhất là không hoạt động với tôi)

Thư viện tuyên bố bạn cũng có thể đặt mức pin nhưng nó không hoạt động với tôi trên PC Windows của tôi (nó vẫn ở bất kỳ giá trị ban đầu nào) và điện thoại Android của tôi không hiển thị mức pin. Đây là lệnh cho nó trong trường hợp nó hoạt động cho bạn

bleKeyboard.setBatteryLevel (50)

Khả năng tương thích của thiết bị

Tôi đã chạy thành công ví dụ trên PC chạy Windows 10, điện thoại Android và máy Mac của mình (mặc dù bằng cách nào đó nó vẫn đang chạy Sierra!)

Nó cũng chỉ có thể được kết nối với một thiết bị tại một thời điểm.

Khắc phục sự cố ghép nối

Nếu bạn đang gặp một số vấn đề khi ghép nối, hãy thử khởi động lại ESP32 trong khi thiết bị của bạn đang tìm kiếm. Tôi cũng đã từng phải bật và tắt bluetooth trên PC của mình để nó ghép nối.

Bước 6: Bàn phím Macro

Bàn phím Macro
Bàn phím Macro
Bàn phím Macro
Bàn phím Macro
Bàn phím Macro
Bàn phím Macro
Bàn phím Macro
Bàn phím Macro

Bây giờ chúng ta đã có những kiến thức cơ bản, hãy làm một cái gì đó thiết thực từ nó!

Trong hướng dẫn trước đây, tôi đã chỉ ra cách tạo bàn phím Macro đơn giản nhất từ Arduino pro Micro và bàn phím giá rẻ. Đối với mỗi nút trên bàn phím, nó sẽ gửi một tổ hợp nút khác nhau có thể được sử dụng để điều khiển các ứng dụng, cá nhân tôi sử dụng nó cho OBS, phần mềm tôi sử dụng để quay video và khi tôi phát trực tuyến. Đây có vẻ như là một dự án tốt để chuyển qua ESP32 để chúng tôi có thể tạo một phiên bản không dây.

Đối với bản dựng này, tôi sẽ sử dụng bảng TinyPICO ESP32 của Nhà sản xuất bất ngờ. Lý do chính để chọn nó là một bo mạch rất tiết kiệm điện và có sẵn mạch để chạy và sạc pin Lipo, vì vậy tất cả những gì tôi cần làm là cắm pin vào.

Tôi sẽ nói dối nếu thực tế là nó có cùng khoảng cách hàng với Pro Micro và tôi có thể sử dụng bảng đột phá đã được tạo sẵn mà tôi đã làm trước đây cũng không hấp dẫn!

Bàn phím yêu cầu 8 chân GPIO để hoạt động và TinyPICO có 8 chân GPIO liên tiếp nên chúng tôi sẽ sử dụng chúng. Bạn có thể đơn giản kết nối bàn phím với TinyPICO như trong hình trên.

Bước 7: Mã cho bàn phím Macro

Mã cho bàn phím Macro
Mã cho bàn phím Macro
Mã cho bàn phím Macro
Mã cho bàn phím Macro

Có thể tìm thấy mã cho bản phác thảo Bàn phím Macro trên Github của tôi.

Cũng như thư viện BleKeyboard đã được cài đặt ở bước trước, bạn cũng sẽ cần cài đặt thư viện cho bàn phím, bạn có thể thực hiện việc này bằng cách mở trình quản lý thư viện bằng cách vào Sketch -> include Library -> Manage Libraries

Bên trong trình quản lý thư viện, tìm kiếm "bàn phím" và cài đặt bàn phím của Mark Stanley và Alexander Brevig

Một cấu hình bạn có thể cần thực hiện nếu bạn đang sử dụng ESP32 khác với TinyPICO là các chân bàn phím, chúng được đặt trong mảng rowPins và colPins. Khi nhìn vào mặt trước của bàn phím và bắt đầu từ bên trái, 4 chân đầu tiên là chân hàng và 4 chân thứ hai là chân col.

Sau khi hoàn tất, hãy tải mã lên bảng và bạn nên kiểm tra ở giai đoạn này, nó đang hoạt động.

Bước 8: Hãy biến nó thành không dây

Hãy biến nó thành không dây!
Hãy biến nó thành không dây!
Hãy biến nó thành không dây!
Hãy biến nó thành không dây!
Hãy biến nó thành không dây!
Hãy biến nó thành không dây!
Hãy biến nó thành không dây!
Hãy biến nó thành không dây!

Như đã đề cập trước đó, TinyPICO có mạch xử lý Lipo được tích hợp sẵn, vì vậy tất cả những gì chúng ta cần làm là kết nối nó. Nó đi kèm với các đầu nối JST có thể được hàn vào đáy hoặc bạn có thể sử dụng các chân Bat và GND nếu bạn muốn làm điều đó thông qua các chân.

Nếu bạn đang sử dụng các đầu nối JST, vui lòng kiểm tra kỹ lưỡng cực của pin của bạn có khớp với TinyPICO hay không, không có tiêu chuẩn nào về cách kết nối các đầu nối này nên rất có thể pin của bạn không khớp.

Hãy kiểm tra điện áp của pin lipo của bạn trước khi sử dụng, pin khỏe phải là 3V hoặc cao hơn, pin tôi tìm thấy với đầu nối JST chính xác đang đọc 0V!

Tôi đã kết thúc bằng cách sử dụng một ô 18650 trong một giá đỡ và hàn nó vào đầu nối JST của pin đã chết.

TinyPICO giảm mức tiêu thụ điện năng khi hết pin bằng cách không cấp nguồn cho bất kỳ đèn LED nào của nó, vì vậy, ngay cả khi nó không hoạt động, hãy hy vọng là như vậy! Một cải tiến trong tương lai của dự án có thể là làm xung đèn LED dotstar trên bo mạch khi khởi động chỉ để bạn biết rằng nó đã thực sự bật và có thể lại khi nó kết nối. Hiện tại, bạn có thể kiểm tra menu Bluetooth hệ thống của mình xem nó đã được bật và kết nối ok chưa.

Bước 9: Thử nghiệm

Đang thử nghiệm!
Đang thử nghiệm!

Hãy kiểm tra nó, nếu tôi mở phần phím nóng của OBS, tôi có thể nhấp vào các hành động khác nhau để ghi lại một tổ hợp nút sẽ điều khiển nó, vì điều này, chúng tôi chỉ cần nhấp vào nút trên bàn phím của chúng tôi và nó sẽ cập nhật.

Sau khi nhấp vào áp dụng, bạn sẽ không thể sử dụng bàn phím để điều khiển cảnh của mình trong OBS.

Bước 10: Cảm ơn bạn đã đọc

Hy vọng rằng bạn thấy Hướng dẫn này hữu ích. Tôi muốn nghe về những gì bạn sẽ thực hiện với kiểu thiết lập này. Vui lòng cho tôi biết trong phần nhận xét bên dưới hoặc tham gia cùng tôi và một loạt nhà sản xuất khác trên máy chủ Discord của tôi, nơi chúng ta có thể thảo luận về chủ đề này hoặc bất kỳ nhà sản xuất nào khác liên quan đến chủ đề mà bạn có, mọi người thực sự hữu ích ở đó vì vậy đó là một nơi tuyệt vời để kết nối ngoài

Tôi cũng muốn gửi lời cảm ơn to lớn đến các Nhà tài trợ Github của tôi, những người đã giúp hỗ trợ những gì tôi làm, tôi thực sự đánh giá cao điều đó. Nếu bạn chưa biết, Github đang đối sánh các khoản tài trợ cho năm đầu tiên, vì vậy nếu bạn thực hiện tài trợ, họ sẽ khớp 100% trong vài tháng tới.

Cảm ơn vì đã đọc!

Đề xuất: