Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Tjek videoen
- Trin 2: [Valgfrit] Kom godt i gang med en ESP32
- Trin 3: Installation af ESP32 Ble -tastaturbiblioteket
- Trin 4: Ser på eksemplet
- Trin 5: Andre tips til biblioteket
- Trin 6: Makrotastaturet
- Trin 7: Kode til makrotastaturet
- Trin 8: Lad os gøre det trådløst
- Trin 9: Test det ud
- Trin 10: Tak fordi du læste
Video: DIY Bluetooth makro tastatur: 10 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
I denne instruks vil vi tage et kig på at bruge den indbyggede Bluetooth i ESP32 til at efterligne et Bluetooth-tastatur.
Bluetooth HID (Human Interface Device) er den protokol, der bruges af almindeligt Bluetooth -tastatur og mus, og det er muligt at efterligne dette med kun en ESP32, hvilket er fantastisk!
Med nogle ESP32 -udviklingsbrætter, der starter med mindre end $ 5* leveret, er dette en virkelig billig og enkel måde at oprette trådløse brugerdefinerede tastaturer på, f.eks. Et makro -tastatur. Makrotastaturer kan bruges til at styre forskellige applikationer som videoredigerere eller Photoshop, personligt bruger jeg min til at styre scener i OBS, når jeg laver videoer eller streamer.
Vi vil først se på, hvordan du bruger ESP32 HID -tastaturbiblioteket, og derefter vil jeg vise dig, hvordan jeg brugte dette til at bygge et batteridrevet Bluetooth -makrotastatur.
Forbrugsvarer
- TinyPICO ESP32 Dev -kort (ethvert ESP32 kan fungere)
- 4*4 Matrix -tastatur*
Du skal også bruge et lipo -batteri, jeg har lige brugt et tilfældigt, jeg havde liggende, så jeg kan ikke linke til det!
Hvis din pc ikke har Bluetooth, kan du bruge en dongle som denne:
Amazon.co.uk*:
Amazon.com*:
Amazon.de*:
* = Tilsluttet
Trin 1: Tjek videoen
Jeg har lavet en video, der dækker det samme som denne Instructable, så hvis du er interesseret, kan du tjekke den ud! Jeg laver også videoer omkring ESP8266 og ESP32 projekter regelmæssigt, så måske er der andre videoer på min kanal, du måske synes er interessant!
Trin 2: [Valgfrit] Kom godt i gang med en ESP32
ESP32'er er mikrokontrollere, der er kompatible med Arduino IDE og leveres med WiFi og Bluetooth inkluderet. De er også ret billige, så de er meget nyttige chips til dine projekter.
Du bliver nødt til at tilføje ESP32 -kortdefinitionen til din Arduino IDE, hertil kan du følge trinene, der er angivet på ESP32 Arduino -projekter Github -side
Trin 3: Installation af ESP32 Ble -tastaturbiblioteket
Det er muligt at bruge Bluethooth HID på ESP32 uden noget eksternt bibliotek, men Github-bruger T-Vk har skrevet et bibliotek kaldet ESP32-BLE-Keyboard, der gør det mere som det normale Arduino-tastaturbibliotek, hvilket gør det meget lettere at bruge.
Dette bibliotek er ikke tilgængeligt i biblioteksadministratoren, så du skal downloade det fra Github.
- Gå til siden med projekterudgivelser, og download den nyeste ESP32-BLE-Keyboard.zip
- Når den er downloadet, kan du føje den til din Arduino IDE, men gå til Sketch-> Inkluder bibliotek og derefter Tilføj zip til bibliotek og vælg ESP32-BLE-Keyboard.zip fra det foregående trin.
Trin 4: Ser på eksemplet
Når det er tilføjet, kan vi åbne eksemplet, der følger med det. Det er et ret godt eksempel, da det demonstrerer et par forskellige ting, du kan opnå med biblioteket, men jeg tilføjer også lidt mere detaljeret, hvor jeg synes, det ville være nyttigt.
Du kan få adgang til eksemplet ved at gå til Filer -> Eksempler -> ESP32 BLE -tastatur -> SendKeyStrokes
Opsætning af en Bluetooth -forbindelse
I opsætningen starter den Bluetooth -forbindelsen, på dette tidspunkt skal den være tilgængelig at parre med på din enhed.
bleKeyboard.begin ();
Inde i sløjfen kontrollerer den også, om den er forbundet til en enhed
bleKeyboard.isConnected ()
Skrivning
Det første, eksemplet viser, er, hvordan du kan skrive tekst ud, når den er forbundet, vil den først skrive "Hej verden" ved hjælp af
bleKeyboard.print ("Hej verden");
Tryk på en enkelt knap
Det viser derefter, hvordan du kan "skrive" returnøglen, dette efterligner i bund og grund et enkelt tastetryk på denne knap.
bleKeyboard.write (KEY_RETURN);
Du kan åbne BleKeyboard.h -filen i biblioteket for at se alle de nøgler, der er defineret sådan. Du kan også sende ascii -tegn ved at sætte dem i enkelte kommaer.
bleKeyboard.write ('A');
Medietaster
Det viser også, hvordan du kan sende medietaster, det ligner, hvordan du kan styre lydstyrken eller springe spor over med dine Bluetooth -hovedtelefoner. Eksemplet viser tasten play/pause, men igen kan du åbne BleKeyboard.h for at se de andre tilgængelige muligheder.
bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);
Tryk på og slip tasterne
Den sidste ting, eksemplet viser os, er, hvordan du kan trykke og holde tasterne nede, dette er nyttigt til oprettelse af makrotastaturer. Eksemplet vist her er for Ctrl + Alt + Delete
bleKeyboard.press (KEY_LEFT_CTRL);
bleKeyboard.press (KEY_LEFT_ALT);
bleKeyboard.press (KEY_DELETE);
Det kalder derefter releaseAll, som som du sikkert kan gætte ved navnet frigiver alle de trykte taster.
bleKeyboard.releaseAll ();
Du kan også frigive bestemte nøgler, hvis du vil enten ved at bruge kommandoen release med den nøgle, du vil frigive
bleKeyboard.release (KEY_DELETE);
Trin 5: Andre tips til biblioteket
Vi dækkede bibliotekets vigtigste funktionalitet i det foregående trin, men her er nogle ekstra ting, som jeg synes kan være nyttige at kende
Brug en ekstern trigger
Det er altid bedst at styre en HID -enhed som denne ved hjælp af en ekstern trigger som f.eks. Et tryk på knappen. Hvis du bruger en timer, og noget går galt, kan det gøre det besværligt at afbryde forbindelsen. Forestil dig at skulle prøve at slukke din Bluetooth, hvis du ved et uheld programmerede den til at trykke på Ctrl+Alt+Del hver 100 ms!
Ændring af enhedsnavn
Som standard vises enhedsnavnet som "ESP32 BLE Keyboard", dette kan ændres, når du opretter en forekomst af biblioteket. Du kan indstille enhedsnavnet, producenten og det oprindelige batteriniveau.
BleKeyboard bleKeyboard ("Bluetooth -enhedsnavn", "Bluetooth -enhedsproducent", 100);
Indstilling af batteriniveau (fungerer i hvert fald ikke for mig)
Biblioteket hævder, at du også kan indstille batteriniveauet, men det fungerede ikke for mig på min Windows -pc (det forblev uanset den oprindelige værdi) og min Android -telefon viste ikke niveauet for det hele. Her er kommandoen til det, hvis det virker for dig
bleKeyboard.setBatteryLevel (50)
Enhedskompatibilitet
Jeg kørte med succes kørte eksemplet på min Windows 10 -pc, Android -telefon og min Mac (selvom den stadig kører Sierra på en eller anden måde!)
Det kan også kun sluttes til en enhed ad gangen.
Fejlfinding Parring
Hvis du har problemer med parring, kan du prøve at genstarte ESP32, mens din enhed søger. Jeg var også engang nødt til at tænde og slukke min bluetooth på min pc for at få den til at parre.
Trin 6: Makrotastaturet
Nu hvor vi har det grundlæggende ude af vejen, lad os gøre noget praktisk ud af det!
I en tidligere vejledning viste jeg, hvordan man laver det enkleste makrotastatur fra et Arduino pro Micro og billigt tastatur. For hver knap på tastaturet sender den en anden kombination af knapper, som kan bruges til at styre applikationer, personligt bruger jeg den til OBS, softwaren jeg bruger til at optage videoer og til når jeg streamer. Dette virker som et godt projekt at port over ESP32, så vi kan lave en trådløs version.
Til denne build vil jeg bruge Unexpected Makers TinyPICO ESP32 -kort. Hovedårsagen til at vælge det er et meget strømeffektivt kort og har kredsløb til at køre og oplade et Lipo -batteri indbygget, så alt hvad jeg skal gøre er at tilslutte et batteri.
Jeg ville lyve, hvis det faktum, at det har samme rækkeafstand som Pro Micro, og jeg kunne gøre brug af det allerede lavet breakout -bord, jeg tidligere lavede, ikke også var tiltalende!
Tastaturet kræver 8 GPIO -ben for at fungere, og TinyPICO har 8 GPIO -ben i en række, så vi bruger dem. Du kan enkelt tilslutte tastaturet til TinyPICO som vist på billedet ovenfor.
Trin 7: Kode til makrotastaturet
Koden til Macro -tastaturskitsen kan findes på min Github.
Udover BleKeyboard -biblioteket, der blev installeret i et tidligere trin, skal du også installere biblioteket til tastaturet, du kan gøre dette ved at åbne biblioteksadministratoren ved at gå til Skitse -> Inkluder bibliotek -> Administrer biblioteker
Inde i bibliotekschefen skal du søge efter "tastatur" og installere den af Mark Stanley og Alexander Brevig
En konfiguration, du muligvis skal foretage, hvis du bruger en anden ESP32 end TinyPICO er tastaturets ben, de er angivet i rækkenPins og colPins -array. Når man ser på forsiden af tastaturet og starter fra venstre, er de første 4 ben rækkestifterne og de anden 4 er kolptapperne.
Når det er gjort, skal du uploade koden til tavlen, og du skal teste på dette tidspunkt, at den fungerer.
Trin 8: Lad os gøre det trådløst
Som tidligere nævnt har TinyPICO kredsløb til håndtering af en Lipo indbygget, så alt hvad vi skal gøre er at forbinde den. Den leveres med JST -stik, der kan loddes til bunden, eller du kan bruge flagermus- og GND -benene, hvis du ville gøre det via stifterne.
Hvis du bruger JST -stikket, skal du dobbelttjekke, at dit batteris polaritet matcher TinyPICO, der er ingen standard for, hvordan disse skal forbindes, så der er en god chance for, at dit batteri ikke matcher.
Kontroller spændingen på dit lipo -batteri, før du bruger det, en sund dej skal være 3V eller højere, batteriet jeg fandt med det korrekte JST -stik læste 0V!
Jeg endte med at bruge en 18650 celle i en holder og lodde den til JST -stikket på det døde batteri.
TinyPICO reducerer sit strømforbrug, når batteriet kører ved ikke at tænde for nogen af dets lysdioder, så selvom det ikke ser ud, så er det forhåbentlig det! En fremtidig forbedring af projektet kan være at pulsere den indbyggede dotstar LED ved opstart bare for at fortælle dig, at det faktisk er tændt og måske igen, når det opretter forbindelse. For nu kan du kontrollere i din systems Bluetooth -menu, at den er tændt og tilsluttet ok.
Trin 9: Test det ud
Lad os teste det, hvis jeg åbner genvejstastdelen af OBS, kan jeg klikke på forskellige handlinger for at optage en knapkombination, der styrer det, for dette kan vi bare klikke på knappen på vores tastatur, og den opdateres.
Når du har klikket på anvend, bør du ikke kunne bruge dit tastatur til at styre din scene i OBS.
Trin 10: Tak fordi du læste
Forhåbentlig fandt du denne Instructable nyttig. Jeg ville elske at høre om, hvad du ville lave med denne type opsætning. Lad mig vide i kommentarerne herunder, eller slut mig til mig og en flok andre producenter på min Discord -server, hvor vi kan diskutere dette emne eller enhver anden makerrelateret, du har, folk er virkelig hjælpsomme der, så det er et godt sted at hænge ud
Jeg vil også gerne sige en kæmpe tak til mine Github -sponsorer, der hjælper med at støtte det, jeg gør, jeg sætter virkelig pris på det. Hvis du ikke ved det, matcher Github sponsorater for det første år, så hvis du laver et sponsorat, matcher de det 100% i de næste par måneder.
Tak fordi du læste!
Anbefalede:
HotKeys -tastatur med tilpassede profiler: 14 trin (med billeder)
HotKeys -tastatur med tilpassede profiler: Jeg håber, at du har det godt midt i denne pandemi. Pas godt på dig selv. Vær stærk. #COVID19 Da jeg er industriel designer, skal jeg dagligt få adgang til mere end 7-8 software, der inkluderer Solidworks, Photoshop, Illustrator, Keyshot, Indesign osv. Og ja få
Det enkleste DIY makro tastatur: 10 trin (med billeder)
Det enkleste DIY -makrotastatur: Et makrotastatur kan bruges til at udføre bestemte handlinger eller funktioner på din computer og kan være virkelig nyttig med visse applikationer, f.eks. Videoredigerere eller spil. Mange applikationer har genvejstaster til hurtigt at udføre handlinger, men nogle gange
Vend en Commodore 64 til et IOS Bluetooth -tastatur: 6 trin (med billeder)
Vend en Commodore 64 til et IOS Bluetooth -tastatur: Denne instruktør beskriver, hvordan du omdanner en Commodore 64 -computer til et bluetooth -tastatur. Det indebærer programmering af en mikrocontroller med Arduino IDE og konstruktion af et kredsløbskort. Forbrugsvarer, du skal bruge (nogle er valgfri): Commodore 64 med
Tilpasset makro mekanisk tastatur: 12 trin (med billeder)
Brugerdefineret makromekanisk tastatur: I denne instruktionsbog vil jeg tage dig igennem det grundlæggende i at oprette din egen 6 -tastede makropad, styret af en Arduino. Jeg vil tage dig igennem det, du har brug for, hvordan du samler det, hvordan du programmerer det, og hvordan du kan forbedre det eller gøre det til din egen
Hurtigt og snavset tastatur (tomt tastatur): 3 trin
Quick and Dirty Das Keyboard (Blank Keyboard): A Das Keyboard is the name of the most popular keyboard with no inscriptions on the keys (blank keyboard). Das tastatur sælges til $ 89,95. Denne instruktive vil guide dig, selvom du selv laver en med et gammelt tastatur, du har liggende