Indholdsfortegnelse:

DIY Bluetooth makro tastatur: 10 trin (med billeder)
DIY Bluetooth makro tastatur: 10 trin (med billeder)

Video: DIY Bluetooth makro tastatur: 10 trin (med billeder)

Video: DIY Bluetooth makro tastatur: 10 trin (med billeder)
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, November
Anonim
DIY Bluetooth makro tastatur
DIY Bluetooth makro tastatur

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

Image
Image

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

Installation af ESP32 Ble -tastaturbiblioteket
Installation af ESP32 Ble -tastaturbiblioteket
Installation af ESP32 Ble -tastaturbiblioteket
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

Ser man på eksemplet
Ser man på eksemplet
Ser man på eksemplet
Ser man på eksemplet
Ser man på eksemplet
Ser man 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

Andre tip til biblioteket
Andre tip til biblioteket
Andre tip til biblioteket
Andre tip til biblioteket
Andre tip til biblioteket
Andre tip 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

Makrotastaturet
Makrotastaturet
Makrotastaturet
Makrotastaturet
Makrotastaturet
Makrotastaturet
Makrotastaturet
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

Kode til makrotastaturet
Kode til makrotastaturet
Kode til makrotastaturet
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

Lad os gøre det trådløst!
Lad os gøre det trådløst!
Lad os gøre det trådløst!
Lad os gøre det trådløst!
Lad os gøre det trådløst!
Lad os gøre det trådløst!
Lad os gøre det trådløst!
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

Afprøver det!
Afprøver det!

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: