Différences entre versions de « Projets:Accessibilite Arduino »
Ligne 135 : | Ligne 135 : | ||
Cet article présente de manière non exhaustive des solutions plus ou moins complexes permettant à des personnes malvoyantes de pouvoir palier au manque d’accessibilité de l'''IDE Arduino''. N'hésitez pas à contribuer à cette documentation en nous faisant part de vos solutions pour utiliser ''Arduino''. | Cet article présente de manière non exhaustive des solutions plus ou moins complexes permettant à des personnes malvoyantes de pouvoir palier au manque d’accessibilité de l'''IDE Arduino''. N'hésitez pas à contribuer à cette documentation en nous faisant part de vos solutions pour utiliser ''Arduino''. | ||
+ | |||
+ | == VI annexes == | ||
=== pistes de développement pour rendre accessibles aux malvoyants : === | === pistes de développement pour rendre accessibles aux malvoyants : === | ||
Ligne 151 : | Ligne 153 : | ||
* [https://www.nvda-fr.org/ NVDA] : NonVisual desktop Access (NVDA) est une revue d'écran gratuite et opensource pour le système d'exploitation Microsoft Windows. | * [https://www.nvda-fr.org/ NVDA] : NonVisual desktop Access (NVDA) est une revue d'écran gratuite et opensource pour le système d'exploitation Microsoft Windows. | ||
* [https://www.eclipse.org/ Eclipse] est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, de la fondation Eclipse visant à développer un environnement de production de logiciels libre qui soit extensible, universel et polyvalent, en s'appuyant principalement sur Java. | * [https://www.eclipse.org/ Eclipse] est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, de la fondation Eclipse visant à développer un environnement de production de logiciels libre qui soit extensible, universel et polyvalent, en s'appuyant principalement sur Java. | ||
+ | |||
+ | === quelques raccourcis Eclipse utiles === | ||
+ | |||
+ | {| | ||
+ | !align="center" width="16%"| raccourci | ||
+ | !width="15%"| commande | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Shift</code> + <code>Q</code>, <code>S</code> | ||
+ | | vue problème | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Shift</code> + <code>Q</code>, <code>O</code> | ||
+ | | quick outline | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Shift</code> + <code>Q</code>, <code>Q</code> | ||
+ | | quickview sous forme de liste | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Shift</code> + <code>W</code>, <code>O</code> | ||
+ | | ouvre outline, structure de résumé | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Shift</code> + <code>W</code>, <code>Q</code> | ||
+ | | affiche une liste de que ce l'on peut ouvrir. liste filtrable | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Shift</code> + <code>W</code>, <code>P</code> | ||
+ | | affiche le package explorer (pas commode a utiliser) | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Flèche Haut</code> | ||
+ | | déplacement d'une ligne vers le haut | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Flèche Bas</code> | ||
+ | | déplacement d'une ligne vers le bas | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Flèche Gauche</code> | ||
+ | | remonter à l'affichage précédent | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>Flèche Droite</code> | ||
+ | | revenir à l'affichage précédent | ||
+ | |- | ||
+ | |align="center"| <code>Tab</code> | ||
+ | | indenter le bloc sélection | ||
+ | |- | ||
+ | |align="center"| <code>Ctrl</code> + <code>F6</code> | ||
+ | | switch editor : permet de passer d'un onglet d'édition à un autre | ||
+ | |- | ||
+ | |align="center"| <code>Ctrl</code> + <code>F7</code> | ||
+ | | switch vuecontrole | ||
+ | |- | ||
+ | |align="center"| <code>Ctrl</code> + <code>F8</code> | ||
+ | | switch perspective | ||
+ | |- | ||
+ | |align="center"| <code>F3</code> | ||
+ | | Poser le curseur sur le nom d'un module ou d'un identifiant quelconque, presser la touche <code>F3</code> pour arriver sur son identifiant / sa définition. On peut pratiquer ainsi de module en module et projet en projet ou bien en local. Le fil d'ariane est conservé. | ||
+ | |- | ||
+ | |align="center"| <code>F12</code> | ||
+ | | aller dans la fenêtre de l'éditeur | ||
+ | |- | ||
+ | |align="center"| <code>Ctrl</code> + <code>P</code> | ||
+ | | aller dans l'explorateur de fichiers d'ECLIPSE | ||
+ | |- | ||
+ | |align="center"| <code>Alt</code> + <code>-</code> | ||
+ | | ouvre le menu contextuel de la vue en cours permet par exemple de fermer tous les onglets autre que celui du code en cours de travail | ||
+ | |- | ||
+ | |align="center"| <code>Ctrl</code> + <code>D</code> | ||
+ | | supprime la ligne en cours | ||
+ | |- | ||
+ | |align="center"| <code>Shift</code> + <code>Tab</code> | ||
+ | | désindenter le bloc sélection | ||
+ | |- | ||
+ | |align="center"| <code>Ctrl</code> + <code>Espace</code> | ||
+ | | à utiliser dans la fenêtre d’édition, lorsque l'on tape du code avec le nom d'un module, si le sous-menu de proposition de méthode ne s'ouvre pas | ||
+ | |- | ||
+ | |align="center"| <code>Tab</code> | ||
+ | | rentrer dans le sous-menu | ||
+ | |} |
Version actuelle datée du 16 janvier 2020 à 10:17
Accessibilité Arduino
I. introduction
le constat
L'IDE Arduino est complètement inaccessible pour les malvoyants. Il est très difficile de personnaliser l'affichage (le contraste par exemple) et cet IDE ne respecte pas les standards qui permettent à des outils de transcription vocale (tels que NVDA) de rendre accessible l'utilisation de Arduino aux malvoyants.
L'objet de cette article est d'explorer des pistes de solution pour rendre accessible aux malvoyants l'écriture, le débogage et le téléversement de scripts Arduino.
cahier des charges
Afin de réduire le champs de nos investigations et de réutiliser au maximum des outils et un environnement familier, nous nous sommes fixés quelques contraintes :
- utiliser le système d'exploitation Windows ;
- utiliser l'éditeur texte Notepad++ ou l'IDE Eclipse ;
- utiliser le lecteur d'écran NVDA.
II. premier test : Arduino-Makefile
Arduino-Makefile est un ensemble de commandes qui permettent l’interaction avec Arduino directement en ligne de commande.
avec Ubuntu
Avant de se lancer dans le test de cet outil sur Windows, nous prenons dix minutes pour le tester dans un environnement GNU/Linux Ubuntu.
installation
Il suffit d'installer les paquets arduino-mk
et python-serial
.
utilisation : Make it blink!
Placer dans chaque projet Arduino un fichier Makefile
contenant au minimum :
BOARD_TAG = uno include /usr/share/arduino/Arduino.mk
Dans un terminal, lancer la commande make
pour compiler le sketch du projet et la commande make upload
pour téléverser le programme compilé vers la carte Arduino.
avec Windows
installation de Cygwin et des paquets nécessaires
Installer Cygwin. Durant l'installation, sélectionner les librairies make
, perl
, python2
, python27-pip
(et screen
).
Note: se faire aider de préférence par un voyant pour l'installation de Cygwin
, car l'IHM n'est pas très accessible !
installation de pySerial
Lancer Cygwin en tant qu'administrateur. Dans le terminal qui s'affiche, lancer la commande pip2 install pyserial
.
installation de Arduino-Makefile
Télécharger une archive zip de Arduino-Makefile depuis Github. Décompresser cette archive dans le dossier /home/$
de l'utilisateur dans l'arborescence de Cygwin et le renomer en supprimant -master
Exemple : Nous décompressons l'archive Arduino-Makefile-master.zip
dans le dossier C:\cygwin\home\Francois
depuis l'explorateur Windows. Puis nous renommons le dossier C:\cygwin\home\Francois\Arduino-Makefile-master
en C:\cygwin\home\Francois\Arduino-Makefile
.
Remarque : le dossier C:\cygwin
sous Windows est nommé /
dans Cygwin. Ainsi, le dossier C:\cygwin\home\Francois\Arduino-Makefile
est accessible depuis le terminal Cygwin :
$ cd /home/Francois/Arduino-Makefile
lier l'executable Arduino sous Windows et Cygwin
On considère que l'IDE Arduino est déjà installé.
Pour résoudre le problème des caractères spéciaux dans les chemins, dans Windows, lancer C:\Windows\System32\cmd.exe
en tant qu'administrateur, puis lancer la commande :
mklink /d C:\Arduino "C:\Program Files (x86)\Arduino"
utilisation
Dans chaque projet arduino, placer un fichier nommé Makefile
(sans extensions) contenant :
BOARD_TAG=uno ARDUINO_DIR=C:/Arduino MONITOR_PORT="com4" ARCHITECTURE=avr include /home/Francois/Arduino-Makefile/Arduino.mk
Dans le fichier précédent, remplacer Francois
par l'utilisateur correspondant à votre configuration.
Dans l'explorateur Cygwin, se placer dans le dossier du projet Arduino, par exemple :
$ cd /home/Francois/Arduino/blink/
et lancer la commande make
pour compiler le sketch du projet ou la commande make upload
pour compiler et téléverser le programme compilé vers la carte Arduino.
Remarque : le port com4
sous Windows apparait comme le device /dev/ttyS3
sous Cygwin.
Remarque : pour connaître le numéro du port com sous Windows : - Faire un clic droit sur Ce PC
sur le bureau, aller dans Gérer
. - Une fenètre s'ouvre. - Dans l'onglet vertical gauche, aller sous : Gestion de l'ordinateur (local)
/ Outils système
/ Gestionnaire de périphériques
. - Dans l'arborescence de la partie droite, aller sur Ports (COM et LPT)
. - Le port com de l'Arduino doit apparaître dans la liste affichée à l'écran (dans la partie droite de cette même fenêtre).
améliorations à prévoir
- Écrire un
Makefile
avec en commentaires l'ensemble des options possibles et leur explication en français. - Conception d'une IHM avec
wxpython
pour remplacer les opérations en ligne de commande. - Créer un lien symbolique depuis le répertoire contenant les projets Arduino (sous Windowns) vers
/home/Francois/arduino
(sous Cygwin).
liens et ressources
- Compiling Arduino sketches using Makefile.
- Arduino from the command line
- The Arduino build workflow using Arduino-Makefile
- Arduino Hello World without IDE ;
III. 2ème test : Notepad++
Le principe de ce deuxième test est d'utiliser l'éditeur Notepad++
pour écrire un sketch Arduino en disposant de scripts permettant la compilation et le téléversement vers Arduino sans utiliser l'IDE Arduino.
Pour cela, on utilise NppExec qui est un plugin qui ajoute à l'éditeur Notepad++ une console permettant d’exécuter des programmes directement ou de lancer des scripts préenregistrés.
ATTENTION : remplacer les scripts suivants par ceux modifiés sur le pc de François !
ArduinoSetPort-nppexec.txt
set arduino_path = c:\arduino\arduino_debug inputbox "Please enter the COM port of your Arduino (e.g., com5):" cmd /c "$(arduino_path)" --port $(input) npp_console 0 //hide the console
ArduinoUpload-nppexec.txt
set arduino_output = "c:\temp\arduino messages.txt" set arduino_path = c:\arduino\arduino_debug npp_save cmd /c "$(arduino_path)" --upload $(full_current_path)
liens et ressources
- How to Compile and Upload Arduino Sketches with Notepad++, Simple, Convenient, Accessible sur le site Blind Arduino Blog
IV. 3ème solution : Sloeber
Sloeber propose un bundle (un ensemble de logiciels contenus dans un seul paquet) incluant notamment Eclipse CDT
et Arduino eclipse IDE
. Sloeber permet, en une seule installation, de disposer d'un environnement de développement complet pour Arduino. Étant basée sur Eclipse CDT
, cette solution est parfaitement compatible avec NVDA.
Remarque : Eclipse
est une solution très (trop ?) complète qui permet de développer des programmes dans de nombreux langages de programmation. Prendre en main Eclipse
peut sembler fastidieux mais permettra à l'utilisateur de disposer d'un environnement de programmation accessible non seulement pour Arduino mais aussi pour Python, C++, Java, etc.
liens et ressources
V. conclusion
Cet article présente de manière non exhaustive des solutions plus ou moins complexes permettant à des personnes malvoyantes de pouvoir palier au manque d’accessibilité de l'IDE Arduino. N'hésitez pas à contribuer à cette documentation en nous faisant part de vos solutions pour utiliser Arduino.
VI annexes
pistes de développement pour rendre accessibles aux malvoyants :
- les outils de développement logiciel orientés python
- la carte de prototypage Arduino Uno (concevoir un shield braille par exemple)
- Aduino Web Editor
- rédiger une page dédiée à Eclipse et notamment aux raccourcis clavier.
liens utiles
- Arduino-Makefile : A Makefile for Arduino Sketches.
- NppExec : plugin pour Notepad++.
- Notepad++ : éditeur de texte pour Windows.
- AccessDV Linux : distribution GNU/Linux pour proposant un ensemble d'outils adaptés pour les malvoyants.
- NVDA : NonVisual desktop Access (NVDA) est une revue d'écran gratuite et opensource pour le système d'exploitation Microsoft Windows.
- Eclipse est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, de la fondation Eclipse visant à développer un environnement de production de logiciels libre qui soit extensible, universel et polyvalent, en s'appuyant principalement sur Java.
quelques raccourcis Eclipse utiles
raccourci | commande |
---|---|
Alt + Shift + Q , S
|
vue problème |
Alt + Shift + Q , O
|
quick outline |
Alt + Shift + Q , Q
|
quickview sous forme de liste |
Alt + Shift + W , O
|
ouvre outline, structure de résumé |
Alt + Shift + W , Q
|
affiche une liste de que ce l'on peut ouvrir. liste filtrable |
Alt + Shift + W , P
|
affiche le package explorer (pas commode a utiliser) |
Alt + Flèche Haut
|
déplacement d'une ligne vers le haut |
Alt + Flèche Bas
|
déplacement d'une ligne vers le bas |
Alt + Flèche Gauche
|
remonter à l'affichage précédent |
Alt + Flèche Droite
|
revenir à l'affichage précédent |
Tab
|
indenter le bloc sélection |
Ctrl + F6
|
switch editor : permet de passer d'un onglet d'édition à un autre |
Ctrl + F7
|
switch vuecontrole |
Ctrl + F8
|
switch perspective |
F3
|
Poser le curseur sur le nom d'un module ou d'un identifiant quelconque, presser la touche F3 pour arriver sur son identifiant / sa définition. On peut pratiquer ainsi de module en module et projet en projet ou bien en local. Le fil d'ariane est conservé.
|
F12
|
aller dans la fenêtre de l'éditeur |
Ctrl + P
|
aller dans l'explorateur de fichiers d'ECLIPSE |
Alt + -
|
ouvre le menu contextuel de la vue en cours permet par exemple de fermer tous les onglets autre que celui du code en cours de travail |
Ctrl + D
|
supprime la ligne en cours |
Shift + Tab
|
désindenter le bloc sélection |
Ctrl + Espace
|
à utiliser dans la fenêtre d’édition, lorsque l'on tape du code avec le nom d'un module, si le sous-menu de proposition de méthode ne s'ouvre pas |
Tab
|
rentrer dans le sous-menu |