Logiciel pour enregistrer des configurations arduino nano

Bonjour,
j'aimerais créer un petit clavier mécanique avec 3 touches pour en faire des macros.
Pour cela j'utiliserais un arduino nano usb-c (modèle chinois, pas officiel) et j'aimerais savoir s'il était possible de développer un logiciel, par example en python (là ou je suis le plus à l'aise) afin de pouvoir modifier les actions des touches ainsi que la couleur des leds, leurs modes etc... sans uploader un nouveau firmware via l'IDE à chaque fois. J'ai lu qu'on pouvait utiliser la mémoire de l'arduino EEPROM mais existe-elle sur les modèles chinois ?
Sinon j'ai cru comprendre qu'on pouvait envoyer des informations via Serial sur l'arduino qu'il pourrait récuperer et utiliser mais j'aimerais avoir la confirmation que c'est possible et pourquoi pas quelques pistes, merci !

Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone".

Simplement en ecrivant :

Arduino Envoi données sur liaison serie

Dans le champ de recherche d’un navigateur on obtient nombres de réponses dont :
https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/744_la-communication-avec-arduino/3427_envoyer-et-recevoir-des-donnees-sur-la-voie-serie/

Ce n’est pas trop difficile.

Je ne pense pas que la nano soit le meilleur choix pour ça.
Elle ne peut pas être vue comme device HID sur l'USB ce qui impose de développer un driver coté PC.
A mon avis il serait beaucoup plus simple de partir sur des cartes ayant l'USB natif comme l'Arduino Micro voir même sur des cartes plus récentes Teensy, Raspery Pi Pico ces dernières peuvent faire tourner CircuitPython. Il y a pas mal d'exemples de MacroPad tournant avec CircuitPython. Les cartes récentes disposent de suffisamment de mémoire flash pour monter un système de fichier ce qui permet d'avoir plusieurs fichiers de macro que l'on peut modifier sans toucher au programme.
Un exemple que j'ai trouvé sur Github (parmi de nombreux autres) il y a un petit moment et dont je m'inspire pour m'en développer un. Il est très simple mais facile à faire évoluer.

Bonjour,
Après avoir réfléchi sur le sujet, j'ai repensé a utiliser un esp32 qui trainait dans un coin pour en faire un clavier bluetooth. Pour cela j'utilise la librairie BleKeyboard mais j'aimerais savoir s'il serait possible de communiquer par bluetooth pour configurer les touches, LEDs etcs en plus d'émuler le clavier ?

Bonsoir pylou

C'est assez facile à faire, tu peux créer ton propre langage de commandes, je peux te faire un exemple, si tu le désires, donnes moi quelques exemples d'actions à gérer.

Cordialement
jpbbricole

Oui c'est possible mais pas pendant que le clavier travaille avec la bibliothèque BleKeyboard telle qu'elle est écrite

Basculer le clavier entre 2 modes de fonctionnement
-mode 'clavier actif' avec BleKeyboard ,sur une configuration fixe
-mode 'configuration du clavier à partir de l'ordinateur' par exemple en liaison série émulée en BLE pour envoyer la nouvelle configuration

Pour configurer à volonté le clavier pendant son fonctionnement , faire comme cet exemple avec une petite interface IHM locale et non en BLE

Merci pour toutes vos réponses,
Comme il est difficile de changer la librairie BleKeyboard (car je ne suis vraiment pas un expert dans les protocoles, en c etc....) et que je veux que ce soit sans fils donc on exclu serial, et qu'on puisse le commander via un ordinateur et non pas par IHM pour optimiser la place, (je veux un truc le plus petit possible) est ce qu'il serait possible d’héberger une page sur l'esp32 connecter au wifi au préalable afin de pouvoir modifier ce qu'on le souhaite puis l'enregistrer dans l'EEPROM de l'esp32 et en plus d’héberger la page de simuler le clavier en simultané ?
Merci d'avance :).

j'ai proposé serial émulé en BLE, comme dans cet exemple
https://github.com/espressif/arduino-esp32/blob/master/libraries/BLE/examples/UART/UART.ino

existe en Bluetooth Classique avec le profile SPP ( Serial Port Profil)
https://github.com/espressif/arduino-esp32/tree/master/libraries/BluetoothSerial

est ce qu'il serait possible d’héberger une page sur l'esp32 connecter au wifi au préalable afin de pouvoir modifier ce qu'on le souhaite puis l'enregistrer dans l'EEPROM de l'esp32

oui sauf que l'ESP32 n'a pas d'EEPROM à proprement parler, mais on peut en émuler dans la mémoire FLASH

Peut être, c'est à expérimenter.
La coexistence BLE + WiFi fonctionne peut être maintenant avec ESP32 ?

Un exemple est fourni pour tester le basculement ou la coexistence du WiFi et du Bluetooth Classique (pas le BLE)
https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiBlueToothSwitch/WiFiBlueToothSwitch.ino
.

Après quelques recherches, apparemment le BLE et le wifi marche en simultanés mais très lentement (ce qui ne marche pas pour un clavier...), donc deux solutions: soit on switch entre le BLE et la page Wifi grâce a par exemple une combinaison de touche, soit de switch entre le BLE clavier et le BLE serial avec une combinaison de touches également. J'aimerais votre avis sur ce qui est le plus judicieux, l'option de switch entre le BLE et le Wifi me semble le plus simple (à développer pas forcément le plus pratique).
Merci de me répondre aussi pertinemment et rapidement :).

le basculement BLE / WiFi permet d'utiliser le navigateur préféré sur l'ordinateur/smartphone pour reconfigurer le clavier BLE...... et ceci à l'aide d'une belle page web :wink: (développement 100% ESP32 Arduino)

l'émulation série sur BLE pour reconfigurer le clavier HID BLE nécessirerait un développement spécifique côté ordinateur/smartphone pour proposer un écran de configuration :neutral_face:

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.