Cuprins:

Tastatură macro Bluetooth DIY: 10 pași (cu imagini)
Tastatură macro Bluetooth DIY: 10 pași (cu imagini)

Video: Tastatură macro Bluetooth DIY: 10 pași (cu imagini)

Video: Tastatură macro Bluetooth DIY: 10 pași (cu imagini)
Video: 32 de combinații secrete pe tastatura ta 2024, Iulie
Anonim
Tastatură macro Bluetooth DIY
Tastatură macro Bluetooth DIY

În acest Instructable vom analiza utilizarea Bluetooth-ului încorporat al ESP32 pentru a emula o tastatură Bluetooth.

Bluetooth HID (Human Interface Device) este protocolul folosit de tastatura și șoareci Bluetooth obișnuiți și este posibil să îl imitați doar cu un ESP32, ceea ce este minunat!

Cu unele plăci de dezvoltare ESP32 începând de la mai puțin de 5 USD * livrate, acesta este un mod foarte ieftin și simplu de a crea tastaturi personalizate fără fir, cum ar fi tastaturile Macro. Tastaturile macro pot fi utilizate pentru controlul diferitelor aplicații, cum ar fi editori video sau Photoshop, personal le folosesc pe ale mele pentru controlul scenelor în OBS atunci când fac videoclipuri sau streaming.

Mai întâi ne vom uita la modul de utilizare a bibliotecii de tastatură ESP32 HID și apoi vă voi arăta cum am folosit acest lucru pentru a construi o tastatură Macro Bluetooth cu baterie.

Provizii

  • TinyPICO ESP32 Dev board (Orice ESP32 poate funcționa)
  • Tastatură matricială 4 * 4 *

De asemenea, veți avea nevoie de o baterie lipo, tocmai am folosit una aleatorie pe care o aveam așezată, așa că nu pot face legătura cu ea!

Dacă PC-ul dvs. nu are Bluetooth, puteți utiliza un dongle ca acesta:

Amazon.co.uk *:

Amazon.com *:

Amazon.de *:

* = Afiliat

Pasul 1: Verificați videoclipul

Image
Image

Am realizat un videoclip care acoperă același lucru cu acest instructabil, așa că, dacă sunteți interesat, vă rugăm să îl verificați! De asemenea, fac videoclipuri în jurul proiectelor ESP8266 și ESP32 în mod regulat, așa că poate există și alte videoclipuri pe canalul meu, pe care le-ați putea găsi interesante!

Pasul 2: [Opțional] Noțiuni introductive despre un ESP32

ESP32-urile sunt microcontrolere care sunt compatibile cu Arduino IDE și vin cu WiFi și Bluetooth incluse. De asemenea, sunt destul de ieftine, deci sunt cipuri foarte utile pentru proiectele dvs.

Va trebui să adăugați definiția plăcii ESP32 la IDE-ul dvs. Arduino, la aceasta puteți urma pașii enumerați în pagina Github a proiectelor ESP32 Arduino

Pasul 3: Instalarea Bibliotecii de tastatură ESP32 Ble

Instalarea Bibliotecii tastaturii ESP32 Ble
Instalarea Bibliotecii tastaturii ESP32 Ble
Instalarea Bibliotecii tastaturii ESP32 Ble
Instalarea Bibliotecii tastaturii ESP32 Ble

Este posibil să utilizați Bluethooth HID pe ESP32 fără bibliotecă externă, dar utilizatorul Github T-Vk a scris o bibliotecă numită ESP32-BLE-Keyboard care o face mai asemănătoare cu biblioteca standard de tastatură Arduino, care o face mult mai ușor de utilizat.

Această bibliotecă nu este disponibilă în managerul de bibliotecă, așa că va trebui să o descărcați de pe Github.

  • Accesați pagina lansărilor proiectelor și descărcați cea mai recentă ESP32-BLE-Keyboard.zip
  • Odată descărcat, îl puteți adăuga la IDE-ul dvs. Arduino, dar accesând Sketch -> Include Library și apoi Add Zip in library și selectați ESP32-BLE-Keyboard.zip din pasul anterior.

Pasul 4: Privind exemplul

Privind exemplul
Privind exemplul
Privind exemplul
Privind exemplul
Privind exemplul
Privind exemplul

Odată adăugat acest lucru, putem deschide exemplul care vine cu acesta. Este un exemplu destul de frumos, deoarece demonstrează câteva lucruri diferite pe care le puteți realiza cu biblioteca, dar voi adăuga, de asemenea, un pic mai multe detalii unde cred că ar fi util.

Puteți accesa exemplul accesând Fișier -> Exemple -> Tastatură ESP32 BLE -> SendKeyStrokes

Configurarea unei conexiuni Bluetooth

În configurare începe conexiunea Bluetooth, în acest stadiu ar trebui să fie disponibil pentru a se asocia cu dispozitivul.

bleKeyboard.begin ();

În interiorul buclei verifică, de asemenea, dacă este conectat la un dispozitiv

bleKeyboard.isConnected ()

Tastare

Primul lucru pe care îl arată exemplul este modul în care puteți scrie text după conectare, acesta va tasta mai întâi „Hello world” folosind

bleKeyboard.print („Bună ziua lume”);

Un singur buton apasă

Apoi arată cum puteți „scrie” tasta de returnare, aceasta este practic emularea unei singure taste apăsând acest buton.

bleKeyboard.write (KEY_RETURN);

Puteți deschide fișierul BleKeyboard.h al bibliotecii pentru a vedea toate cheile definite astfel. De asemenea, puteți trimite caractere ascii plasându-le în virgule simple.

bleKeyboard.write („A”);

Taste media

De asemenea, demonstrează modul în care puteți trimite chei media, acest lucru este similar cu modul în care puteți controla volumul sau sări peste piese cu căștile dvs. Bluetooth. Exemplul arată tasta de redare / pauză, dar din nou puteți deschide BleKeyboard.h pentru a vedea celelalte opțiuni disponibile.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Apăsarea și eliberarea tastelor

Ultimul lucru pe care ni-l arată exemplul este modul în care puteți apăsa și ține apăsate tastele, acest lucru este util pentru crearea tastaturilor macro. Exemplul prezentat aici este pentru Ctrl + Alt + Ștergere

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Apelează apoi releaseAll, care după cum probabil puteți ghici după nume, eliberează toate tastele apăsate.

bleKeyboard.releaseAll ();

De asemenea, puteți elibera anumite taste dacă doriți fie folosind comanda de eliberare cu cheia pe care doriți să o eliberați

bleKeyboard.release (KEY_DELETE);

Pasul 5: Alte sfaturi pentru bibliotecă

Alte sfaturi pentru bibliotecă
Alte sfaturi pentru bibliotecă
Alte sfaturi pentru bibliotecă
Alte sfaturi pentru bibliotecă
Alte sfaturi pentru bibliotecă
Alte sfaturi pentru bibliotecă

Am acoperit funcționalitatea principală a bibliotecii în pasul anterior, dar iată câteva lucruri suplimentare pe care cred că ar putea fi utile să le cunoaștem

Utilizați un declanșator extern

Este întotdeauna mai bine să controlați un astfel de dispozitiv HID folosind un declanșator extern, cum ar fi apăsarea unui buton. Dacă utilizați un cronometru și ceva nu merge bine, s-ar putea să vă faceți ciudat să vă deconectați. Imaginați-vă că trebuie să încercați să vă opriți Bluetooth-ul dacă l-ați programat din greșeală pentru a apăsa Ctrl + Alt + Del la fiecare 100mS!

Schimbarea numelui dispozitivului

În mod implicit, numele dispozitivului va apărea ca „Tastatură ESP32 BLE”, aceasta poate fi modificată atunci când creați o instanță a bibliotecii. Puteți seta numele dispozitivului, producătorul și nivelul inițial al bateriei.

BleKeyboard bleKeyboard („Numele dispozitivului Bluetooth”, „Producătorul dispozitivului Bluetooth”, 100);

Setarea nivelului bateriei (cel puțin nu funcționează pentru mine)

Biblioteca susține că puteți seta și nivelul bateriei, dar nu a funcționat pentru mine pe computerul meu Windows (a rămas cu orice valoare inițială a fost), iar telefonul meu Android nu a arătat nivelul tuturor. Iată comanda pentru aceasta în cazul în care funcționează pentru dvs.

bleKeyboard.setBatteryLevel (50)

Compatibilitatea dispozitivului

Am alergat cu succes, am rulat exemplul pe computerul meu Windows 10, pe telefonul Android și pe computerul Mac (deși rulează Sierra cumva!)

De asemenea, poate fi conectat doar la un singur dispozitiv odată.

Depanarea asocierii

Dacă aveți probleme de asociere, încercați să reporniți ESP32 în timp ce dispozitivul dvs. este în căutare. De asemenea, a trebuit să pornesc și să opresc Bluetooth-ul de pe computer pentru a-l împerechea.

Pasul 6: Tastatura Macro

Tastatura Macro
Tastatura Macro
Tastatura Macro
Tastatura Macro
Tastatura Macro
Tastatura Macro
Tastatura Macro
Tastatura Macro

Acum, că avem elementele de bază înlăturate, să facem ceva practic din asta!

Într-un ghid anterior am arătat cum să fac cea mai simplă tastatură Macro dintr-un Arduino pro Micro și tastatură ieftină. Pentru fiecare buton de pe tastatură trimite o combinație diferită de butoane care ar putea fi folosite pentru a controla aplicațiile, personal îl folosesc pentru OBS, software-ul pe care îl folosesc pentru înregistrarea videoclipurilor și pentru momentul în care transmit. Acesta pare a fi un proiect bun de port pe ESP32, astfel încât să putem realiza o versiune wireless.

Pentru această versiune voi folosi placa TinyPICO ESP32 a Unexpected Maker. Motivul principal pentru alegerea sa este o placă foarte eficientă din punct de vedere al consumului de energie și are circuitele pentru funcționarea și încărcarea unei baterii Lipo încorporate, așa că tot ce trebuie să fac este să conectez o baterie.

Aș minți dacă faptul că are aceeași distanță între rânduri ca Pro Micro și aș putea folosi placa de rupere deja realizată pe care am realizat-o anterior nu ar fi, de asemenea, atrăgătoare!

Tastatura necesită 8 pini GPIO pentru a funcționa, iar TinyPICO are 8 pini GPIO la rând, așa că îi vom folosi. Puteți conecta tastatura simplu la TinyPICO așa cum se arată în imaginea de mai sus.

Pasul 7: Cod pentru tastatura macro

Cod pentru tastatura macro
Cod pentru tastatura macro
Cod pentru tastatura macro
Cod pentru tastatura macro

Codul pentru schița tastaturii macro poate fi găsit pe Github.

Pe lângă biblioteca BleKeyboard care a fost instalată într-un pas anterior, va trebui să instalați biblioteca pentru tastatură, puteți face acest lucru deschizând managerul bibliotecii accesând Sketch -> Include Library -> Manage Libraries

În interiorul managerului de bibliotecă, căutați „tastatura” și instalați-o pe cea de Mark Stanley și Alexander Brevig

Este posibil să aveți nevoie de o configurație dacă utilizați un ESP32 diferit de TinyPICO, sunt pinii tastaturii, aceștia sunt setați în matricele rowPins și colPins. Când priviți partea din față a tastaturii și începeți din stânga, primii 4 pini sunt pinii rândului și al doilea 4 sunt pinii col.

Odată ce ați terminat, încărcați codul pe tablă și ar trebui să testați în această etapă că funcționează.

Pasul 8: Să-l facem wireless

Să-l facem fără fir!
Să-l facem fără fir!
Să-l facem fără fir!
Să-l facem fără fir!
Să-l facem fără fir!
Să-l facem fără fir!
Să-l facem fără fir!
Să-l facem fără fir!

După cum sa menționat mai devreme, TinyPICO are circuite pentru manipularea unui Lipo încorporat, așa că tot ce trebuie să facem este să îl conectăm. Vine cu conectori JST care pot fi lipiți în partea de jos sau puteți utiliza pinii Bat și GND dacă doriți să o faceți prin intermediul pinilor.

Dacă utilizați conectorii JST, vă rugăm să verificați polaritatea bateriei cu TinyPICO, nu există un standard pentru modul în care acestea ar trebui să fie conectate, deci există șanse mari ca bateria dvs. să nu se potrivească.

Verificați tensiunea bateriei dvs. lipo înainte de a o utiliza, o baterie sănătoasă ar trebui să fie de 3V sau mai mare, bateria pe care am găsit-o cu conectorul JST corect citea 0V!

Am ajuns să folosesc o celulă 18650 într-un suport și să o lipesc la conectorul JST al bateriei moarte.

TinyPICO își reduce consumul de energie atunci când se descarcă bateria prin faptul că nu alimentează niciunul dintre LED-urile sale, deci chiar dacă nu se aprinde, sperăm că este! O îmbunătățire viitoare a proiectului ar putea fi impulsionarea LED-ului dotstar integrat la pornire doar pentru a vă informa că s-a aprins efectiv și poate din nou când se conectează. Deocamdată puteți verifica în meniul Bluetooth al sistemelor că este activat și conectat ok.

Pasul 9: Testați-l

Testarea lui!
Testarea lui!

Să testăm, dacă deschid porțiunea de taste rapide din OBS, pot face clic pe diferite acțiuni pentru a înregistra o combinație de butoane care o va controla, pentru aceasta putem face doar clic pe butonul de pe tastatura noastră și se va actualiza.

După ce faceți clic pe aplicați, nu ar trebui să vă puteți folosi tastatura pentru a vă controla scena în OBS.

Pasul 10: Vă mulțumim pentru lectură

Sperăm că ați găsit util acest instructabil. Mi-ar plăcea să aud despre ce ați face cu acest tip de configurare. Vă rog să-mi spuneți în comentariile de mai jos sau să vă alăturați mie și o grămadă de alți producători pe serverul meu Discord, unde putem discuta despre acest subiect sau despre orice alt producător legat de dvs., oamenii sunt cu adevărat de ajutor acolo, așa că este un loc minunat de agățat afară

Aș dori, de asemenea, să mulțumesc enorm sponsorilor mei Github care mă ajută să susțin ceea ce fac, chiar îl apreciez. Dacă nu știți, Github corespunde sponsorizărilor pentru primul an, așa că, dacă faceți o sponsorizare, acestea se vor potrivi 100% pentru următoarele luni.

Mulțumesc pentru lectură!

Recomandat: