Sommario:

Tastiera macro Bluetooth fai da te: 10 passaggi (con immagini)
Tastiera macro Bluetooth fai da te: 10 passaggi (con immagini)

Video: Tastiera macro Bluetooth fai da te: 10 passaggi (con immagini)

Video: Tastiera macro Bluetooth fai da te: 10 passaggi (con immagini)
Video: Come conquistare una ragazza del CLASSICO 2024, Dicembre
Anonim
Tastiera macro Bluetooth fai da te
Tastiera macro Bluetooth fai da te

In questo Instructable daremo un'occhiata all'utilizzo del Bluetooth integrato di ESP32 per emulare una tastiera Bluetooth.

Bluetooth HID (Human Interface Device) è il protocollo utilizzato da normali tastiere e mouse Bluetooth ed è possibile emularlo con solo un ESP32, il che è fantastico!

Con alcune schede di sviluppo ESP32 a partire da meno di $ 5* consegnate, questo è un modo davvero economico e semplice per creare tastiere personalizzate wireless come le tastiere Macro. I tastierini macro possono essere utilizzati per controllare varie applicazioni come editor video o Photoshop, personalmente uso il mio per controllare scene in OBS quando faccio video o streaming.

Vedremo prima come utilizzare la libreria di tastiere ESP32 HID e poi ti mostrerò come l'ho usata per costruire una tastiera macro Bluetooth alimentata a batteria.

Forniture

  • TinyPICO Scheda di sviluppo ESP32 (qualsiasi ESP32 può funzionare)
  • Tastiera a matrice 4*4*

Avrai anche bisogno di una batteria lipo, ne ho appena usata una a caso che avevo in giro quindi non posso collegarmi ad essa!

Se il tuo PC non ha il Bluetooth puoi usare un dongle come questo:

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Affiliato

Passaggio 1: guarda il video

Image
Image

Ho realizzato un video che copre la stessa cosa di questo Instructable, quindi se sei interessato, dai un'occhiata! Realizzo regolarmente anche video sui progetti ESP8266 ed ESP32, quindi forse ci sono altri video sul mio canale che potresti trovare interessanti!

Passaggio 2: [Facoltativo] Iniziare con un ESP32

Gli ESP32 sono microcontrollori compatibili con l'IDE Arduino e sono dotati di WiFi e Bluetooth inclusi. Sono anche abbastanza economici, quindi sono chip molto utili per i tuoi progetti.

Dovrai aggiungere la definizione della scheda ESP32 al tuo IDE Arduino, per questo puoi seguire i passaggi elencati nella pagina Github dei progetti Arduino ESP32

Passaggio 3: installazione della libreria di tastiere Ble ESP32

Installazione della libreria di tastiere Ble ESP32
Installazione della libreria di tastiere Ble ESP32
Installazione della libreria di tastiere Ble ESP32
Installazione della libreria di tastiere Ble ESP32

È possibile utilizzare Bluethooth HID su ESP32 senza libreria esterna, ma l'utente Github T-Vk ha scritto una libreria chiamata ESP32-BLE-Keyboard che lo rende più simile alla libreria di tastiere Arduino standard che lo rende molto più facile da usare.

Questa libreria non è disponibile nel gestore della libreria, quindi dovrai scaricarla da Github.

  • Vai alla pagina delle versioni dei progetti e scarica l'ultimo ESP32-BLE-Keyboard.zip
  • Una volta scaricato, puoi aggiungerlo al tuo IDE Arduino ma andando su Schizzo -> Includi libreria e poi Aggiungi zip alla libreria e seleziona ESP32-BLE-Keyboard.zip dal passaggio precedente.

Passaggio 4: guardare l'esempio

Guardando l'esempio
Guardando l'esempio
Guardando l'esempio
Guardando l'esempio
Guardando l'esempio
Guardando l'esempio

Una volta aggiunto, possiamo aprire l'esempio che ne deriva. È un esempio piuttosto carino in quanto dimostra alcune cose diverse che puoi ottenere con la libreria, ma aggiungerò anche qualche dettaglio in più dove penso che sarebbe utile.

Puoi accedere all'esempio andando su File -> Esempi -> Tastiera ESP32 BLE -> SendKeyStrokes

Configurazione di una connessione Bluetooth

Nella configurazione inizia la connessione Bluetooth, in questa fase dovrebbe essere disponibile per l'accoppiamento sul tuo dispositivo.

bleKeyboard.begin();

All'interno del loop controlla anche se è connesso a un dispositivo

bleKeyboard.isConnected()

Digitando

La prima cosa che mostra l'esempio è come puoi digitare il testo una volta che è connesso, prima digiterà "Hello world" usando

bleKeyboard.print("Ciao mondo");

Pressione di un singolo pulsante

Quindi mostra come puoi "scrivere" il tasto di ritorno, questo è fondamentalmente emulando una singola pressione di questo pulsante.

bleKeyboard.write(KEY_RETURN);

Puoi aprire il file BleKeyboard.h della libreria per vedere tutte le chiavi definite in questo modo. Puoi anche inviare caratteri ascii inserendoli tra virgole singole.

bleKeyboard.write('A');

Tasti multimediali

Dimostra anche come puoi inviare i tasti multimediali, questo è simile a come puoi controllare il volume o saltare i brani con le tue cuffie Bluetooth. L'esempio mostra il tasto play/pausa, ma di nuovo puoi aprire BleKeyboard.h per vedere le altre opzioni disponibili.

bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);

Premendo e rilasciando i tasti

L'ultima cosa che l'esempio ci mostra è come puoi tenere premuti i tasti, questo è utile per creare tastiere Macro. L'esempio mostrato qui è per Ctrl + Alt + Canc

bleKeyboard.press(KEY_LEFT_CTRL);

bleKeyboard.press(KEY_LEFT_ALT);

bleKeyboard.press(KEY_DELETE);

Quindi chiama releaseAll, che come puoi probabilmente intuire dal nome rilascia tutti i tasti premuti.

bleKeyboard.releaseAll();

Puoi anche rilasciare chiavi specifiche se lo desideri utilizzando il comando di rilascio con la chiave che desideri rilasciare

bleKeyboard.release(KEY_DELETE);

Passaggio 5: altri suggerimenti per la libreria

Altri consigli per la Biblioteca
Altri consigli per la Biblioteca
Altri consigli per la Biblioteca
Altri consigli per la Biblioteca
Altri consigli per la Biblioteca
Altri consigli per la Biblioteca

Abbiamo trattato le principali funzionalità della libreria nel passaggio precedente, ma qui ci sono alcune cose extra che penso potrebbero essere utili da sapere

Usa un trigger esterno

È sempre meglio controllare un dispositivo HID come questo utilizzando un trigger esterno come la pressione di un pulsante. Se usi un timer e qualcosa va storto, potrebbe essere imbarazzante disconnettersi. Immagina di dover provare a spegnere il tuo Bluetooth se lo hai programmato accidentalmente per premere Ctrl+Alt+Canc ogni 100 ms!

Modifica del nome del dispositivo

Per impostazione predefinita, il nome del dispositivo verrà visualizzato come "ESP32 BLE Keyboard", questo può essere modificato quando si crea un'istanza della libreria. È possibile impostare il nome del dispositivo, il produttore e il livello iniziale della batteria.

BleKeyboard bleKeyboard("Nome dispositivo Bluetooth", "Produttore dispositivo Bluetooth", 100);

Impostazione del livello della batteria (non funziona almeno per me)

La libreria afferma che puoi anche impostare il livello della batteria ma non ha funzionato per me sul mio PC Windows (è rimasto con qualunque fosse il valore iniziale) e il mio telefono Android non ha mostrato il livello di tutto. Ecco il comando per questo nel caso funzioni per te

bleKeyboard.setBatteryLevel(50)

Compatibilità del dispositivo

Ho eseguito correttamente l'esempio sul mio PC Windows 10, telefono Android e Mac (anche se in qualche modo è ancora in esecuzione Sierra!)

Inoltre può essere collegato a un solo dispositivo alla volta.

Risoluzione dei problemi di associazione

Se riscontri problemi con l'associazione, prova a riavviare ESP32 mentre il tuo dispositivo sta effettuando la ricerca. Una volta ho anche dovuto accendere e spegnere il mio bluetooth sul mio PC per farlo accoppiare.

Passaggio 6: il tastierino macro

Il tastierino macro
Il tastierino macro
Il tastierino macro
Il tastierino macro
Il tastierino macro
Il tastierino macro
Il tastierino macro
Il tastierino macro

Ora che abbiamo le basi fuori mano, facciamo qualcosa di pratico!

In una guida precedente ho mostrato come realizzare la tastiera Macro più semplice con un Arduino pro Micro e una tastiera economica. Per ogni pulsante della tastiera invia una diversa combinazione di pulsanti che potrebbe essere utilizzata per controllare le applicazioni, personalmente lo uso per OBS, il software che uso per la registrazione di video e per lo streaming. Questo sembra un buon progetto da portare su ESP32 in modo da poter creare una versione wireless.

Per questa build utilizzerò la scheda TinyPICO ESP32 di Unexpected Maker. Il motivo principale per sceglierlo è una scheda molto efficiente dal punto di vista energetico e ha i circuiti per far funzionare e caricare una batteria Lipo integrata, quindi tutto ciò che devo fare è collegare una batteria.

Mentirei se il fatto che abbia la stessa spaziatura tra le file del Pro Micro e che potrei utilizzare il breakout board già realizzato che ho realizzato in precedenza non fosse anche attraente!

La tastiera richiede 8 pin GPIO per funzionare e TinyPICO ha 8 pin GPIO in fila, quindi li useremo. Puoi semplicemente collegare la tastiera al TinyPICO come mostrato nell'immagine sopra.

Passaggio 7: codice per la tastiera macro

Codice per la tastiera macro
Codice per la tastiera macro
Codice per la tastiera macro
Codice per la tastiera macro

Il codice per lo schizzo della tastiera macro può essere trovato sul mio Github.

Oltre alla libreria BleKeyboard che è stata installata in un passaggio precedente, dovrai installare anche la libreria per la tastiera, puoi farlo aprendo il gestore della libreria andando su Schizzo -> Includi libreria -> Gestisci librerie

All'interno del gestore della libreria, cerca "keypad" e installa quello di Mark Stanley e Alexander Brevig

Una configurazione che potrebbe essere necessaria se si utilizza un ESP32 diverso da TinyPICO sono i pin della tastiera, sono impostati nell'array rowPins e colPins. Guardando la parte anteriore della tastiera e partendo da sinistra, i primi 4 pin sono i pin di riga e i secondi 4 sono i pin di col.

Una volta fatto, carica il codice sulla scheda e dovresti testare in questa fase che funzioni.

Passaggio 8: rendiamolo wireless

Facciamolo senza fili!
Facciamolo senza fili!
Facciamolo senza fili!
Facciamolo senza fili!
Facciamolo senza fili!
Facciamolo senza fili!
Facciamolo senza fili!
Facciamolo senza fili!

Come accennato in precedenza, il TinyPICO ha un circuito integrato per gestire un Lipo, quindi tutto ciò che dobbiamo fare è collegarlo. Viene fornito con connettori JST che possono essere saldati sul fondo, oppure è possibile utilizzare i pin Bat e GND se si desidera farlo tramite i pin.

Se stai utilizzando i connettori JST, ricontrolla che la polarità della batteria corrisponda a TinyPICO, non esiste uno standard per come devono essere cablati, quindi ci sono buone probabilità che la tua batteria non corrisponda.

Controlla la tensione della tua batteria lipo prima di usarla, una batteria sana dovrebbe essere 3V o superiore, la batteria che ho trovato con il connettore JST corretto stava leggendo 0V!

Alla fine ho usato una cella 18650 in un supporto e l'ho saldata al connettore JST della batteria scarica.

Il TinyPICO riduce il consumo energetico quando si scarica la batteria non alimentando nessuno dei suoi LED, quindi anche se non si accende, si spera che lo sia! Un futuro miglioramento del progetto potrebbe essere quello di far lampeggiare il LED dotstar integrato all'avvio solo per farti sapere che è effettivamente acceso e forse di nuovo quando si connette. Per ora puoi controllare nel menu Bluetooth del tuo sistema che sia acceso e connesso correttamente.

Passaggio 9: testarlo

Provalo!
Provalo!

Proviamolo, se apro la parte dei tasti di scelta rapida di OBS posso fare clic su diverse azioni per registrare una combinazione di pulsanti che la controllerà, per questo possiamo semplicemente fare clic sul pulsante sulla nostra tastiera e si aggiornerà.

Dopo aver fatto clic su Applica, non dovresti essere in grado di utilizzare la tastiera per controllare la scena in OBS.

Passaggio 10: grazie per la lettura

Spero che tu abbia trovato utile questo Instructable. Mi piacerebbe sapere cosa faresti con questo tipo di configurazione. Per favore fammelo sapere nei commenti qui sotto, o unisciti a me e a un gruppo di altri creatori sul mio server Discord, dove possiamo discutere di questo argomento o di qualsiasi altro creatore correlato che hai, le persone sono davvero utili lì, quindi è un ottimo posto dove appendere fuori

Vorrei anche ringraziare enormemente i miei sponsor Github che aiutano a supportare quello che faccio, lo apprezzo davvero. Se non lo sai, Github sta abbinando le sponsorizzazioni per il primo anno, quindi se fai una sponsorizzazione la abbineranno al 100% per i prossimi mesi.

Grazie per aver letto!

Consigliato: