Kazalo:

DIY Bluetooth makro tipkovnica: 10 korakov (s slikami)
DIY Bluetooth makro tipkovnica: 10 korakov (s slikami)

Video: DIY Bluetooth makro tipkovnica: 10 korakov (s slikami)

Video: DIY Bluetooth makro tipkovnica: 10 korakov (s slikami)
Video: Топ 5 скрытых полезных программ Windows 10 2024, November
Anonim
DIY Bluetooth makro tipkovnica
DIY Bluetooth makro tipkovnica

V tem navodilu si bomo ogledali uporabo vgrajenega Bluetootha ESP32 za posnemanje tipkovnice Bluetooth.

Bluetooth HID (Human Interface Device) je protokol, ki ga uporabljajo običajna tipkovnica Bluetooth in miške, in to je mogoče posnemati le z ESP32, kar je super!

Z nekaterimi razvojnimi ploščami ESP32, ki se začnejo pri manj kot 5 USD*, je to res poceni in preprost način za ustvarjanje brezžičnih tipkovnic po meri, kot so makro tipkovnice. Makro tipkovnice se lahko uporabljajo za krmiljenje različnih aplikacij, kot so urejevalniki videov ali Photoshop, moje osebno uporabljam za nadzor prizorov v OBS, ko snemam videoposnetke ali pretakam.

Najprej bomo pogledali, kako uporabljati knjižnico tipkovnice ESP32 HID, nato pa vam bom pokazal, kako sem to uporabil za izdelavo makro tipkovnice Bluetooth na baterije.

Zaloge

  • Razvojna plošča TinyPICO ESP32 (lahko deluje kateri koli ESP32)
  • 4*4 matrična tipkovnica*

Potrebovali boste tudi lipo baterijo, pravkar sem uporabil naključno, ki sem jo imel naokoli, tako da se ne morem povezati z njo!

Če vaš računalnik nima Bluetootha, lahko uporabite takšen ključ:

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Affiliate

Korak: Oglejte si video

Image
Image

Posnel sem video, ki pokriva isto stvar kot ta Instructable, zato, če vas zanima, si oglejte! Redno snemam tudi videoposnetke o projektih ESP8266 in ESP32, zato morda na mojem kanalu obstajajo drugi videoposnetki, ki bi se vam zdeli zanimivi!

2. korak: [Izbirno] Začetek uporabe ESP32

ESP32 so mikrokrmilniki, ki so združljivi z Arduino IDE in imajo vključena WiFi in Bluetooth. So tudi precej poceni, zato so zelo uporabni čipi za vaše projekte.

V Arduino IDE boste morali dodati definicijo plošče ESP32, temu lahko sledite korakom, navedenim na strani projektov ESP32 Arduino na strani Github

3. korak: Namestitev knjižnice tipkovnice ESP32 Ble

Namestitev knjižnice tipkovnice ESP32 Ble
Namestitev knjižnice tipkovnice ESP32 Ble
Namestitev knjižnice tipkovnice ESP32 Ble
Namestitev knjižnice tipkovnice ESP32 Ble

Na ESP32 je mogoče uporabiti Bluethooth HID brez zunanje knjižnice, vendar je uporabnik Github-a T-Vk napisal knjižnico z imenom ESP32-BLE-Keyboard, zaradi česar je bolj podobna standardni knjižnici Arduino tipkovnice, kar olajša uporabo.

Ta knjižnica ni na voljo v upravitelju knjižnice, zato jo boste morali prenesti iz Github -a.

  • Pojdite na stran z objavami projektov in prenesite najnovejšo različico ESP32-BLE-Keyboard.zip
  • Ko ga prenesete, ga lahko dodate v svoj Arduino IDE, vendar pojdite na Sketch-> Include Library in nato Add Zip to library ter v prejšnjem koraku izberite ESP32-BLE-Keyboard.zip.

4. korak: Ogled primera

Če pogledamo Primer
Če pogledamo Primer
Če pogledamo Primer
Če pogledamo Primer
Če pogledamo Primer
Če pogledamo Primer

Ko je to dodano, lahko odpremo primer, ki je priložen. To je zelo lep primer, saj prikazuje nekaj različnih stvari, ki jih lahko dosežete s knjižnico, vendar bom dodal še nekaj podrobnosti, kjer mislim, da bi bilo koristno.

Do primera lahko dostopate tako, da odprete Datoteka -> Primeri -> Tipkovnica ESP32 BLE -> SendKeyStrokes

Vzpostavitev povezave Bluetooth

V nastavitvah se vzpostavi povezava Bluetooth, na tej stopnji bi morala biti na voljo za seznanjanje v vaši napravi.

bleKeyboard.begin ();

Znotraj zanke preveri tudi, ali je povezana z napravo

bleKeyboard.isConnected ()

Tipkanje

Prvi primer, ki ga prikazuje primer, je, kako lahko po vklopu besedila vnesete besedilo "Hello world"

bleKeyboard.print ("Pozdravljeni svet");

Pritisk z enim gumbom

Nato pokaže, kako lahko "napišete" tipko za vrnitev, to v bistvu posnema en sam pritisk tipke tega gumba.

bleKeyboard.write (KEY_RETURN);

Odprete lahko datoteko BleKeyboard.h v knjižnici in si ogledate vse tako definirane ključe. Ascii znake lahko pošljete tudi tako, da jih postavite v posamezne vejice.

bleKeyboard.write ('A');

Medijski ključi

Prikazuje tudi, kako lahko pošiljate predstavnostne ključe, podobno je, kako lahko s slušalkami Bluetooth nadzirate glasnost ali preskočite skladbe. Primer prikazuje tipko za predvajanje/premor, vendar lahko znova odprete BleKeyboard.h in si ogledate druge možnosti, ki so na voljo.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Pritisnite in spustite tipke

Zadnja stvar, ki nam jo prikazuje primer, je, kako lahko pritisnete in držite tipke, kar je uporabno za ustvarjanje makro tipkovnic. Primer, prikazan tukaj, je za Ctrl + Alt + Delete

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Nato pokliče releaseAll, ki, kot ste verjetno uganili po imenu, sprosti vse pritisnjene tipke.

bleKeyboard.releaseAll ();

Po želji lahko sprostite tudi določene ključe, tako da uporabite ukaz za sprostitev s ključem, ki ga želite sprostiti

bleKeyboard.release (KEY_DELETE);

5. korak: Drugi nasveti za knjižnico

Drugi nasveti za knjižnico
Drugi nasveti za knjižnico
Drugi nasveti za knjižnico
Drugi nasveti za knjižnico
Drugi nasveti za knjižnico
Drugi nasveti za knjižnico

V prejšnjem koraku smo obravnavali glavno funkcionalnost knjižnice, vendar je tukaj nekaj dodatnih stvari, za katere menim, da bi jih bilo koristno vedeti

Uporabite zunanji sprožilec

Takšno napravo HID je vedno najbolje upravljati z zunanjim sprožilcem, kot je pritisk na gumb. Če uporabljate časovnik in gre kaj narobe, je prekinitev povezave morda neprijetna. Predstavljajte si, da bi morali poskusiti izklopiti Bluetooth, če ste ga pomotoma programirali tako, da pritisnete Ctrl+Alt+Del na vsakih 100 ms!

Spreminjanje imena naprave

Ime naprave bo privzeto prikazano kot »tipkovnica ESP32 BLE«, to lahko spremenite, ko ustvarjate primerek knjižnice. Nastavite lahko ime naprave, proizvajalca in začetno raven napolnjenosti baterije.

BleKeyboard bleKeyboard ("Ime naprave Bluetooth", "Proizvajalec naprav Bluetooth", 100);

Nastavitev ravni baterije (vsaj pri meni ne deluje)

Knjižnica trdi, da lahko nastavite tudi raven napolnjenosti baterije, vendar mi na mojem računalniku z operacijskim sistemom Windows ni uspelo (ostala je pri kakršni koli začetni vrednosti), telefon Android pa ni pokazal ravni vsega. Tu je ukaz zanj, če vam ustreza

bleKeyboard.setBatteryLevel (50)

Združljivost naprave

Primer sem uspešno tekel na svojem računalniku z operacijskim sistemom Windows 10, telefonu Android in računalniku Mac (čeprav še vedno nekako deluje Sierra!)

Prav tako je lahko hkrati povezan samo z eno napravo.

Odpravljanje težav pri seznanjanju

Če imate težave pri seznanjanju, poskusite znova zagnati ESP32, medtem ko naprava išče. Nekoč sem moral v računalniku vklopiti in izklopiti bluetooth, da sem ga lahko seznanil.

6. korak: Makro tipkovnica

Makro tipkovnica
Makro tipkovnica
Makro tipkovnica
Makro tipkovnica
Makro tipkovnica
Makro tipkovnica
Makro tipkovnica
Makro tipkovnica

Zdaj, ko imamo osnove, naredimo iz tega nekaj praktičnega!

V prejšnjem vodniku sem pokazal, kako narediti najpreprostejšo tipkovnico Macro iz Arduino pro Micro in poceni tipkovnico. Za vsak gumb na tipkovnici pošlje drugačno kombinacijo gumbov, ki bi jih lahko uporabili za nadzor aplikacij, osebno ga uporabljam za OBS, programsko opremo, ki jo uporabljam za snemanje videoposnetkov in za pretočno predvajanje. Zdi se, da je to dober projekt za prenos preko ESP32, da lahko naredimo brezžično različico.

Za to gradnjo bom uporabil ploščo TinyPICO ESP32 Unexpected Maker. Glavni razlog za izbiro je zelo energetsko učinkovita plošča in ima vgrajeno vezje za iztekanje in polnjenje Lipo baterije, zato moram le priključiti baterijo.

Lagal bi, če ne bi bilo privlačno tudi dejstvo, da ima enak razmik med vrsticami kot Pro Micro in bi lahko uporabil že narejeno prelomno ploščo, ki sem jo naredil prej!

Tipkovnica za delovanje potrebuje 8 zatičev GPIO, TinyPICO pa 8 zaporednih zatičev GPIO, zato jih bomo uporabili. Tipkovnico lahko preprosto priključite na TinyPICO, kot je prikazano na zgornji sliki.

7. korak: Koda za makro tipkovnico

Koda za makro tipkovnico
Koda za makro tipkovnico
Koda za makro tipkovnico
Koda za makro tipkovnico

Kodo za skico makro tipkovnice najdete na mojem Githubu.

Poleg knjižnice BleKeyboard, ki je bila nameščena v prejšnjem koraku, boste morali namestiti tudi knjižnico za tipkovnico, to lahko storite tako, da odprete upravitelja knjižnice tako, da odprete Sketch -> Include Library -> Manage Libraries

V upravitelju knjižnice poiščite "tipkovnico" in namestite tisto, ki sta jo napisala Mark Stanley in Alexander Brevig

Morda boste morali narediti eno konfiguracijo, če uporabljate drugačen ESP32, kot so zatiči tipkovnice TinyPICO, ki so nastavljeni v matriki rowPins in colPins. Ko gledate na sprednjo stran tipkovnice in začnete z leve strani, so prvi 4 zatiči vrstice, drugi 4 pa zatiči.

Ko to storite, naložite kodo na tablo in na tej stopnji morate preizkusiti, ali deluje.

8. korak: Naj bo brezžično

Naj bo brezžično!
Naj bo brezžično!
Naj bo brezžično!
Naj bo brezžično!
Naj bo brezžično!
Naj bo brezžično!
Naj bo brezžično!
Naj bo brezžično!

Kot smo že omenili, ima TinyPICO vezje za rokovanje z Lipo, zato ga moramo le povezati. Na voljo je s priključki JST, ki jih lahko spajkate na dno, ali pa uporabite zatiče Bat in GND, če želite to narediti prek nožic.

Če uporabljate priključke JST, dvakrat preverite, ali se polariteta baterije ujema s sistemom TinyPICO, ni standardov za njihovo ožičenje, zato obstaja velika verjetnost, da se baterija ne ujema.

Pred uporabo preverite napetost vaše lipo baterije, zdravo testo mora biti 3V ali več, baterija, ki sem jo našel s pravilnim priključkom JST, je berila 0V!

Na koncu sem uporabil celico 18650 v nosilcu in jo spajkal na priključek JST izpraznjene baterije.

TinyPICO zmanjša porabo energije, ko se izprazni baterija, tako da ne vklopi nobene LED diode, tako da tudi če ne sveti, upajmo, da je! Prihodnja izboljšava projekta bi lahko bila utripanje vgrajene LED lučke dotstar ob zagonu, samo da bi vas obvestili, da je dejansko vklopljen in morda spet, ko se poveže. Za zdaj lahko v sistemskem meniju Bluetooth preverite, ali je vklopljen in v redu.

9. korak: Preizkusite ga

Testiranje!
Testiranje!

Preizkusimo, če odprem del bližnjičnih tipk OBS, lahko kliknem na različna dejanja, da posnamem kombinacijo gumbov, ki jo bodo nadzirali, zato lahko preprosto kliknemo gumb na tipkovnici in se bo posodobil.

Ko kliknete »Uporabi«, ne boste mogli uporabljati tipkovnice za nadzor nad sceno v OBS.

10. korak: Hvala za branje

Upajmo, da vam je bil ta Instructable koristen. Rad bi slišal, kaj bi naredili s to vrsto nastavitve. Sporočite mi v spodnjih komentarjih ali pa se mi pridružite in kopici drugih ustvarjalcev na mojem strežniku Discord, kjer lahko razpravljamo o tej temi ali kateri koli drugi, povezani z izdelovalci, ki jih imate, ljudje so res v pomoč, zato je to odličen kraj za obešanje ven

Prav tako bi se rad zahvalil svojim Github sponzorjem, ki mi pomagajo pri podpori, kar počnem. Resnično to cenim. Če ne veste, se Github za prvo leto ujema s sponzorstvi, zato se bodo v naslednjih nekaj mesecih 100% ujemali s tem.

Hvala za branje!

Priporočena: