Nous allons voir dans ce tutoriel comment installer le logiciel Arduino IDE et CLI sur Raspberry Pi et ainsi combiner les forces des deux systèmes.
Vérifier la configuration de votre système
Pour savoir quelle version de l’IDE télécharger et installer, vous devez connaitre les spécificités de votre système. Notamment l’architecture du noyau (Linux kernel). Il existe plusieurs commandes possibles.
uname -a #display os and kernel info
cat /proc/version
architecture | kernel |
i386/i486/i586/i686/armv7l | 32 bit |
x86_64(Intel)/aarch64(Arm)/armv8 | 64 bit |
cat /proc/cpuinfo #cpu architecture
La commande la plus directe est de deamnder sur combien de bit est encodé une variable LONG
getconf LONG_BIT # result is 32 or 64
Installation d’Arduino IDE
Sur la page de téléchargement d’Arduino, sélectionnez la version correspondante à votre système et téléchargez-la.
Vous pouvez effectuer cette procédure en ligne de commande. en connaissant le nom du fichier arduino-1.8.19-linux<architecture>.tar.xz
pour mon système aarch64 :arduino-1.8.19-linuxaarch64.tar.xz
wget https://downloads.arduino.cc/arduino-1.8.19-linuxaarch64.tar.xz
Naviguez jusqu’à l’archive, puis décompressez le dossier.
tar -xvf arduino-1.8.19-linuxaarch64.tar.xz
rm arduino-1.8.19-linuxaarch64.tar.xz
Puis installer le logiciel
cd arduino-1.8.19
sudo ./install.sh
Problème de connexion au port série
Si vous avez un problème de connexion avec le port série de l’Arduino, il se peut que vous ayez une autorisation limitée.
Vérifier les droits d’accès au port série
ls -l /dev/ttyACM*
Output
crw-rw---- 1 root dialout 166, 0 févr. 15 12:47 /dev/ttyACM0
Voud devez alors accordez les droits en lecture et écriture
sudo chmod a+rw /dev/ttyACM0
Bonus: Installation de Arduino-CLI sur Raspberry Pi
Si votre système n’a pas accès à une interface graphique (headless, accès SSH), vous pouvez utiliser les lignes de commandes pour créer, compiler et téléverser vos scripts Arduino.
Un autre outil plus récent et plus puissant est Arduino-CLI que vous pouvez installer avec la commande
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
mv bin/* Arduino/
cd Arduino
chmod a+x arduino-cli
alias arduino-cli='sudo ./arduino-cli'
Mettre à jour la liste des cartes supportées
arduino-cli core update-index
Installer ensuite le gestionnaire de cartes
arduino-cli core install arduino:avr
Vérifiez les cartes connectées au Raspberry Pi et noter les noms FQBN
arduino-cli board list
Créer un nouveau sketch
arduino-cli sketch new mysketch
Modifier le sketch avec le code désiré
nano mysketch/mysketch.ino
void setup() { Serial.begin(9600); Serial.println("System ready"); delay(1000); } void loop() { Serial.println("System running"); delay(500); }
Compiler le code en spécifiant le nom de la carte (retrouvez le nom sous la colonne FQBN avec
arduino-cli compile --fqbn arduino:avr:mega mysketch/
Téléverser le code dans une carte
arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:avr:mega mysketch/
Installer de nouvelles librairies
arduino-cli lib install library_name
Pour ouvrir un moniteur série, vous pouvez utiliser Putty
sudo apt-get install putty putty-tools
sudo putty /dev/ttyACM0 -serial -sercfg 9600,8,n,1,N &
Rajouter des URLs de gestion de cartes ESP32 et ESP8266
Créez un fichier de configuration
arduino-cli config init
Modifiez le fichier pour rajouter les url des cartes
sudo nano /root/.arduino15/arduino-cli.yaml
board_manager: additional_urls: [ "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json", "https://arduino.esp8266.com/stable/package_esp8266com_index.json" ]
Ensuite mettez à jour le gestionnaire
arduino-cli core update-index
acros2@acros2-desktop:~/Arduino$ arduino-cli core update-index Downloading index: package_index.tar.bz2 downloaded Downloading index: package_esp32_index.json downloaded Downloading index: package_esp8266com_index.json downloaded Downloading index: package_index.tar.bz2 downloaded Downloading index: package_esp32_index.json downloaded Downloading index: package_esp8266com_index.json downloaded
Installer le gestionnaire pour ESP32 et ESP8266
arduino-cli core install esp32:esp32 arduino-cli core install esp8266:esp8266
Pour connaitre le nom fqbn à utliser en fonction de la carte arduino-cli board listall esp32
arduino-cli compile --fqbn esp32:esp32:esp32 mysketch arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32 mysketch