INHOUDSOPGAWE:
- Voorrade
- Stap 1: Kyk na die video
- Stap 2: [Opsioneel] Aan die gang met 'n ESP32
- Stap 3: Installeer die ESP32 Ble -sleutelbordbiblioteek
- Stap 4: Kyk na die voorbeeld
- Stap 5: Ander wenke vir die biblioteek
- Stap 6: Die makro -sleutelbord
- Stap 7: Kode vir die makro -sleutelbord
- Stap 8: Kom ons maak dit draadloos
- Stap 9: toets dit
- Stap 10: Dankie dat u gelees het
Video: DIY Bluetooth -makroklavier: 10 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
In hierdie Instructable gaan ons kyk na die gebruik van die ingeboude Bluetooth van die ESP32 om 'n Bluetooth-sleutelbord na te boots.
Bluetooth HID (Human Interface Device) is die protokol wat deur 'n gewone Bluetooth -sleutelbord en muise gebruik word, en dit is moontlik om dit met slegs 'n ESP32 na te boots, wat wonderlik is!
Met sommige ESP32 -ontwikkelingsborde vanaf minder as $ 5*, is dit 'n baie goedkoop en eenvoudige manier om draadlose pasgemaakte sleutelborde soos 'n makro -toetsbord te skep. Makro -klavier kan gebruik word vir die bestuur van verskillende toepassings, soos video -redakteurs of Photoshop, persoonlik gebruik ek myne om tonele in OBS te beheer wanneer ek video's maak of stroom.
Ons kyk eers na die gebruik van die ESP32 HID -sleutelbordbiblioteek, en dan sal ek u wys hoe ek dit gebruik het om 'n battery -aangedrewe Bluetooth -makroklavier te bou.
Voorrade
- TinyPICO ESP32 Dev -bord (enige ESP32 kan werk)
- 4*4 Matriks Toetsenbord*
U benodig ook 'n lipo -battery; ek het net 'n ewekansige een gebruik wat ek laat lê het, sodat ek nie kan skakel nie!
As u rekenaar nie Bluetooth het nie, kan u 'n dongle soos hierdie gebruik:
Amazon.co.uk*:
Amazon.com*:
Amazon.de*:
* = Geaffilieer
Stap 1: Kyk na die video
Ek het 'n video gemaak wat dieselfde ding as hierdie Instructable dek, so kyk gerus as jy belangstel! Ek maak ook gereeld video's oor ESP8266- en ESP32 -projekte, so miskien is daar ander video's op my kanaal wat u dalk interessant vind!
Stap 2: [Opsioneel] Aan die gang met 'n ESP32
ESP32's is mikrobeheerders wat versoenbaar is met die Arduino IDE, en WiFi en Bluetooth is ingesluit. Hulle is ook redelik goedkoop, en dit is baie bruikbare skyfies vir u projekte.
U moet die ESP32 -borddefinisie by u Arduino IDE voeg, hierby kan u die stappe volg op die ESP32 Arduino -projekte Github -bladsy
Stap 3: Installeer die ESP32 Ble -sleutelbordbiblioteek
Dit is moontlik om Bluethooth HID op die ESP32 te gebruik sonder 'n eksterne biblioteek, maar Github-gebruiker T-Vk het 'n biblioteek genaamd ESP32-BLE-sleutelbord geskryf wat dit meer soos die standaard Arduino-sleutelbordbiblioteek maak, wat dit baie makliker maak om te gebruik.
Hierdie biblioteek is nie beskikbaar by die biblioteekbestuurder nie, dus moet u dit van Github aflaai.
- Gaan na die vrystellingsbladsy vir projekte en laai die nuutste ESP32-BLE-Keyboard.zip af
- Sodra dit afgelaai is, kan u dit by u Arduino IDE voeg, maar gaan na Sketch-> Include Library en voeg dan Zip by biblioteek en kies die ESP32-BLE-Keyboard.zip uit die vorige stap.
Stap 4: Kyk na die voorbeeld
Sodra dit bygevoeg is, kan ons die voorbeeld wat daarmee gepaard gaan oopmaak. Dit is 'n baie goeie voorbeeld, aangesien dit 'n paar verskillende dinge demonstreer wat u met die biblioteek kan bereik, maar ek sal ook 'n bietjie meer detail byvoeg waar ek dink dit nuttig sou wees.
U het toegang tot die voorbeeld deur na Lêer -> Voorbeelde -> ESP32 BLE -sleutelbord -> SendKeyStrokes te gaan
Stel 'n Bluetooth -verbinding op
In die opstelling begin dit met die Bluetooth -verbinding; dit moet op hierdie stadium beskikbaar wees om aan te koppel op u toestel.
bleKeyboard.begin ();
Binne die lus kyk dit ook of dit aan 'n toestel gekoppel is
bleKeyboard.isConnected ()
Tik
Die eerste ding wat die voorbeeld toon, is hoe u teks kan intik sodra dit gekoppel is, en dit sal eers 'Hallo wêreld' tik met
bleKeyboard.print ("Hallo wêreld");
Enkele knoppie druk
Dit wys dan hoe u die retoer -sleutel kan "skryf"; dit is basies 'n enkele druk op hierdie knoppie.
bleKeyboard.write (KEY_RETURN);
U kan die BleKeyboard.h -lêer van die biblioteek oopmaak om al die sleutels wat so gedefinieer is, te sien. U kan ook ascii -karakters stuur deur dit in enkele kommas te plaas.
bleKeyboard.write ('A');
Media sleutels
Dit demonstreer ook hoe u mediasleutels kan stuur; dit is soortgelyk aan hoe u die volume kan beheer of snitte met u Bluetooth -koptelefoon kan oorslaan. Die voorbeeld toon die speel/pouse -sleutel, maar weer kan u BleKeyboard.h oopmaak om die ander beskikbare opsies te sien.
bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);
Druk en los sleutels
Die laaste ding wat die voorbeeld vir ons wys, is hoe u sleutels kan hou en hou; dit is handig om makro -sleutelborde te skep. Die voorbeeld hier is Ctrl + Alt + Delete
bleKeyboard.press (KEY_LEFT_CTRL);
bleKeyboard.press (KEY_LEFT_ALT);
bleKeyboard.press (KEY_DELETE);
Dit noem dan releaseAll, wat, soos u waarskynlik by die naam kan raai, al die ingedrukte sleutels vrystel.
bleKeyboard.releaseAll ();
U kan ook spesifieke sleutels vrystel as u wil, deur die vrystellingskommando te gebruik met die sleutel wat u wil vrystel
bleKeyboard.release (KEY_DELETE);
Stap 5: Ander wenke vir die biblioteek
Ons het in die vorige stap die belangrikste funksies van die biblioteek behandel, maar hier is 'n paar ekstra dinge wat ek dink nuttig kan wees om te weet
Gebruik 'n eksterne sneller
Dit is altyd die beste om 'n HID -toestel soos hierdie te beheer met 'n eksterne sneller, soos 'n knoppie druk. As u 'n timer gebruik en iets verkeerd loop, kan dit ongemaklik wees om te ontkoppel. Stel jou voor dat jy jou Bluetooth moet probeer afskakel as jy dit per ongeluk geprogrammeer het om elke 100 ms te druk Ctrl+Alt+Del!
Verander die toestelnaam
Die toestel se naam verskyn standaard as 'ESP32 BLE Keyboard', dit kan verander word as u 'n instansie van die biblioteek skep. U kan die toestelnaam, vervaardiger en die aanvanklike batteryniveau stel.
BleKeyboard bleKeyboard ("Bluetooth -toestelnaam", "Bluetooth -toestelvervaardiger", 100);
Stel die batteryniveau in (werk nie ten minste vir my nie)
Die biblioteek beweer dat u ook die batteryniveau kan instel, maar dit werk nie vir my op my Windows -rekenaar nie (dit het gebly, ongeag die aanvanklike waarde), en my Android -telefoon het nie die vlak daarvan getoon nie. Hier is die opdrag daarvoor as dit vir u werk
bleKeyboard.setBatteryLevel (50)
Toestelversoenbaarheid
Ek het die voorbeeld suksesvol uitgevoer op my Windows 10 -rekenaar, Android -selfoon en my Mac (alhoewel dit steeds op een of ander manier Sierra werk!)
Dit kan ook slegs aan een toestel op 'n slag gekoppel word.
Probleemoplossing Paring
As u probleme ondervind om te koppel, kan u die ESP32 herlaai terwyl u toestel soek. Ek moes ook een keer my bluetooth op my rekenaar aan- en uitskakel om dit te laat koppel.
Stap 6: Die makro -sleutelbord
Noudat ons die basiese beginsels uit die weg geruim het, laat ons iets prakties daarvan maak!
In 'n vorige gids het ek gewys hoe u die eenvoudigste makro -klavier uit 'n Arduino pro Micro en 'n goedkoop toetsbord kan maak. Vir elke knoppie op die bedieningspaneel stuur dit 'n ander kombinasie van knoppies wat gebruik kan word om toepassings te beheer; persoonlik gebruik ek dit vir OBS, die sagteware wat ek gebruik om video's op te neem en vir die stroom. Dit lyk na 'n goeie projek om die ESP32 oor te dra, sodat ons 'n draadlose weergawe kan maak.
Vir hierdie opbou gaan ek die TinyPICO ESP32 -bord van Unexpected Maker gebruik. Die belangrikste rede waarom u dit moet kies, is 'n baie doeltreffende bord en 'n ingeboude stroombaan om 'n ingeboude Lipo -battery af te laai, en ek hoef net 'n battery aan te sluit.
Ek sou jok as die feit dat dit dieselfde ryafstand as die Pro Micro het, en ek kan gebruik maak van die reeds gemaakte uitbreekbord wat ek voorheen gemaak het, nie ook aantreklik was nie!
Die bedieningspaneel benodig 8 GPIO -penne om te werk, en die TinyPICO het 8 GPIO -penne in 'n ry, sodat ons dit sal gebruik. U kan die bedieningspaneel eenvoudig aan die TinyPICO koppel, soos in die prent hierbo getoon.
Stap 7: Kode vir die makro -sleutelbord
Die kode vir die Macro -sleutelbordskets kan op my Github gevind word.
Benewens die BleKeyboard -biblioteek wat in 'n vorige stap geïnstalleer is, moet u ook die biblioteek vir die bedieningspaneel installeer; u kan dit doen deur die biblioteekbestuurder oop te maak deur na Sketch -> Include Library -> Manage Libraries te gaan
Soek in die biblioteekbestuurder na 'klavier' en installeer die deur Mark Stanley en Alexander Brevig
Een konfigurasie wat u moontlik moet maak as u 'n ander ESP32 gebruik as die TinyPICO, is die bedieningspennetjies, dit word in die ryPins en colPins -skikking gestel. As u na die voorkant van die bedieningspaneel kyk en van links begin, is die eerste 4 penne die rypenne en die tweede 4 die kolpenne.
Sodra dit klaar is, laai die kode op die bord op en moet u in hierdie stadium toets of dit werk.
Stap 8: Kom ons maak dit draadloos
Soos vroeër genoem, het die TinyPICO kringe vir die hantering van 'n ingeboude Lipo, en al wat ons hoef te doen is om dit aan te sluit. Dit kom met JST -verbindings wat aan die onderkant gesoldeer kan word, of u kan die Bat- en GND -penne gebruik as u dit via die penne wil doen.
As u die JST -verbindings gebruik, moet u seker maak of die polariteit van u battery ooreenstem met die TinyPICO; daar is geen standaard vir die bedrading nie, dus is die kans goed dat u battery nie ooreenstem nie.
Kontroleer die spanning van u lipo -battery voordat u dit gebruik; 'n gesonde beslag moet 3V of hoër wees; die battery wat ek met die regte JST -aansluiting gevind het, was 0V!
Ek het uiteindelik 'n 18650 -sel in 'n houer gebruik en dit aan die JST -aansluiting van die dooie battery gesoldeer.
Die TinyPICO verminder sy kragverbruik as die battery leegloop, deur nie een van die LED's aan te skakel nie, so selfs al lyk dit nie, hopelik is dit so! 'N Verdere verbetering van die projek kan wees om die ingeboude dotstar -LED aan die gang te sit om u te laat weet dat dit eintlik aangeskakel is en miskien weer wanneer dit aansluit. Vir nou kan u in die Bluetooth -spyskaart van u stelsel kyk of dit aan is en dat dit goed is.
Stap 9: toets dit
Laat ons dit toets, as ek die sneltoetsgedeelte van OBS oopmaak, kan ek op verskillende aksies klik om 'n knoppiekombinasie op te neem wat dit sal beheer; hiervoor kan ons net op die knoppie op ons sleutelbord klik en dit sal opdateer.
Nadat u op toepaslik geklik het, behoort u nie u sleutelbord te kan gebruik om u toneel in OBS te beheer nie.
Stap 10: Dankie dat u gelees het
Hopelik vind u hierdie Instructable nuttig. Ek hoor graag wat u met hierdie tipe opset sou maak. Laat weet my asseblief in die kommentaar hieronder, of sluit aan by my en 'n klomp ander makers op my Discord -bediener, waar ons hierdie onderwerp kan bespreek of enige ander verwante een wat u het, mense is baie behulpsaam daar, so dit is 'n goeie plek om op te hang uit
Ek wil ook my Github -borge bedank wat my help ondersteun wat ek doen, ek waardeer dit opreg. As u dit nie weet nie, pas Github borgskappe vir die eerste jaar by, so as u 'n borgskap maak, pas hulle dit die volgende paar maande 100% aan.
Dankie vir die lees!
Aanbeveel:
DIY slim weegskaal met wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): 10 stappe (met foto's)
DIY Smart Scale With Alarm Clock (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In my vorige projek het ek 'n slim badkamerskaal met Wi-Fi ontwikkel. Dit kan die gebruiker se gewig meet, plaaslik vertoon en dit na die wolk stuur. U kan meer inligting hieroor kry op die onderstaande skakel: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
DIY Givi V56 Topbox Light Kit met motorfiets met geïntegreerde seine: 4 stappe (met foto's)
DIY Givi V56 Topbox -ligstel vir motorfietse met geïntegreerde seine: As motorfietsryer is ek al te goed vertroud daarmee om behandel te word asof ek onsigbaar is op die pad. Een ding wat ek altyd by my fietse voeg, is 'n boks met 'n geïntegreerde lig. Ek het onlangs opgegradeer na 'n nuwe fiets en die Givi V56 Monokey gekoop
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n DIY Bartop -arcade vir twee spelers te maak met aangepaste markies, met 'n Pandora -boks: 17 stappe (met foto's)
Hoe om 'n DIY Bartop -arcade vir twee spelers te maak met aangepaste markiesmuntstukke, met behulp van 'n Pandora -boks: dit is 'n stap -vir -stap handleiding oor hoe om 'n boonste arcade -masjien vir twee spelers te bou met persoonlike muntstukke wat in die markie ingebou is. Die muntstukke sal so gemaak word dat dit slegs munte aanvaar wat die grootte van 'n kwartier of groter is. Hierdie arcade word aangedryf
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer