Différences entre versions de « Projets:Accessibilite Arduino »
(Created page with "{{subst:Projet}}") |
|||
Ligne 1 : | Ligne 1 : | ||
− | = | + | = 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 == |
− | + | [https://github.com/sudar/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 <code>arduino-mk</code> et <code>python-serial</code>. | ||
− | [[ | + | ==== utilisation : Make it blink! ==== |
+ | |||
+ | Placer dans chaque projet Arduino un fichier <code>Makefile</code> contenant au minimum : | ||
+ | |||
+ | <pre>BOARD_TAG = uno | ||
+ | include /usr/share/arduino/Arduino.mk</pre> | ||
+ | Dans un terminal, lancer la commande <code>make</code> pour compiler le sketch du projet et la commande <code>make upload</code> pour téléverser le programme compilé vers la carte Arduino. | ||
+ | |||
+ | === avec Windows === | ||
+ | |||
+ | ==== installation de Cygwin et des paquets nécessaires ==== | ||
+ | |||
+ | Installer [https://cygwin.com/install.html Cygwin]. Durant l'installation, sélectionner les librairies <code>make</code>, <code>perl</code>, <code>python2</code>, <code>python27-pip</code> (et <code>screen</code>). | ||
+ | |||
+ | Note: se faire aider de préférence par un voyant pour l'installation de <code>Cygwin</code>, 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 <code>pip2 install pyserial</code>. | ||
+ | |||
+ | ==== installation de Arduino-Makefile ==== | ||
+ | |||
+ | Télécharger une [https://github.com/sudar/Arduino-Makefile/archive/master.zip archive zip de Arduino-Makefile] depuis Github. Décompresser cette archive dans le dossier <code>/home/$</code> de l'utilisateur dans l'arborescence de ''Cygwin'' et le renomer en supprimant <code>-master</code> | ||
+ | |||
+ | Exemple : Nous décompressons l'archive <code>Arduino-Makefile-master.zip</code> dans le dossier <code>C:\cygwin\home\Francois</code> depuis l'explorateur Windows. Puis nous renommons le dossier <code>C:\cygwin\home\Francois\Arduino-Makefile-master</code> en <code>C:\cygwin\home\Francois\Arduino-Makefile</code>. | ||
+ | |||
+ | Remarque : le dossier <code>C:\cygwin</code> sous ''Windows'' est nommé <code>/</code> dans ''Cygwin''. Ainsi, le dossier <code>C:\cygwin\home\Francois\Arduino-Makefile</code> est accessible depuis le terminal Cygwin : | ||
+ | |||
+ | <pre>$ cd /home/Francois/Arduino-Makefile</pre> | ||
+ | ==== lier l'executable Arduino sous Windows et Cygwin ==== | ||
+ | |||
+ | On considère que l'[https://www.arduino.cc/en/Main/Software IDE Arduino] est déjà installé. | ||
+ | |||
+ | Pour résoudre le problème des caractères spéciaux dans les chemins, dans Windows, lancer <code>C:\Windows\System32\cmd.exe</code> en tant qu'administrateur, puis lancer la commande : | ||
+ | |||
+ | <pre>mklink /d C:\Arduino "C:\Program Files (x86)\Arduino"</pre> | ||
+ | ==== utilisation ==== | ||
+ | |||
+ | Dans chaque projet arduino, placer un fichier nommé <code>Makefile</code> (sans extensions) contenant : | ||
+ | |||
+ | <pre>BOARD_TAG=uno | ||
+ | ARDUINO_DIR=C:/Arduino | ||
+ | MONITOR_PORT="com4" | ||
+ | ARCHITECTURE=avr | ||
+ | include /home/Francois/Arduino-Makefile/Arduino.mk</pre> | ||
+ | Dans le fichier précédent, remplacer <code>Francois</code> par l'utilisateur correspondant à votre configuration. | ||
+ | |||
+ | Dans l'explorateur ''Cygwin'', se placer dans le dossier du projet Arduino, par exemple : | ||
+ | |||
+ | <pre>$ cd /home/Francois/Arduino/blink/</pre> | ||
+ | et lancer la commande <code>make</code> pour compiler le sketch du projet ou la commande <code>make upload</code> pour compiler et téléverser le programme compilé vers la carte Arduino. | ||
+ | |||
+ | Remarque : le port <code>com4</code> sous Windows apparait comme le device <code>/dev/ttyS3</code> sous Cygwin. | ||
+ | |||
+ | Remarque : pour connaître le numéro du port com sous Windows : - Faire un clic droit sur <code>Ce PC</code> sur le bureau, aller dans <code>Gérer</code>. - Une fenètre s'ouvre. - Dans l'onglet vertical gauche, aller sous : <code>Gestion de l'ordinateur (local)</code> / <code>Outils système</code> / <code>Gestionnaire de périphériques</code>. - Dans l'arborescence de la partie droite, aller sur <code>Ports (COM et LPT)</code>. - 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 <code>Makefile</code> avec en commentaires l'ensemble des options possibles et leur explication en français. | ||
+ | * Conception d'une IHM avec <code>wxpython</code> 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 <code>/home/Francois/arduino</code> (sous Cygwin). | ||
+ | |||
+ | === liens et ressources === | ||
+ | |||
+ | * [https://hardwarefun.com/tutorials/compiling-arduino-sketches-using-makefile Compiling Arduino sketches using Makefile]. | ||
+ | * [https://mjoldfield.com/atelier/2009/02/arduino-cli.html Arduino from the command line] | ||
+ | * [http://www.mertl-research.at/ceonwiki/doku.php?id=coding:arduino:devenv_build_process The Arduino build workflow using Arduino-Makefile] | ||
+ | * [https://www.florentflament.com/blog/arduino-hello-world-without-ide.html Arduino Hello World without IDE] ; | ||
+ | |||
+ | == III. 2ème test : Notepad++ == | ||
+ | |||
+ | Le principe de ce deuxième test est d'utiliser l'éditeur <code>Notepad++</code> 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 [https://sourceforge.net/projects/npp-plugins/files/NppExec/ NppExec] qui est un ''plugin'' qui ajoute à l'éditeur [https://notepad-plus-plus.org/ 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 | ||
+ | |||
+ | <pre>//This NPP_EXEC script sets the com port of your arduino IDE | ||
+ | //By Josh Miele -- June 27, 2016 | ||
+ | //The Blind Arduino Project | ||
+ | //http://blarbl.blogspot.com | ||
+ | set arduino_path = c:\arduino\arduino_debug //the path to your Arduino IDE. | ||
+ | //put up a dialog box requesting com port name | ||
+ | inputbox "Please enter the COM port of your Arduino (e.g., com5):" //gets com port value | ||
+ | //use result to set port value doesn't verify | ||
+ | cmd /c "$(arduino_path)" --port $(input) | ||
+ | npp_console 0 //hide the console</pre> | ||
+ | ArduinoUpload-nppexec.txt | ||
+ | |||
+ | <pre>//This Npp_Exec script compiles and uploads the current arduino sketch in Npp | ||
+ | //By Josh Miele -- June 27, 2016 | ||
+ | //The Blind Arduino Project | ||
+ | //http://blarbl.blogspot.com | ||
+ | |||
+ | //Set where the output goes. Make sure you have write privileges | ||
+ | set arduino_output = "c:\temp\arduino messages.txt" | ||
+ | //Set location of arduino executable. | ||
+ | set arduino_path = c:\arduino\arduino_debug | ||
+ | npp_save //save current file before uploading | ||
+ | //Compile and upload sketch in current NPP window and send stdOut and stdErr to arduino_output | ||
+ | cmd /c "$(arduino_path)" --upload $(full_current_path)>$(arduino_output) 2>&1 | ||
+ | npp_console 0 //hide the console | ||
+ | //show the results of the compile/upload in NPP window | ||
+ | npp_open $(arduino_output) </pre> | ||
+ | === liens et ressources === | ||
+ | |||
+ | * [http://blarbl.blogspot.com/2016/07/how-to-compile-and-upload-arduino.html How to Compile and Upload Arduino Sketches with Notepad++, Simple, Convenient, Accessible] sur le site [http://blarbl.blogspot.com/ Blind Arduino Blog] | ||
+ | |||
+ | == IV. 3ème solution : Sloeber == | ||
+ | |||
+ | [http://eclipse.baeyens.it/ Sloeber] propose un ''bundle'' (un ensemble de logiciels contenus dans un seul paquet) incluant notamment <code>Eclipse CDT</code> et <code>Arduino eclipse IDE</code>. Sloeber permet, en une seule installation, de disposer d'un environnement de développement complet pour Arduino. Étant basée sur <code>Eclipse CDT</code>, cette solution semble parfaitement compatible avec [https://www.nvda-fr.org/ NVDA]. | ||
+ | |||
+ | === liens et ressources === | ||
+ | |||
+ | * [https://www.eclipse.org/community/eclipse_newsletter/2017/april/article4.php Program Your Arduino Like a Pro with the Eclipse C/C++ IDE] | ||
+ | |||
+ | == V. conclusion == | ||
+ | |||
+ | '''à completer...''' | ||
+ | |||
+ | === 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) | ||
+ | * [https://create.arduino.cc/editor Aduino Web Editor] | ||
+ | |||
+ | === liens utiles === | ||
+ | |||
+ | * [https://github.com/sudar/Arduino-Makefile Arduino-Makefile] : A Makefile for Arduino Sketches. | ||
+ | * [https://sourceforge.net/projects/npp-plugins/files/NppExec/ NppExec] : plugin pour Notepad++. | ||
+ | * [https://notepad-plus-plus.org/ Notepad++] : éditeur de texte pour ''Windows''. | ||
+ | * [https://accessdvlinux.fr/ AccessDV Linux] : distribution GNU/Linux pour proposant un ensemble d'outils adaptés pour les malvoyants. | ||
+ | * [NVDA]([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. |
Version du 15 janvier 2020 à 12:08
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
//This NPP_EXEC script sets the com port of your arduino IDE //By Josh Miele -- June 27, 2016 //The Blind Arduino Project //http://blarbl.blogspot.com set arduino_path = c:\arduino\arduino_debug //the path to your Arduino IDE. //put up a dialog box requesting com port name inputbox "Please enter the COM port of your Arduino (e.g., com5):" //gets com port value //use result to set port value doesn't verify cmd /c "$(arduino_path)" --port $(input) npp_console 0 //hide the console
ArduinoUpload-nppexec.txt
//This Npp_Exec script compiles and uploads the current arduino sketch in Npp //By Josh Miele -- June 27, 2016 //The Blind Arduino Project //http://blarbl.blogspot.com //Set where the output goes. Make sure you have write privileges set arduino_output = "c:\temp\arduino messages.txt" //Set location of arduino executable. set arduino_path = c:\arduino\arduino_debug npp_save //save current file before uploading //Compile and upload sketch in current NPP window and send stdOut and stdErr to arduino_output cmd /c "$(arduino_path)" --upload $(full_current_path)>$(arduino_output) 2>&1 npp_console 0 //hide the console //show the results of the compile/upload in NPP window npp_open $(arduino_output)
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 semble parfaitement compatible avec NVDA.
liens et ressources
V. conclusion
à completer...
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
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](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.