173 lines
5.9 KiB
Plaintext
173 lines
5.9 KiB
Plaintext
====== Installer le logiciel Arduino IDE sous Linux ======
|
|
|
|
<WRAP center round tip 100%>
|
|
Cet article a été testé avec les distributions suivantes
|
|
* **Linux Mint 19 64 bits**
|
|
* **Linux Debian 9.6 (stretch) 64 bits**
|
|
* **MX Linux 18.3** basé sur Linux Debian 9
|
|
* **Zorin OS 16.1** basé sur Linux Debian
|
|
|
|
Je privilégie une installation "manuelle" de l'application **Arduino IDE** afin d'utiliser une des dernières versions. Certaines options et paramètres n'apparaissent pas dans les versions packagées des distributions. J'ai eu le cas avec **Debian 9.6** où je ne pouvais pas utiliser des cartes ESP 8266.
|
|
|
|
Date de relecture : 15 août 2022
|
|
</WRAP>
|
|
|
|
Il faut télécharger la version 1.8.19. Vous pouvez vérifier la dernière version disponible depuis le site [[https://www.arduino.cc/en/Main/Software]]. Adaptez les informations ci-dessous suivant les informations trouvées sur le site arduino.cc.
|
|
|
|
{{ electronique:arduino:arduino_software_1.8.7.png?400 |}}
|
|
|
|
|
|
===== - Télécharger Arduino IDE Software =====
|
|
|
|
|
|
Depuis mon dossier **home** ou un autre dossier personnel, je télécharge le programme **Arduino IDE**. Je préfère l'effectuer depuis une ligne de commande.
|
|
|
|
<code>
|
|
wget -O arduino.tar.xz https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
|
|
</code>
|
|
|
|
{{ electronique:arduino:terminal_install_arduino.png?400 |Téléchargement de l'application **Arduino IDE** dans une fenêtre de Terminal}}
|
|
|
|
|
|
===== - Déployer Arduino IDE Software =====
|
|
|
|
**ligne 1** : déployer Arduino IDE dans un dossier accessible à tous : ''/opt/''. L'archive **tar** va extraire les fichiers dans un dossier comportant le numéro de version.
|
|
|
|
**ligne 3** : si un lien ''/opt/arduino/'' existait, détruit le lien sur ''/opt/arduino'' avec **unlink**
|
|
|
|
**ligne 4** : réaliser un [[informatique:linux:commandes:alias|alias]] vers le dossier ''/opt/arduino''. De cette manière, on s'affranchit du numéro de version. Nous pouvons également déployer de nouvelles versions sans perturber la précédente.
|
|
|
|
**ligne 5** : exécuter le script ''install.sh'' qui permet de créer un raccourci sur le bureau graphique.
|
|
|
|
<code BASH [enable_line_numbers="true", start_line_numbers_at="1"]>
|
|
sudo tar -xvf arduino.tar.xz -C /opt
|
|
sudo chown -R root:root /opt/arduino-1.8.19
|
|
sudo unlink /opt/arduino
|
|
sudo ln -s /opt/arduino-1.8.19/ /opt/arduino
|
|
sudo /opt/arduino/install.sh
|
|
</code>
|
|
|
|
|
|
|
|
===== - Problèmes rencontrés après le déploiement =====
|
|
|
|
==== - Droits sur tty et dialout ====
|
|
|
|
Il faut ajouter l'utilisateur de l'application **Arduino IDE** aux groupes ''tty'' et ''dialout''. L'exemple suivant permet d'ajouter l'utilisateur ''cedric'' aux groupes ''tty'' et ''dialout''.
|
|
|
|
<code>
|
|
sudo usermod -a -G tty $USER
|
|
sudo usermod -a -G dialout $USER
|
|
</code>
|
|
|
|
Si vous venez de saisir les lignes de commandes ''usermod'', vous devez redémarrer.
|
|
|
|
|
|
|
|
|
|
|
|
==== - Version de Java incorrecte ====
|
|
|
|
Le message suivant peut apparaître dans l'application **Arduino IDE** :
|
|
<code>
|
|
java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
|
|
</code>
|
|
|
|
Il se peut que la version de Java ne soit pas bonne. Vous pouvez le vérifier avec ''java -version''. Toutefois, un java est intégré avec l'application **Arduino IDE**. (''/opt/arduino/java/bin/java -version'' me renvoie la version ''java version "1.8.0_191"'').
|
|
|
|
Il faudra peut être toutefois changer les paramètres java de l'OS.
|
|
J'ai testé avec OpenJDK Java 8 avec succès. Par contre Java 10 et 11 ne sont pas compatibles.
|
|
|
|
Pour procéder à l'installation de Java 8 et choisir par défaut cette version :
|
|
|
|
<code>
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install openjdk-8-jdk
|
|
|
|
sudo update-alternatives --config java
|
|
</code>
|
|
|
|
{{ electronique:arduino:terminal_alternatives_config_java.png?noLink |}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
==== - Serial port not selected ====
|
|
|
|
|
|
Dans certains cas, sous Mint, il faut désinstaller ''brltty''
|
|
|
|
<code>
|
|
sudo apt-get remove brltty
|
|
</code>
|
|
|
|
|
|
|
|
==== - Aucune carte n'est détectée ====
|
|
{{ :electronique:arduino:pasted:20220128-074733.png?250}}
|
|
|
|
Le câble USB peut être également non cablé pour les données (data)
|
|
|
|
<WRAP clear/>
|
|
|
|
Pour rappel, voici le cablage d'un port USB
|
|
|
|
{{ :electronique:arduino:pasted:20220128-075003.png }}
|
|
|
|
|
|
|
|
===== - Exécuter votre premier programme =====
|
|
|
|
Voici donc notre premier programme (celui qui est décrit dans la vidéo).
|
|
|
|
Cette suite d'instructions va faire clignoter une LED branchée sur la broche 13 de l'Arduino toutes les secondes.\\
|
|
Il n'est pas nécessaire de brancher une LED, car rappelez-vous, la LED sur la carte, mentionnée dans la [[informatique:linux:materiel:arduino:presentation_de_l_arduino]], servira dans notre exemple sans forcément réalisée un montage électronique.
|
|
|
|
Lorsque vous utilisez le logiciel Arduino, il peut être trouvé en cliquant sur ''Fichier => Exemples => 01.Basics => Blink''.
|
|
|
|
<WRAP clear/>
|
|
|
|
|
|
Vous pouvez également copier le code suivant dans votre éditeur :
|
|
|
|
<code C basics-blink.c [enable_line_numbers="true", start_line_numbers_at="1"]>
|
|
/*
|
|
Clignotement
|
|
Allume la LED pendant 1 seconde,
|
|
puis l'éteint pendant 0,5 seconde.
|
|
*/
|
|
|
|
// Numéro de la broche à laquelle est
|
|
// connectée la LED
|
|
int led = 13;
|
|
|
|
// le code dans cette fonction est exécuté une fois au début
|
|
void setup() {
|
|
// indique que la broche de la LED une sortie :
|
|
// on va modifier sa tension
|
|
pinMode(led, OUTPUT);
|
|
}
|
|
|
|
// le code dans cette fonction est exécuté en boucle
|
|
void loop() {
|
|
digitalWrite(led, HIGH); // allumer la LED (tension 5V sur la broche)
|
|
delay(1000); // attendre 1000ms = 1s
|
|
digitalWrite(led, LOW); // éteindre la LED (tension 0V sur la broche)
|
|
delay(1000); // attendre à nouveau 1seconde
|
|
}
|
|
</code>
|
|
|
|
Deux déclaration de fonctions sont obligatoires :
|
|
* setup
|
|
* loop
|
|
|
|
Dans ce bout de code, nous appelons trois fonctions :
|
|
* digitalWrite
|
|
* pinMode
|
|
* delay
|
|
|
|
Pour exécuter ce bout de code, il faudra brancher l'Arduino sur port USB et sélectionner dans le menu ''Outils => Port'', sélectionner ''/dev/ttyACMO''. |