INHOUDSOPGAWE:

DIY Bluetooth -makroklavier: 10 stappe (met foto's)
DIY Bluetooth -makroklavier: 10 stappe (met foto's)

Video: DIY Bluetooth -makroklavier: 10 stappe (met foto's)

Video: DIY Bluetooth -makroklavier: 10 stappe (met foto's)
Video: Kleuters op familiefeest 😂 2024, Julie
Anonim
DIY Bluetooth -makro -sleutelbord
DIY Bluetooth -makro -sleutelbord

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

Image
Image

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

Die installering van die ESP32 Ble -sleutelbordbiblioteek
Die installering van die ESP32 Ble -sleutelbordbiblioteek
Die installering van die ESP32 Ble -sleutelbordbiblioteek
Die installering van 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

Kyk na die voorbeeld
Kyk na die voorbeeld
Kyk na die voorbeeld
Kyk na die voorbeeld
Kyk na die voorbeeld
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

Ander wenke vir die biblioteek
Ander wenke vir die biblioteek
Ander wenke vir die biblioteek
Ander wenke vir die biblioteek
Ander wenke vir die biblioteek
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

Die makro -sleutelbord
Die makro -sleutelbord
Die makro -sleutelbord
Die makro -sleutelbord
Die makro -sleutelbord
Die makro -sleutelbord
Die makro -sleutelbord
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

Kode vir die makro -sleutelbord
Kode vir die makro -sleutelbord
Kode vir die makro -sleutelbord
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

Kom ons maak dit draadloos!
Kom ons maak dit draadloos!
Kom ons maak dit draadloos!
Kom ons maak dit draadloos!
Kom ons maak dit draadloos!
Kom ons maak dit draadloos!
Kom ons maak dit draadloos!
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

Toets dit!
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: