Table des matières:

Clavier macro Bluetooth DIY : 10 étapes (avec photos)
Clavier macro Bluetooth DIY : 10 étapes (avec photos)

Vidéo: Clavier macro Bluetooth DIY : 10 étapes (avec photos)

Vidéo: Clavier macro Bluetooth DIY : 10 étapes (avec photos)
Vidéo: M1 iPad Pro Setup 2024, Juillet
Anonim
Clavier macro Bluetooth bricolage
Clavier macro Bluetooth bricolage

Dans ce Instructable, nous allons examiner l'utilisation du Bluetooth intégré de l'ESP32 pour émuler un clavier Bluetooth.

Bluetooth HID (Human Interface Device) est le protocole utilisé par les claviers et souris Bluetooth classiques et il est possible de l'émuler avec juste un ESP32, ce qui est génial !

Avec certaines cartes de développement ESP32 à partir de moins de 5 $ * livrées, il s'agit d'un moyen vraiment peu coûteux et simple de créer des claviers personnalisés sans fil tels que les claviers Macro. Les claviers macro peuvent être utilisés pour contrôler diverses applications telles que les éditeurs vidéo ou Photoshop. Personnellement, j'utilise le mien pour contrôler des scènes dans OBS lorsque je crée des vidéos ou que je diffuse.

Nous verrons d'abord comment utiliser la bibliothèque de clavier ESP32 HID, puis je vous montrerai comment je l'ai utilisé pour créer un clavier macro Bluetooth alimenté par batterie.

Fournitures

  • Carte de développement TinyPICO ESP32 (Tout ESP32 peut fonctionner)
  • Clavier matriciel 4*4*

Vous aurez également besoin d'une batterie lipo, j'en ai juste utilisé une au hasard que j'avais donc je ne peux pas m'y lier !

Si votre PC n'a pas de Bluetooth, vous pouvez utiliser un dongle comme celui-ci:

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Affilié

Étape 1: Regardez la vidéo

Image
Image

J'ai fait une vidéo qui couvre la même chose que ce Instructable, donc si vous êtes intéressé, s'il vous plaît vérifier ! Je fais aussi régulièrement des vidéos autour des projets ESP8266 et ESP32 alors peut-être qu'il y a d'autres vidéos sur ma chaîne que vous pourriez trouver intéressantes !

Étape 2: [Facultatif] Premiers pas avec un ESP32

Les ESP32 sont des microcontrôleurs compatibles avec l'IDE Arduino et livrés avec WiFi et Bluetooth inclus. Ils sont également assez bon marché, ce sont donc des puces très utiles pour vos projets.

Vous devrez ajouter la définition de la carte ESP32 à votre IDE Arduino. Pour cela, vous pouvez suivre les étapes répertoriées sur la page Github des projets ESP32 Arduino.

Étape 3: Installation de la bibliothèque de clavier ESP32 Ble

Installation de la bibliothèque de clavier ESP32 Ble
Installation de la bibliothèque de clavier ESP32 Ble
Installation de la bibliothèque de clavier ESP32 Ble
Installation de la bibliothèque de clavier ESP32 Ble

Il est possible d'utiliser Bluethooth HID sur l'ESP32 sans bibliothèque externe, mais l'utilisateur de Github T-Vk a écrit une bibliothèque appelée ESP32-BLE-Keyboard qui la rapproche davantage de la bibliothèque de clavier Arduino standard, ce qui la rend beaucoup plus facile à utiliser.

Cette bibliothèque n'est pas disponible sur le gestionnaire de bibliothèque, vous devrez donc la télécharger depuis Github.

  • Allez sur la page des versions des projets et téléchargez le dernier ESP32-BLE-Keyboard.zip
  • Une fois téléchargé, vous pouvez l'ajouter à votre IDE Arduino mais en allant dans Sketch -> Inclure la bibliothèque, puis Ajouter un zip à la bibliothèque et sélectionner le ESP32-BLE-Keyboard.zip de l'étape précédente.

Étape 4: Examen de l'exemple

En regardant l'exemple
En regardant l'exemple
En regardant l'exemple
En regardant l'exemple
En regardant l'exemple
En regardant l'exemple

Une fois que cela est ajouté, nous pouvons ouvrir l'exemple qui l'accompagne. C'est un très bel exemple car il montre différentes choses que vous pouvez réaliser avec la bibliothèque, mais j'ajouterai également un peu plus de détails là où je pense que ce serait utile.

Vous pouvez accéder à l'exemple en allant dans Fichier -> Exemples -> Clavier ESP32 BLE -> SendKeyStrokes

Configuration d'une connexion Bluetooth

Dans la configuration, il commence la connexion Bluetooth, à ce stade, il devrait être disponible pour l'appairage sur votre appareil.

bleKeyboard.begin();

À l'intérieur de la boucle, il vérifie également s'il est connecté à un appareil

bleKeyboard.isConnected()

Dactylographie

La première chose que l'exemple montre est comment vous pouvez taper du texte une fois qu'il est connecté, il tapera d'abord "Hello world" en utilisant

bleKeyboard.print("Bonjour tout le monde");

Appuyez sur un seul bouton

Il montre ensuite comment vous pouvez «écrire» la touche de retour, il s'agit essentiellement d'émuler une seule pression sur ce bouton.

bleKeyboard.write(KEY_RETURN);

Vous pouvez ouvrir le fichier BleKeyboard.h de la bibliothèque pour voir toutes les clés définies comme ceci. Vous pouvez également envoyer des caractères ASCII en les mettant entre des virgules simples.

bleKeyboard.write('A');

Clés multimédias

Il montre également comment vous pouvez envoyer des clés multimédias, de la même manière que vous pouvez contrôler le volume ou sauter des pistes avec vos écouteurs Bluetooth. L'exemple montre la touche lecture/pause, mais encore une fois, vous pouvez ouvrir BleKeyboard.h pour voir les autres options disponibles.

bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);

Appuyer et relâcher les touches

La dernière chose que l'exemple nous montre est comment vous pouvez appuyer et maintenir les touches, ceci est utile pour créer des claviers Macro. L'exemple montré ici est pour Ctrl + Alt + Suppr

bleKeyboard.press(KEY_LEFT_CTRL);

bleKeyboard.press(KEY_LEFT_ALT);

bleKeyboard.press(KEY_DELETE);

Il appelle ensuite releaseAll, qui, comme vous pouvez probablement le deviner par son nom, libère toutes les touches enfoncées.

bleKeyboard.releaseAll();

Vous pouvez également libérer des clés spécifiques si vous le souhaitez soit en utilisant la commande de libération avec la clé que vous souhaitez libérer

bleKeyboard.release(KEY_DELETE);

Étape 5: Autres conseils pour la bibliothèque

Autres conseils pour la bibliothèque
Autres conseils pour la bibliothèque
Autres conseils pour la bibliothèque
Autres conseils pour la bibliothèque
Autres conseils pour la bibliothèque
Autres conseils pour la bibliothèque

Nous avons couvert les principales fonctionnalités de la bibliothèque à l'étape précédente, mais voici quelques éléments supplémentaires qui, à mon avis, pourraient être utiles à savoir

Utiliser un déclencheur externe

Il est toujours préférable de contrôler un appareil HID comme celui-ci à l'aide d'un déclencheur externe tel qu'une pression sur un bouton. Si vous utilisez une minuterie et que quelque chose ne va pas, il peut être difficile de se déconnecter. Imaginez devoir essayer d'éteindre votre Bluetooth si vous l'avez accidentellement programmé pour appuyer sur Ctrl+Alt+Suppr toutes les 100 ms !

Modification du nom de l'appareil

Par défaut, le nom de l'appareil s'affichera sous la forme « Clavier ESP32 BLE », cela peut être modifié lorsque vous créez une instance de la bibliothèque. Vous pouvez définir le nom de l'appareil, le fabricant et le niveau initial de la batterie.

BleKeyboard bleKeyboard ("Nom du périphérique Bluetooth", "Fabricant du périphérique Bluetooth", 100);

Réglage du niveau de batterie (ne fonctionne pas pour moi du moins)

La bibliothèque prétend que vous pouvez également définir le niveau de la batterie, mais cela n'a pas fonctionné pour moi sur mon PC Windows (il est resté quelle que soit la valeur initiale) et mon téléphone Android n'a pas affiché le niveau de tout. Voici la commande pour cela au cas où cela fonctionnerait pour vous

bleKeyboard.setBatteryLevel(50)

Compatibilité des appareils

J'ai exécuté avec succès l'exemple sur mon PC Windows 10, mon téléphone Android et mon Mac (bien qu'il exécute toujours Sierra d'une manière ou d'une autre !)

Il ne peut également être connecté qu'à un seul appareil à la fois.

Dépannage du jumelage

Si vous rencontrez des problèmes d'appairage, essayez de redémarrer l'ESP32 pendant que votre appareil recherche. Une fois, j'ai également dû allumer et éteindre mon Bluetooth sur mon PC pour le coupler.

Étape 6: Le clavier macro

Le clavier macro
Le clavier macro
Le clavier macro
Le clavier macro
Le clavier macro
Le clavier macro
Le clavier macro
Le clavier macro

Maintenant que nous avons les bases, faisons-en quelque chose de pratique !

Dans un guide précédent, j'ai montré comment créer le clavier macro le plus simple à partir d'un Arduino pro Micro et d'un clavier bon marché. Pour chaque bouton du clavier, il envoie une combinaison différente de boutons qui pourraient être utilisés pour contrôler des applications, personnellement je l'utilise pour OBS, le logiciel que j'utilise pour enregistrer des vidéos et pour quand je diffuse. Cela semble être un bon projet de portage sur l'ESP32 afin que nous puissions créer une version sans fil.

Pour cette version, je vais utiliser la carte TinyPICO ESP32 d'Unexpected Maker. La principale raison pour laquelle je l'ai choisie est une carte très économe en énergie et possède un circuit intégré pour charger et charger une batterie Lipo, donc tout ce que j'ai à faire est de brancher une batterie.

Je mentirais si le fait qu'il ait le même espacement de rangées que le Pro Micro et que je puisse utiliser le panneau de dérivation déjà fabriqué que j'ai fait précédemment n'était pas aussi attrayant !

Le clavier nécessite 8 broches GPIO pour fonctionner, et le TinyPICO a 8 broches GPIO d'affilée, nous les utiliserons donc. Vous pouvez simplement connecter le clavier au TinyPICO comme indiqué dans l'image ci-dessus.

Étape 7: Code pour le clavier macro

Code pour le clavier macro
Code pour le clavier macro
Code pour le clavier macro
Code pour le clavier macro

Le code du croquis du clavier macro se trouve sur mon Github.

En plus de la bibliothèque BleKeyboard qui a été installée à une étape précédente, vous devrez également installer la bibliothèque pour le clavier, vous pouvez le faire en ouvrant le gestionnaire de bibliothèque en allant dans Sketch -> Inclure la bibliothèque -> Gérer les bibliothèques

Dans le gestionnaire de bibliothèque, recherchez "clavier" et installez celui de Mark Stanley et Alexander Brevig

Une configuration que vous devrez peut-être faire si vous utilisez un ESP32 différent de celui du TinyPICO est les broches du clavier, elles sont définies dans le tableau rowPins et colPins. En regardant l'avant du clavier et en partant de la gauche, les 4 premières broches sont les broches de rangée et les 4 secondes sont les broches de col.

Une fois cela fait, téléchargez le code sur le tableau et vous devriez tester à ce stade qu'il fonctionne.

Étape 8: Faisons-le sans fil

Faisons-le sans fil !
Faisons-le sans fil !
Faisons-le sans fil !
Faisons-le sans fil !
Faisons-le sans fil !
Faisons-le sans fil !
Faisons-le sans fil !
Faisons-le sans fil !

Comme mentionné précédemment, le TinyPICO dispose de circuits intégrés pour gérer une Lipo, il nous suffit donc de la connecter. Il est livré avec des connecteurs JST qui peuvent être soudés en bas, ou vous pouvez utiliser les broches Bat et GND si vous souhaitez le faire via les broches.

Si vous utilisez les connecteurs JST, veuillez vérifier que la polarité de votre batterie correspond au TinyPICO, il n'y a pas de norme sur la façon dont ils doivent être câblés, il y a donc de fortes chances que votre batterie ne corresponde pas.

Vérifiez la tension de votre batterie lipo avant de l'utiliser, une batterie saine doit être de 3V ou plus, la batterie que j'ai trouvée avec le bon connecteur JST lisait 0V !

J'ai fini par utiliser une cellule 18650 dans un support et la souder au connecteur JST de la batterie morte.

Le TinyPICO réduit sa consommation d'énergie lorsqu'il fonctionne sur batterie en n'alimentant aucune de ses LED, donc même s'il ne s'allume pas, j'espère qu'il l'est ! Une amélioration future du projet pourrait consister à faire clignoter la LED dotstar intégrée au démarrage juste pour vous faire savoir qu'elle est réellement allumée et peut-être à nouveau lorsqu'elle se connecte. Pour l'instant, vous pouvez vérifier dans le menu Bluetooth de votre système qu'il est activé et connecté correctement.

Étape 9: Testez-le

Testez-le !
Testez-le !

Testons-le, si j'ouvre la partie raccourcis clavier d'OBS, je peux cliquer sur différentes actions pour enregistrer une combinaison de boutons qui le contrôlera. Pour cela, nous pouvons simplement cliquer sur le bouton de notre clavier et il sera mis à jour.

Après avoir cliqué sur Appliquer, vous ne devriez pas pouvoir utiliser votre clavier pour contrôler votre scène dans OBS.

Étape 10: Merci d'avoir lu

J'espère que vous avez trouvé ce Instructable utile. J'aimerais savoir ce que vous feriez avec ce type de configuration. S'il vous plaît laissez-moi savoir dans les commentaires ci-dessous, ou rejoignez-moi et un tas d'autres créateurs sur mon serveur Discord, où nous pouvons discuter de ce sujet ou de tout autre créateur lié à vous, les gens sont vraiment utiles là-bas, donc c'est un endroit idéal pour s'accrocher dehors

Je tiens également à remercier chaleureusement mes sponsors Github qui m'aident à soutenir ce que je fais, je l'apprécie vraiment. Si vous ne le savez pas, Github fait correspondre les parrainages pour la première année, donc si vous faites un parrainage, ils le feront à 100% pour les prochains mois.

Merci d'avoir lu!

Conseillé: