
Съдържание:
- Консумативи
- Стъпка 1: Вижте видеото
- Стъпка 2: [По избор] Първи стъпки с ESP32
- Стъпка 3: Инсталиране на ESP32 Ble Keyboard Library
- Стъпка 4: Разглеждане на примера
- Стъпка 5: Други съвети за библиотеката
- Стъпка 6: Макро клавиатурата
- Стъпка 7: Код за макро клавиатурата
- Стъпка 8: Нека го направим безжичен
- Стъпка 9: Изпробвайте го
- Стъпка 10: Благодаря за четенето
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:58

В тази инструкция ще разгледаме използването на вградения Bluetooth на ESP32 за емулиране на Bluetooth клавиатура.
Bluetooth HID (Human Interface Device) е протоколът, използван от обикновената Bluetooth клавиатура и мишки и е възможно да се подражава на това само с ESP32, което е страхотно!
С някои доставени платки за разработка на ESP32, започващи от по -малко от $ 5*, това е наистина евтин и лесен начин за създаване на безжични персонализирани клавиатури, като например клавиатури за макроси. Макро клавиатурите могат да се използват за управление на различни приложения като видео редактори или Photoshop, лично аз използвам моята за контролиране на сцени в OBS, когато правя видео или стрийминг.
Първо ще разгледаме как да използваме библиотеката на клавиатурата ESP32 HID и след това ще ви покажа как използвах това за изграждане на базова батерия с макро клавиатура.
Консумативи
- TinyPICO ESP32 Dev платка (всеки ESP32 може да работи)
- 4*4 матрична клавиатура*
Ще ви трябва и липо батерия, току -що използвах произволна, която бях сложил наоколо, така че не мога да се свържа с нея!
Ако вашият компютър няма Bluetooth, можете да използвате ключ като този:
Amazon.co.uk*:
Amazon.com*:
Amazon.de*:
* = Партньор
Стъпка 1: Вижте видеото


Направих видеоклип, който обхваща същото като този Instructable, така че ако се интересувате, моля, проверете го! Редовно правя и видеоклипове около проекти ESP8266 и ESP32, така че може би има и други видеоклипове в канала ми, които може да ви се сторят интересни!
Стъпка 2: [По избор] Първи стъпки с ESP32
ESP32 са микроконтролери, които са съвместими с Arduino IDE и се предлагат с включени WiFi и Bluetooth. Те също са доста евтини, така че са много полезни чипове за вашите проекти.
Ще трябва да добавите дефиницията на платката ESP32 към вашата Arduino IDE, към това можете да следвате стъпките, изброени на страницата Github на проектите ESP32 Arduino
Стъпка 3: Инсталиране на ESP32 Ble Keyboard Library


Възможно е да използвате Bluethooth HID на ESP32 без външна библиотека, но потребителят на Github T-Vk е написал библиотека, наречена ESP32-BLE-Keyboard, която я прави по-скоро като стандартната библиотека на клавиатурата Arduino, което я прави много по-лесна за използване.
Тази библиотека не е налична в мениджъра на библиотеката, така че ще трябва да я изтеглите от Github.
- Отворете страницата за издания на проекти и изтеглете най-новата ESP32-BLE-Keyboard.zip
- След като го изтеглите, можете да го добавите към вашата Arduino IDE, но отидете на Sketch-> Include Library и след това Add Zip to library и изберете ESP32-BLE-Keyboard.zip от предишната стъпка.
Стъпка 4: Разглеждане на примера



След като това бъде добавено, можем да отворим примера, който идва с него. Това е доста хубав пример, тъй като демонстрира няколко различни неща, които можете да постигнете с библиотеката, но също така ще добавя малко по -подробно, където смятам, че би било полезно.
Можете да получите достъп до примера, като отидете на File -> Examples -> ESP32 BLE Keyboard -> SendKeyStrokes
Настройка на Bluetooth връзка
При настройката той започва Bluetooth връзката, на този етап тя трябва да е налична за сдвояване с вашето устройство.
bleKeyboard.begin ();
Вътре в контура той също така проверява дали е свързан с устройство
bleKeyboard.isConnected ()
Въвеждане на текст
Първото нещо, което примерът показва, е как можете да въведете текст, след като той е свързан, той първо ще напише „Hello world“с помощта
bleKeyboard.print ("Здравей свят");
Натискане на един бутон
След това показва как можете да "напишете" клавиша за връщане, това по същество е емулация на едно натискане на клавиш на този бутон.
bleKeyboard.write (KEY_RETURN);
Можете да отворите файла BleKeyboard.h на библиотеката, за да видите всички ключове, които са дефинирани по този начин. Можете също да изпращате символи ascii, като ги поставяте в единични запетаи.
bleKeyboard.write ('A');
Мултимедийни ключове
Той също така демонстрира как можете да изпращате медийни ключове, това е подобно на това как можете да контролирате силата на звука или да пропускате песни с вашите Bluetooth слушалки. Примерът показва клавиша за възпроизвеждане/пауза, но отново можете да отворите BleKeyboard.h, за да видите другите налични опции.
bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);
Натискане и отпускане на клавишите
Последното нещо, което примерът ни показва, е как можете да натиснете и задържите клавишите, това е полезно за създаване на макро клавиатури. Примерът, показан тук, е за Ctrl + Alt + Delete
bleKeyboard.press (KEY_LEFT_CTRL);
bleKeyboard.press (KEY_LEFT_ALT);
bleKeyboard.press (KEY_DELETE);
След това извиква releaseAll, който, както вероятно се досещате по името, освобождава всички натиснати клавиши.
bleKeyboard.releaseAll ();
Можете също да освободите конкретни ключове, ако искате, като използвате командата за освобождаване с ключа, който искате да освободите
bleKeyboard.release (KEY_DELETE);
Стъпка 5: Други съвети за библиотеката



Покрихме основната функционалност на библиотеката в предишната стъпка, но ето някои допълнителни неща, които смятам, че може да е полезно да знаете
Използвайте външен тригер
Винаги е най -добре да управлявате HID устройство като това с помощта на външен спусък, като например натискане на бутон. Ако използвате таймер и нещо се обърка, прекъсването на връзката може да стане неудобно. Представете си, че трябва да опитате да изключите вашия Bluetooth, ако случайно сте го програмирали да натиска Ctrl+Alt+Del на всеки 100 mS!
Промяна на името на устройството
По подразбиране името на устройството ще се показва като „ESP32 BLE Keyboard“, това може да се промени, когато създавате екземпляр на библиотеката. Можете да зададете името на устройството, производителя и първоначалното ниво на батерията.
BleKeyboard bleKeyboard ("Име на Bluetooth устройство", "Производител на Bluetooth устройства", 100);
Настройка на нивото на батерията (поне не работи при мен)
Библиотеката твърди, че можете също да зададете нивото на батерията, но не работи при мен на моя компютър с Windows (остава с каквато и да е първоначална стойност) и телефонът ми с Android не показва нивото на всичко това. Ето командата за него, в случай че работи за вас
bleKeyboard.setBatteryLevel (50)
Съвместимост на устройството
Изпълних успешно примера на моя компютър с Windows 10, телефон с Android и моя Mac (въпреки че все още работи по някакъв начин Sierra!)
Също така може да се свързва само с едно устройство наведнъж.
Отстраняване на проблеми при сдвояване
Ако имате проблеми при сдвояването, опитайте да рестартирате ESP32, докато устройството ви търси. Също така веднъж трябваше да включвам и изключвам Bluetooth на компютъра си, за да го сдвоя.
Стъпка 6: Макро клавиатурата




Сега, когато имаме основите на пътя, нека направим нещо практично от това!
В предишно ръководство показах как да направите най -простата макро клавиатура от Arduino pro Micro и евтина клавиатура. За всеки бутон на клавиатурата той изпраща различна комбинация от бутони, която може да се използва за управление на приложения, лично аз го използвам за OBS, софтуера, който използвам за запис на видеоклипове и за когато стриймвам. Това изглежда като добър проект за пренасяне през ESP32, така че можем да направим безжична версия.
За тази компилация ще използвам дъската TinyPICO ESP32 на Unexpected Maker. Основната причина за избора му е много енергийно ефективна платка и има вградена схема за изтичане и зареждане на Lipo батерия, така че всичко, което трябва да направя, е да включа батерия.
Ще излъжа, ако фактът, че има същото междуредово разстояние като Pro Micro и можех да използвам вече направената пробивна дъска, която направих преди, също не беше привлекателен!
Клавиатурата изисква 8 GPIO пина за работа, а TinyPICO има 8 GPIO пина подред, така че ще ги използваме. Можете просто да свържете клавиатурата към TinyPICO, както е показано на горното изображение.
Стъпка 7: Код за макро клавиатурата


Кодът за скицата на макро клавиатурата може да се намери на моя Github.
Освен библиотеката BleKeyboard, която е била инсталирана в предишна стъпка, ще трябва да инсталирате и библиотеката за клавиатурата, можете да направите това, като отворите мениджъра на библиотеката, като отидете на Sketch -> Include Library -> Manage Libraries
В мениджъра на библиотеката потърсете „клавиатура“и инсталирайте тази от Марк Стенли и Александър Бревиг
Може да се наложи да направите една конфигурация, ако използвате различен ESP32, отколкото TinyPICO са щифтовете на клавиатурата, те са зададени в масива rowPins и colPins. Когато гледате отпред на клавиатурата и започнете отляво, първите 4 пина са щифтовете на реда, а вторите 4 са щифтовете за колони.
След като това стане, качете кода на дъската и трябва да тествате на този етап дали работи.
Стъпка 8: Нека го направим безжичен




Както бе споменато по -рано, TinyPICO има вградени схеми за работа с Lipo, така че всичко, което трябва да направим, е да го свържем. Той идва с JST конектори, които могат да бъдат запоени до дъното, или можете да използвате щифтовете Bat и GND, ако искате да го направите чрез щифтовете.
Ако използвате JST конекторите, моля, проверете отново полярността на батерията си в съответствие с TinyPICO, няма стандарт за това как те трябва да бъдат свързани, така че има голяма вероятност батерията ви да не съвпада.
Проверете напрежението на вашата lipo батерия, преди да я използвате, здравословното тесто трябва да е 3V или по -високо, батерията, която открих с правилния JST конектор, четеше 0V!
В крайна сметка използвах 18650 клетка в държач и я запоявах към JST конектора на изтощената батерия.
TinyPICO намалява консумацията си на енергия при изтощаване на батерията, като не захранва нито един от светодиодите, така че дори и да не свети, дано е така! Бъдещо подобрение на проекта може да бъде пулсирането на вградения светодиод dotstar при стартиране, само за да ви уведоми, че действително е включен и може би отново, когато се свърже. Засега можете да проверите в менюто на вашите системи Bluetooth дали е включено и свързано добре.
Стъпка 9: Изпробвайте го

Нека го изпробваме, ако отворя клавишните клавиши на OBS, мога да кликна върху различни действия, за да запиша комбинация от бутони, която ще го контролира, за това можем просто да кликнете върху бутона на нашата клавиатура и той ще се актуализира.
След като щракнете върху приложи, не би трябвало да можете да използвате клавиатурата си, за да контролирате сцената си в OBS.
Стъпка 10: Благодаря за четенето
Надяваме се, че сте намерили тази инструкция за полезна. Бих искал да чуя какво бихте направили с този тип настройка. Моля, уведомете ме в коментарите по -долу или се присъединете към мен и куп други производители на моя сървър Discord, където можем да обсъдим тази тема или всяка друга, свързана с производителя, която имате, хората са наистина полезни там, така че това е чудесно място за окачване навън
Бих искал също да изразя огромна благодарност към моите спонсори от Github, които помагат да подкрепят това, което правя, наистина го оценявам. Ако не знаете, Github съвпадат със спонсорството за първата година, така че ако направите спонсорство, те ще го сравнят на 100% през следващите няколко месеца.
Благодаря за четенето!
Препоръчано:
EngineersBuddy безжична клавиатура, мишка и макро рекордер .: 4 стъпки

EngineersBuddy безжична клавиатура, мишка и макро рекордер: Тази инструкция обяснява как да използвате приятелите на инженерите, клавиатурата, мишката и макро рекордера. Това приложение за Android работи съвместно с хардуерен модул за емулатор на клавиатура и мишка на Enginners Buddy. Модулът ще работи с всеки HID комп
Макро обектив „Направи си сам“с AF (различен от всички други макро обективи „Направи си сам“): 4 стъпки (със снимки)

Макро обектив „Направи си сам“с АФ (различен от всички други макро обективи „Направи си сам“): Виждал съм много хора, които правят макро обективи със стандартен комплект обектив (Обикновено 18-55 мм). Повечето от тях са обектив, просто залепен върху камерата назад или отстранен преден елемент. И за двете опции има недостатъци. За монтиране на обектива
Направи си сам макро клавиатура: 5 стъпки

DIY макро клавиатура: С все повече хора, които извършват доста интензивна работа на компютрите си и навлизат в стрийминг. Може би сте искали да подобрите работния си процес на компютъра си, ако е така, може би сте се замислили да получите някаква вторична клавиатура, може би Streamd
3D печатна макро клавиатура Arduino: 6 стъпки (със снимки)

3D печатна макро клавиатура Arduino: Това беше първият ми проект, работещ с Arduino Pro Micro. Можете да го използвате в разговори за Zoom или Discord, за да правите неща като превключване на заглушаване, превключване на видеоклипа или споделяне на екрана. На всичкото отгоре можете да го програмирате за отваряне на често използвани програми на вашия
Най -простата макро клавиатура „направи си сам“: 10 стъпки (със снимки)

Най -простата DIY макро клавиатура: Макро клавиатурата може да се използва за извършване на определени действия или функции на вашия компютър и може да бъде наистина полезна с определени приложения, като видео редактори или игри. Много приложения имат бързи клавиши за бързо извършване на действия, но понякога