Taula de continguts:

Teclat de macro Bluetooth de bricolatge: 10 passos (amb imatges)
Teclat de macro Bluetooth de bricolatge: 10 passos (amb imatges)

Vídeo: Teclat de macro Bluetooth de bricolatge: 10 passos (amb imatges)

Vídeo: Teclat de macro Bluetooth de bricolatge: 10 passos (amb imatges)
Vídeo: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, Desembre
Anonim
Teclat de macro Bluetooth de bricolatge
Teclat de macro Bluetooth de bricolatge

En aquest instructiu farem un cop d'ull a l'ús del Bluetooth integrat de l'ESP32 per emular un teclat Bluetooth.

Bluetooth HID (Dispositiu d’interfície humana) és el protocol que fan servir els teclats i els ratolins Bluetooth normals i és possible emular-lo amb només un ESP32, que és fantàstic.

Amb algunes taules de desenvolupament ESP32 que comencen a menys de 5 dòlars *, aquesta és una manera senzilla i econòmica de crear teclats personalitzats sense fils, com ara teclats Macro. Els teclats macro es poden utilitzar per controlar diverses aplicacions, com ara editors de vídeo o Photoshop. Personalment, faig servir el meu per controlar escenes a OBS quan estic fent vídeos o emetent vídeos.

Primer veurem com utilitzar la biblioteca de teclats ESP32 HID i, a continuació, us mostraré com l’he utilitzat per construir un teclat de macro Bluetooth amb bateria.

Subministraments

  • Taula de desenvolupament TinyPICO ESP32 (qualsevol ESP32 pot funcionar)
  • Teclat Matrix 4 * 4 *

També necessitareu una bateria lipo, només he fet servir una aleatòria que tenia al voltant, de manera que no hi puc enllaçar.

Si el vostre PC no té Bluetooth, podeu utilitzar un dongle com aquest:

Amazon.co.uk *:

Amazon.com *:

Amazon.de *:

* = Afiliat

Pas 1: fes una ullada al vídeo

Image
Image

He fet un vídeo que cobreix el mateix que aquest instructable, així que si us interessa, comproveu-ho. També faig vídeos sobre projectes ESP8266 i ESP32 regularment, així que potser hi ha altres vídeos al meu canal que us poden semblar interessants.

Pas 2: [Opcional] Introducció a un ESP32

Els ESP32 són microcontroladors compatibles amb l'IDE Arduino i inclouen WiFi i Bluetooth inclosos. També són bastant econòmics, de manera que són xips molt útils per als vostres projectes.

Haureu d’afegir la definició de la placa ESP32 al vostre IDE Arduino, a la qual podeu seguir els passos que apareixen a la pàgina Github de projectes ESP32 Arduino.

Pas 3: Instal·lació de la biblioteca de teclats ESP32 Ble

Instal·lació de la biblioteca de teclats ESP32 Ble
Instal·lació de la biblioteca de teclats ESP32 Ble
Instal·lació de la biblioteca de teclats ESP32 Ble
Instal·lació de la biblioteca de teclats ESP32 Ble

És possible utilitzar Bluethooth HID a l’ESP32 sense biblioteca externa, però l’usuari de Github T-Vk ha escrit una biblioteca anomenada ESP32-BLE-Keyboard que la fa més semblant a la biblioteca de teclats Arduino estàndard que fa que sigui molt més fàcil d’utilitzar.

Aquesta biblioteca no està disponible al gestor de la biblioteca, de manera que l'haureu de descarregar des de Github.

  • Aneu a la pàgina de llançaments del projecte i descarregueu la darrera versió ESP32-BLE-Keyboard.zip
  • Un cop descarregat, podeu afegir-lo al vostre IDE Arduino però aneu a Sketch -> Inclou biblioteca i, a continuació, Afegiu un zip a la biblioteca i seleccioneu ESP32-BLE-Keyboard.zip del pas anterior.

Pas 4: veure l'exemple

Mirant l'exemple
Mirant l'exemple
Mirant l'exemple
Mirant l'exemple
Mirant l'exemple
Mirant l'exemple

Un cop afegit, podem obrir l’exemple que s’acompanya. És un bon exemple, ja que demostra algunes coses diferents que podeu aconseguir amb la biblioteca, però també afegiré una mica més de detalls on crec que seria útil.

Podeu accedir a l’exemple anant a Fitxer -> Exemples -> Teclat ESP32 BLE -> SendKeyStrokes

Configuració d’una connexió Bluetooth

A la configuració comença la connexió Bluetooth, en aquesta fase hauria d'estar disponible per aparellar-la al dispositiu.

bleKeyboard.begin ();

Dins del bucle també comprova si està connectat a un dispositiu

bleKeyboard.isConnected ()

Escrivint

El primer que mostra l'exemple és com podeu escriure text un cop connectat, primer escrivint "Hello world" mitjançant

bleKeyboard.print ("Hola món");

Prem un sol botó

A continuació, es mostra com podeu "escriure" la tecla de retorn, bàsicament emulant una sola tecla prement aquest botó.

bleKeyboard.write (KEY_RETURN);

Podeu obrir el fitxer BleKeyboard.h de la biblioteca per veure totes les claus que es defineixen així. També podeu enviar caràcters ascii posant-los entre comes.

bleKeyboard.write ('A');

Claus multimèdia

També demostra com podeu enviar claus multimèdia; això és similar a com podeu controlar el volum o saltar pistes amb els auriculars Bluetooth. L'exemple mostra la tecla de reproducció / pausa, però de nou podeu obrir BleKeyboard.h per veure les altres opcions disponibles.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Prémer i deixar anar tecles

L'últim que ens mostra l'exemple és com podeu mantenir premudes les tecles, això és útil per crear teclats Macro. L'exemple que es mostra aquí és per a Ctrl + Alt + Supr

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

A continuació, crida releaseAll, que, com probablement es pot endevinar pel nom, allibera totes les tecles premudes.

bleKeyboard.releaseAll ();

També podeu alliberar claus específiques si ho desitgeu mitjançant l'ordre release amb la clau que voleu alliberar

bleKeyboard.release (KEY_DELETE);

Pas 5: altres consells per a la biblioteca

Altres consells per a la biblioteca
Altres consells per a la biblioteca
Altres consells per a la biblioteca
Altres consells per a la biblioteca
Altres consells per a la biblioteca
Altres consells per a la biblioteca

Vam tractar les funcions principals de la biblioteca al pas anterior, però aquí hi ha algunes coses addicionals que crec que poden ser útils saber

Utilitzeu un activador extern

Sempre és millor controlar un dispositiu HID com aquest mitjançant un activador extern, com prémer un botó. Si utilitzeu un temporitzador i alguna cosa no funciona, pot ser que resulti incòmode desconnectar. Imagineu haver d’intentar apagar el Bluetooth si accidentalment l’heu programat per prémer Ctrl + Alt + Supr cada 100 mS.

Canvi del nom del dispositiu

Per defecte, el nom del dispositiu apareixerà com a "Teclat ESP32 BLE", es pot canviar quan creeu una instància de la biblioteca. Podeu definir el nom del dispositiu, el fabricant i el nivell inicial de la bateria.

BleKeyboard bleKeyboard ("Nom del dispositiu Bluetooth", "Fabricant del dispositiu Bluetooth", 100);

Configuració del nivell de bateria (almenys no funciona per a mi)

La biblioteca afirma que també podeu configurar el nivell de bateria, però no em funcionava al meu PC amb Windows (es quedava amb el valor inicial que tenia) i el meu telèfon Android no mostrava el nivell de tot. Aquí teniu l’ordre per si us funciona

bleKeyboard.setBatteryLevel (50)

Compatibilitat de dispositius

Vaig córrer amb èxit, vaig executar l'exemple al meu PC amb Windows 10, al telèfon Android i al meu Mac (encara que d'alguna manera encara funciona amb Sierra).

També només es pot connectar a un dispositiu alhora.

Resolució de problemes de sincronització

Si teniu problemes per emparellar-vos, proveu de reiniciar l'ESP32 mentre el dispositiu està cercant. Una vegada també vaig haver d’encendre i apagar el bluetooth al meu PC per fer-lo sincronitzar.

Pas 6: el teclat macro

El teclat macro
El teclat macro
El teclat macro
El teclat macro
El teclat macro
El teclat macro
El teclat macro
El teclat macro

Ara que ja no tenim els conceptes bàsics, fem-ne alguna cosa pràctica.

En una guia anterior, vaig mostrar com fer el teclat Macro més senzill amb un teclat Arduino pro Micro i econòmic. Per a cada botó del teclat envia una combinació diferent de botó que es podria utilitzar per controlar les aplicacions, personalment l’utilitzo per a OBS, el programari que faig servir per gravar vídeos i per quan emet. Sembla un bon projecte per portar a través de l'ESP32 perquè puguem fer una versió sense fils.

Per a aquesta versió utilitzaré la placa TinyPICO ESP32 de Unexpected Maker. El motiu principal per escollir-lo és una placa molt eficient d’energia i que té els circuits necessaris per funcionar i carregar una bateria Lipo, de manera que tot el que he de fer és endollar una bateria.

Mentiré si el fet que tingui el mateix espaiat de files que el Pro Micro i pogués fer ús del tauler de ruptura ja fabricat que vaig fer anteriorment no fos també atractiu.

El teclat requereix 8 pins GPIO per funcionar i el TinyPICO té 8 pins GPIO seguits, de manera que els utilitzarem. Podeu connectar el teclat de forma senzilla al TinyPICO tal com es mostra a la imatge anterior.

Pas 7: Codi del teclat macro

Codi del teclat macro
Codi del teclat macro
Codi del teclat macro
Codi del teclat macro

El codi de l’esbós del teclat macro es pot trobar al meu Github.

A més de la biblioteca BleKeyboard que es va instal·lar en un pas anterior, també haureu d'instal·lar la biblioteca per al teclat. Podeu fer-ho obrint el gestor de biblioteca anant a Sketch -> Inclou biblioteca -> Gestiona biblioteques

Dins del gestor de la biblioteca, cerqueu el "teclat" i instal·leu el de Mark Stanley i Alexander Brevig

És possible que hàgiu de fer una configuració si utilitzeu un ESP32 diferent del TinyPICO que són els pins del teclat, es configuren a la matriu rowPins i colPins. Quan mireu la part frontal del teclat i comenceu per l'esquerra, els primers 4 pins són els pins de fila i els segons 4 són els pins de col.

Un cop fet això, pengeu el codi al tauler i hauríeu de provar que en aquesta fase funcioni.

Pas 8: Fem-ho sense fils

Fem-ho sense fils!
Fem-ho sense fils!
Fem-ho sense fils!
Fem-ho sense fils!
Fem-ho sense fils!
Fem-ho sense fils!
Fem-ho sense fils!
Fem-ho sense fils!

Com es va esmentar anteriorment, el TinyPICO té circuits integrats per manejar un Lipo integrat, de manera que tot el que hem de fer és connectar-lo. Ve amb connectors JST que es poden soldar a la part inferior, o bé podeu utilitzar els pins Bat i GND si voleu fer-ho mitjançant els pins.

Si utilitzeu els connectors JST, comproveu que la polaritat de la vostra bateria coincideixi amb la del TinyPICO, no hi ha cap norma per connectar-los, de manera que és probable que la vostra bateria no coincideixi.

Comproveu el voltatge de la bateria lipo abans d’utilitzar-la, una massa sana hauria de ser de 3V o superior, la bateria que he trobat amb el connector JST correcte llegia 0V.

Vaig acabar fent servir una cel·la 18650 en un suport i soldant-la al connector JST de la bateria esgotada.

El TinyPICO redueix el consum d’energia quan s’esgota la bateria en no alimentar cap dels seus LED, de manera que, fins i tot si no s’encén, esperem que ho sigui. Una futura millora del projecte pot ser impulsar el LED dotstar incorporat a l’inici només per fer-vos saber que realment s’ha encès i potser de nou quan es connecta. De moment podeu comprovar al menú Bluetooth dels vostres sistemes que estigui activat i connectat.

Pas 9: proveu-ho

Provant-ho!
Provant-ho!

Anem a provar-ho, si obro la part de tecles d'accés ràpid d'OBS, puc fer clic en diferents accions per enregistrar una combinació de botons que el controlarà, per això només podem fer clic al botó del nostre teclat i s'actualitzarà.

Després de fer clic a Aplica, no hauríeu de poder utilitzar el teclat per controlar la vostra escena a OBS.

Pas 10: gràcies per llegir

Tant de bo us sigui útil aquesta instrucció. M'encantaria conèixer què faríeu amb aquest tipus de configuració. Feu-m’ho saber als comentaris que hi ha a continuació o acompanyeu-me a un munt d’autors al meu servidor Discord, on podem parlar d’aquest tema o de qualsevol altre relacionat amb els fabricants que tingueu. fora

També m'agradaria donar un enorme agraïment als meus patrocinadors Github que m'ajuden a donar suport al que faig, realment ho agraeixo. Si no ho sabeu, Github coincideix amb patrocinis durant el primer any, de manera que si feu un patrocini coincidirà amb el 100% durant els propers mesos.

Gràcies per llegir!

Recomanat: