Sadržaj:

DIY Bluetooth makro tipkovnica: 10 koraka (sa slikama)
DIY Bluetooth makro tipkovnica: 10 koraka (sa slikama)

Video: DIY Bluetooth makro tipkovnica: 10 koraka (sa slikama)

Video: DIY Bluetooth makro tipkovnica: 10 koraka (sa slikama)
Video: Топ 5 скрытых полезных программ Windows 10 2024, Studeni
Anonim
DIY Bluetooth makro tipkovnica
DIY Bluetooth makro tipkovnica

U ovom Instructableu ćemo pogledati korištenje ugrađenog Bluetootha ESP32 za oponašanje Bluetooth tipkovnice.

Bluetooth HID (uređaj s ljudskim sučeljem) protokol je koji koriste obična Bluetooth tipkovnica i miševi i moguće ga je oponašati samo s ESP32, što je sjajno!

Uz isporučene neke razvojne ploče ESP32 koje koštaju manje od 5 USD*, ovo je stvarno jeftin i jednostavan način za stvaranje bežičnih prilagođenih tipkovnica, poput makro tipkovnica. Makro tipkovnice mogu se koristiti za upravljanje raznim aplikacijama, poput uređivača videa ili Photoshopa, osobno svoju koristim za kontrolu scena u OBS -u kada snimam videozapise ili streaming.

Prvo ćemo pogledati kako koristiti biblioteku tipkovnice ESP32 HID, a zatim ću vam pokazati kako sam ovo koristio za izradu Bluetooth makro tipkovnice na baterije.

Pribor

  • TinyPICO ESP32 Dev ploča (svaki ESP32 može raditi)
  • 4*4 Matrična tipkovnica*

Trebat će vam i lipo baterija, upravo sam upotrijebio slučajnu koju sam imao naokolo pa se ne mogu povezati s njom!

Ako vaše računalo nema Bluetooth, možete koristiti dongle poput ovog:

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Podružnica

Korak 1: Pogledajte video

Image
Image

Napravio sam video koji pokriva istu stvar kao ovaj Instructable, pa ako ste zainteresirani, provjerite ga! Također redovito snimam videozapise o projektima ESP8266 i ESP32 pa možda na mom kanalu postoje i drugi videozapisi koji bi vam mogli biti zanimljivi!

Korak 2: [Izborno] Početak rada s ESP32

ESP32 su mikrokontroleri koji su kompatibilni s Arduino IDE -om i dolaze s uključenim WiFi -jem i Bluetooth -om. Također su prilično jeftini pa su vrlo korisni čipovi za vaše projekte.

Morat ćete dodati definiciju ESP32 ploče u svoj Arduino IDE, za to možete slijediti korake navedene na ESP32 Arduino projektima na stranici Github

Korak 3: Instaliranje knjižnice tipkovnice ESP32 Ble

Instaliranje knjižnice tipkovnice ESP32 Ble
Instaliranje knjižnice tipkovnice ESP32 Ble
Instaliranje knjižnice tipkovnice ESP32 Ble
Instaliranje knjižnice tipkovnice ESP32 Ble

Moguće je koristiti Bluethooth HID na ESP32 bez vanjske knjižnice, ali korisnik Githuba T-Vk je napisao knjižnicu pod nazivom ESP32-BLE-Keyboard koja je čini sličnijom standardnoj Arduino knjižnici tipkovnice što je čini znatno lakšom za korištenje.

Ova knjižnica nije dostupna u upravitelju knjižnice pa ćete je morati preuzeti s Githuba.

  • Idite na stranicu s izdanjima projekata i preuzmite najnoviji ESP32-BLE-Keyboard.zip
  • Nakon što ga preuzmete, možete ga dodati u svoj Arduino IDE, ali otići na Sketch-> Include Library, zatim Add Zip to library i odabrati ESP32-BLE-Keyboard.zip iz prethodnog koraka.

Korak 4: Razmatranje primjera

Gledajući Primjer
Gledajući Primjer
Gledajući Primjer
Gledajući Primjer
Gledajući Primjer
Gledajući Primjer

Nakon što se to doda, možemo otvoriti primjer koji dolazi s njim. To je prilično lijep primjer jer pokazuje nekoliko različitih stvari koje možete postići s knjižnicom, ali također ću dodati malo više detalja gdje mislim da bi bilo korisno.

Primjeru možete pristupiti tako da odete na Datoteka -> Primjeri -> ESP32 BLE tipkovnica -> SendKeyStrokes

Postavljanje Bluetooth veze

U postavljanju započinje Bluetooth veza, u ovoj fazi bi trebala biti dostupna za uparivanje na vašem uređaju.

bleKeyboard.begin ();

Unutar petlje također provjerava je li spojen na uređaj

bleKeyboard.isConnected ()

Tipkanje

Primjer prvo pokazuje kako možete utipkati tekst nakon što se poveže, prvo će upisati "Hello world" koristeći

bleKeyboard.print ("Zdravo svijete");

Pritisak na jedno dugme

Zatim pokazuje kako možete "napisati" tipku za povratak, ovo je u osnovi oponašanje jednog pritiska tipke na ovom gumbu.

bleKeyboard.write (KEY_RETURN);

Možete otvoriti datoteku BleKeyboard.h biblioteke da vidite sve ovako definirane ključeve. Također možete poslati ascii znakove stavljajući ih u zareze.

bleKeyboard.write ('A');

Medijski ključevi

Također pokazuje kako možete slati medijske ključeve, slično je načinu na koji možete kontrolirati glasnoću ili preskakati pjesme pomoću Bluetooth slušalica. Primjer prikazuje tipku za reprodukciju/pauzu, ali opet možete otvoriti BleKeyboard.h da vidite ostale dostupne opcije.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Pritisnite i otpustite tipke

Zadnja stvar koju nam primjer pokazuje je kako možete pritisnuti i držati tipke, to je korisno za stvaranje makro tipkovnica. Ovdje prikazani primjer je za Ctrl + Alt + Delete

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Zatim poziva releaseAll, koji kao što vjerojatno možete pretpostaviti po imenu oslobađa sve pritisnute tipke.

bleKeyboard.releaseAll ();

Također možete otpustiti određene ključeve ako želite ili pomoću naredbe release s ključem koji želite otpustiti

bleKeyboard.release (KEY_DELETE);

5. korak: Ostali savjeti za knjižnicu

Ostali savjeti za knjižnicu
Ostali savjeti za knjižnicu
Ostali savjeti za knjižnicu
Ostali savjeti za knjižnicu
Ostali savjeti za knjižnicu
Ostali savjeti za knjižnicu

U prethodnom smo koraku obradili glavnu funkcionalnost knjižnice, ali evo nekoliko dodatnih stvari za koje smatram da bi ih moglo biti korisno znati

Koristite vanjski okidač

Uvijek je najbolje kontrolirati ovakav HID uređaj pomoću vanjskog okidača, poput pritiska tipke. Ako koristite mjerač vremena i nešto pođe po zlu, prekid veze može biti neugodan. Zamislite da morate pokušati isključiti Bluetooth ako ste ga slučajno programirali da pritisnete Ctrl+Alt+Del svakih 100 ms!

Promjena naziva uređaja

Prema zadanim postavkama naziv uređaja prikazat će se kao "ESP32 BLE tipkovnica", to se može promijeniti kada stvarate instancu biblioteke. Možete postaviti naziv uređaja, proizvođača i početnu razinu napunjenosti baterije.

BleKeyboard bleKeyboard ("Naziv Bluetooth uređaja", "Proizvođač Bluetooth uređaja", 100);

Postavljanje razine baterije (barem ne radi za mene)

Knjižnica tvrdi da možete postaviti i razinu baterije, ali nije mi uspjela na Windows računalu (ostalo je bez obzira na početnu vrijednost), a moj android telefon nije pokazivao razinu svega. Evo naredbe za nju u slučaju da vam odgovara

bleKeyboard.setBatteryLevel (50)

Kompatibilnost uređaja

Uspješno sam trčao primjer na svom računalu sa sustavom Windows 10, telefonu sa Androidom i svom Macu (iako još uvijek nekako radi Sierra!)

Također se može istovremeno povezati samo s jednim uređajem.

Rješavanje problema pri uparivanju

Ako imate problema s uparivanjem, pokušajte ponovno pokrenuti ESP32 dok uređaj traži. Također sam jednom morao uključiti i isključiti bluetooth na računalu da se upari.

Korak 6: Makro tipkovnica

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

Sada kada imamo osnove s puta, napravimo od toga nešto praktično!

U prethodnom vodiču pokazao sam kako napraviti najjednostavniju makro tipkovnicu od Arduino pro Micro i jeftinu tipkovnicu. Za svaki gumb na tipkovnici šalje različitu kombinaciju gumba koja se može koristiti za upravljanje aplikacijama, osobno ga koristim za OBS, softver koji koristim za snimanje videozapisa i za vrijeme streama. Ovo se čini kao dobar projekt za prijenos preko ESP32 pa možemo napraviti bežičnu verziju.

Za ovu ćemo verziju koristiti ploču TinyPICO ESP32 neočekivanog proizvođača. Glavni razlog za odabir je vrlo energetski učinkovita ploča i ima ugrađene strujne krugove za pražnjenje i punjenje Lipo baterije, pa sve što trebam učiniti je priključiti bateriju.

Lagao bih da činjenica da ima isti razmak između redova kao i Pro Micro i mogli bismo iskoristiti već napravljenu ploču za razbijanje koju sam prethodno napravio nije bila privlačna!

Za rad tipkovnice potrebno je 8 GPIO pinova, a TinyPICO ima 8 GPIO pinova zaredom pa ćemo ih koristiti. Tipkovnicu možete jednostavno spojiti na TinyPICO kao što je prikazano na gornjoj slici.

Korak 7: Kôd za makro tipkovnicu

Kôd za makro tipkovnicu
Kôd za makro tipkovnicu
Kôd za makro tipkovnicu
Kôd za makro tipkovnicu

Kod za skicu makro tipkovnice može se pronaći na mom Githubu.

Osim knjižnice BleKeyboard koja je instalirana u prethodnom koraku, morat ćete instalirati i knjižnicu za tipkovnicu, to možete učiniti otvaranjem upravitelja knjižnice tako da odete na Sketch -> Include Library -> Manage Libraries

Unutar upravitelja knjižnice potražite "tipkovnicu" i instalirajte onu koju su napisali Mark Stanley i Alexander Brevig

Jednu konfiguraciju koju ćete možda morati napraviti ako koristite drugačiji ESP32 od TinyPICO su pinovi tipkovnice, oni su postavljeni u nizu rowPins i colPins. Kada gledate s prednje strane tipkovnice i krećete s lijeve strane, prve 4 igle su igle za red, a druge 4 su igle za stupce.

Kad to učinite, prenesite kôd na ploču i u ovoj fazi trebate testirati da li radi.

Korak 8: Učinimo to bežičnim

Učinimo to bežičnim!
Učinimo to bežičnim!
Učinimo to bežičnim!
Učinimo to bežičnim!
Učinimo to bežičnim!
Učinimo to bežičnim!
Učinimo to bežičnim!
Učinimo to bežičnim!

Kao što je ranije spomenuto, TinyPICO ima ugrađene sklopove za rukovanje Lipom pa sve što trebamo učiniti je spojiti ga. Dolazi s JST konektorima koji se mogu zalemiti na dno, ili možete koristiti Bat i GND pinove ako to želite učiniti putem pinova.

Ako koristite JST konektore, provjerite odgovara li polaritet vaše baterije TinyPICO -u, nema standarda za njihovo ožičenje pa postoji velika vjerojatnost da vam baterija možda neće odgovarati.

Prije uporabe provjerite napon vaše lipo baterije, zdravo tijesto bi trebalo biti 3V ili više, baterija koju sam pronašao s ispravnim JST priključkom čitala je 0V!

Na kraju sam koristio ćeliju 18650 u držaču i lemio je na JST konektor prazne baterije.

TinyPICO smanjuje potrošnju energije pri pražnjenju baterije ne napajajući nijednu LED diodu, pa čak i ako ne svijetli, nadamo se da jest! Buduće poboljšanje projekta moglo bi biti pulsiranje ugrađene dotstar LED diode pri pokretanju samo da vas obavijesti da je stvarno uključeno, a možda i ponovno kad se poveže. Za sada možete provjeriti u izborniku Bluetooth vašeg sustava je li uključen i spojen.

Korak 9: Testirajte ga

Testiranje!
Testiranje!

Isprobajmo to, otvorim li dio tipkovnih prečaca u OBS -u, mogu kliknuti na različite radnje da snimim kombinaciju gumba koja će to kontrolirati, za to možemo samo kliknuti gumb na našoj tipkovnici i ažurirat će se.

Nakon što kliknete Primijeni, ne biste trebali moći koristiti tipkovnicu za upravljanje scenom u OBS -u.

10. korak: Hvala vam na čitanju

Nadamo se da vam je ovaj Instructable bio koristan. Volio bih čuti što biste napravili s ovom vrstom postavljanja. Javite mi u komentarima ispod ili se pridružite meni i hrpi drugih proizvođača na mom poslužitelju Discord, gdje možemo razgovarati o ovoj temi ili o bilo kojoj drugoj temi vezanoj za proizvođača, ljudi su tu od velike pomoći, pa je to odlično mjesto za objesiti van

Također bih želio izraziti veliku zahvalnost svojim Github sponzorima koji mi podržavaju ono što radim, zaista to cijenim. Ako ne znate, Github se podudara sa sponzorstvima prve godine, pa ako napravite sponzorstvo, oni će mu odgovarati 100% sljedećih nekoliko mjeseci.

Hvala na čitanju!

Preporučeni: