Sadržaj:

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

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

Video: DIY Bluetooth makro tastatura: 10 koraka (sa slikama)
Video: ТЕПЕРЬ НЕ ПРОПАДУ 10-ть самоделок ВЫРУЧАТ ГДЕ УГОДНО! 2024, Juli
Anonim
DIY Bluetooth makro tastatura
DIY Bluetooth makro tastatura

U ovom Instructableu ćemo pogledati korištenje ugrađenog Bluetootha ESP32 za emulaciju Bluetooth tastature.

Bluetooth HID (uređaj sa ljudskim interfejsom) je protokol koji koriste obične Bluetooth tastature i miševi i moguće je oponašati ovo samo sa ESP32, što je odlično!

Uz isporučene neke razvojne ploče ESP32 koje koštaju manje od 5 USD, ovo je zaista jeftin i jednostavan način za stvaranje bežičnih prilagođenih tastatura, poput makro tipkovnica. Makro tastature se mogu koristiti za kontrolu različitih aplikacija, poput video montažera ili Photoshopa, a ja lično koristim svoju za kontrolu scena u OBS -u kada snimam video zapise ili striming.

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

Supplies

  • TinyPICO ESP32 Dev ploča (bilo koji ESP32 može raditi)
  • 4*4 Matrična tastatura*

Trebat će vam i lipo baterija, upravo sam koristio slučajnu bateriju koju sam ležao okolo pa se ne mogu povezati s njom!

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

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Affiliate

Korak 1: Pogledajte video

Image
Image

Napravio sam video koji pokriva istu stvar kao ovaj Instructable, pa ako ste zainteresirani, provjerite ga! Redovno pravim i video zapise o projektima ESP8266 i ESP32 pa možda na mom kanalu postoje i drugi video zapisi koji bi vam mogli biti zanimljivi!

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

ESP32 su mikrokontroleri koji su kompatibilni sa Arduino IDE -om i dolaze sa uključenim WiFi -om 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, tome možete slijediti korake navedene na ESP32 Arduino projektima na Github stranici

Korak 3: Instaliranje ESP32 Ble biblioteke tastature

Instaliranje biblioteke tastature ESP32 Ble
Instaliranje biblioteke tastature ESP32 Ble
Instaliranje biblioteke tastature ESP32 Ble
Instaliranje biblioteke tastature ESP32 Ble

Moguće je koristiti Bluethooth HID na ESP32 bez vanjske biblioteke, ali korisnik Github-a T-Vk je napisao biblioteku pod nazivom ESP32-BLE-Keyboard koja je čini sličnijom standardnoj biblioteci Arduino tastature što je čini znatno lakšom za upotrebu.

Ova biblioteka nije dostupna u upravitelju biblioteke pa ćete je morati preuzeti s Githuba.

  • Idite na stranicu izdanja projekata i preuzmite najnoviji ESP32-BLE-Keyboard.zip
  • Nakon preuzimanja možete ga dodati u svoj Arduino IDE, ali otići na Sketch-> Include Library, a zatim dodati Zip u biblioteku 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

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

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

Uspostavljanje Bluetooth veze

Prilikom postavljanja 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 ()

Kucanje

Prva stvar koju primjer pokazuje je kako možete otkucati tekst kada se poveže, prvo će upisati "Hello world" koristeći

bleKeyboard.print ("Zdravo svijete");

Pritisak na jedno dugme

Zatim pokazuje kako možete “napisati” povratni ključ, ovo je u osnovi oponašanje jednog pritiska tipke na ovom gumbu.

bleKeyboard.write (KEY_RETURN);

Možete otvoriti datoteku BleKeyboard.h u biblioteci da vidite sve ključeve koji su ovako definirani. 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 jačinu zvuka ili preskakati numere 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 tastere

Zadnja stvar koju nam primjer pokazuje je kako možete pritisnuti i držati tipke, ovo je korisno za kreiranje makro tastatura. 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 za otpuštanje s ključem koji želite otpustiti

bleKeyboard.release (KEY_DELETE);

Korak 5: Ostali savjeti za biblioteku

Ostali savjeti za biblioteku
Ostali savjeti za biblioteku
Ostali savjeti za biblioteku
Ostali savjeti za biblioteku
Ostali savjeti za biblioteku
Ostali savjeti za biblioteku

U prethodnom smo koraku obradili glavnu funkcionalnost biblioteke, ali evo nekoliko dodatnih stvari za koje mislim da bi 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

Podrazumevano će se naziv uređaja prikazivati kao „ESP32 BLE tastatura“, to se može promijeniti kada kreirate 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 nivoa baterije (barem ne radi kod mene)

Biblioteka tvrdi da možete postaviti i nivo baterije, ali mi nije uspio na Windows računaru (ostao je bez obzira na početnu vrijednost), a moj android telefon nije pokazivao razinu svega. Evo naredbe za nju u slučaju da radi za vas

bleKeyboard.setBatteryLevel (50)

Kompatibilnost uređaja

Uspješno sam trčao primjer na svom Windows 10 računaru, Android telefonu 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 ponovo pokrenuti ESP32 dok uređaj traži. Također sam jednom morao uključiti i isključiti Bluetooth na računaru da se upari.

Korak 6: Makro tastatura

Makro tastatura
Makro tastatura
Makro tastatura
Makro tastatura
Makro tastatura
Makro tastatura
Makro tastatura
Makro tastatura

Sada kada imamo osnove, učinimo od toga nešto praktično!

U prethodnom vodiču pokazao sam kako od Arduino pro Micro napraviti jeftinu tastaturu od najjednostavnije makro tipkovnice. Za svako dugme na tastaturi šalje različitu kombinaciju dugmadi koja se može koristiti za kontrolu aplikacija, lično ga koristim za OBS, softver koji koristim za snimanje video zapisa i za vrijeme strimovanja. Ovo se čini kao dobar projekt za prijenos preko ESP32 pa možemo napraviti bežičnu verziju.

Za ovu ćemo konstrukciju koristiti TinyPICO ESP32 ploču neočekivanog proizvođača. Glavni razlog za odabir je vrlo energetski učinkovita ploča i ima ugrađena kola za pražnjenje i punjenje Lipo baterije, tako da 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 da možemo iskoristiti već napravljenu ploču za razbijanje koju sam prethodno napravio nije privlačna!

Tastatura zahtijeva 8 GPIO pinova za rad, a TinyPICO ima 8 GPIO pinova zaredom pa ćemo ih koristiti. Možete jednostavno spojiti tastaturu na TinyPICO kao što je prikazano na gornjoj slici.

Korak 7: Kôd za makro tastaturu

Kôd za makro tastaturu
Kôd za makro tastaturu
Kôd za makro tastaturu
Kôd za makro tastaturu

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

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

Unutar upravitelja biblioteke potražite "tastaturu" 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 na tipkovnici, oni su postavljeni u nizu rowPins i colPins. Kada gledate s prednje strane tastature i krećete s lijeve strane, prve 4 igle su igle za red, a druge 4 su igle za oboje.

Kada to učinite, postavite kôd na ploču i trebali biste testirati da li u ovoj fazi 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đena kola za rukovanje Lipo -om pa sve što trebamo učiniti je da ga spojimo. 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 da li polaritet vaše baterije odgovara TinyPICO -u, ne postoji standard za njihovo povezivanje tako da postoji velika vjerojatnost da vam baterija možda neće odgovarati.

Prije upotrebe provjerite napon vaše lipo baterije, zdravo tijesto bi trebalo biti 3V ili više, baterija koju sam pronašao s ispravnim JST konektorom očitavala 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 kako bi vas obavijestilo da je zaista uključeno, a možda i ponovo kada se poveže. Za sada možete provjeriti u sistemskom Bluetooth meniju da li je uključen i da li je u redu povezan.

Korak 9: Testirajte ga

Testiranje!
Testiranje!

Hajde da to isprobamo, ako otvorim 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 na gumb na našoj tipkovnici i ažurirat će se.

Nakon što pritisnete Primijeni, ne biste trebali moći koristiti tipkovnicu za kontrolu scene u OBS -u.

Korak 10: Hvala vam na čitanju

Nadamo se da vam je ovo uputstvo bilo korisno. Volio bih čuti o tome što biste napravili s ovom vrstom postavljanja. Javite mi u komentarima ispod ili se pridružite meni i gomili drugih proizvođača na mom Discord serveru, 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 se želio zahvaliti mojim 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čuje se: