Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
platerformIO est un IDE (Environnement de Développement Intégré) qui permet de programmer de nombreuses cartes à microcontrôleurs et autres bêtes à poils raz.
On peut simplement installer le coeur du système platformIOCore, qui fournit des outils en ligne de commande pour simplifier les transferts et autres opérations vers les microcontôleurs.
C'est un programme en Python 2.7, non packagé pour Debian. Comme il utilise quelques modules dans des versions différentes de celles de Debian Stretch, on va utiliser un Environnement virtuel pour bien séparer tout ça, et l'installer via pip
.
On verra ensuite pour l'intégration dans ce script dans un éditeur de texte, vim par exemple, puisque il fait parti de ceux supportés.
Si vous ne l'avez pas encore, installons virtualenv
apt install python-virtualenv
On peut ensuite créer l'environnement virtuel dans l'emplacement de votre choix (~/prog/arduino
par exemple), en demandant l'utilisation des bibliothèques systèmes avec l'option –system-site-packages
. Ainsi, seront installées par pip
seulement celles qui sont nécessaires. Ce n'est pas un obligation ceci-dit.
mkdir -p ~/prog/arduino cd ~/prog/arduino virtualenv platformio --system-site-packages
On peut ensuite activer l'environnement virtuel, *avant d'installer platformIO
*.
source platformio/bin/activate cd platformio
On voit apparaître le nom de l'environnement avant le prompt lorsqu'il est activé. Dans notre cas, le prompt va ressembler à ça
(platformio) user@host:~/prog/arduino/platformio
pip-install platformio
Afin que le système sache quoi faire avec les cartes lorsqu'elles sont branchées en USB, il faut installer des règles UDEV. Pour ce faire, il suffit de télécharger ce fichier
# Copyright (c) 2014-present PlatformIO <contact@platformio.org> # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # INSTALLATION # # UDEV Rules for PlatformIO supported boards, http://platformio.org/boards # # The latest version of this file may be found at: # https://github.com/platformio/platformio-core/blob/develop/scripts/99-platformio-udev.rules # # This file must be placed at: # /etc/udev/rules.d/99-platformio-udev.rules (preferred location) # or # /lib/udev/rules.d/99-platformio-udev.rules (req'd on some broken systems) # # To install, type this command in a terminal: # sudo cp 99-platformio-udev.rules /etc/udev/rules.d/99-platformio-udev.rules # # Restart "udev" management tool: # sudo service udev restart # or # sudo udevadm control --reload-rules # sudo udevadm trigger # # Ubuntu/Debian users may need to add own “username” to the “dialout” group if # they are not “root”, doing this issuing a # sudo usermod -a -G dialout $USER # sudo usermod -a -G plugdev $USER # # After this file is installed, physically unplug and reconnect your board. # CP210X USB UART SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666" # FT232R USB UART SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666" # Prolific Technology, Inc. PL2303 Serial Port SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0666" # QinHeng Electronics HL-340 USB-Serial adapter SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666" # Arduino boards SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="[08][02]*", MODE:="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="[08][02]*", MODE:="0666" # Arduino SAM-BA ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{MTP_NO_PROBE}="1" SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666" KERNEL=="ttyACM*", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666" # Digistump boards SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666" KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1" # STM32 discovery boards, with onboard st/linkv2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374?", MODE:="0666" # USBtiny SUBSYSTEMS=="usb", ATTRS{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0666" # USBasp V2.0 SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE:="0666" # Teensy boards ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{MTP_NO_PROBE}="1" SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666" KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666" #TI Stellaris Launchpad SUBSYSTEMS=="usb", ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0666" #TI MSP430 Launchpad SUBSYSTEMS=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0666" # CMSIS-DAP compatible adapters ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev" # Black Magic Probe SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic GDB Server" SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic UART Port"
Recharger ensuite les règles
service udev restart # ou udevadm control --reload-rules udevadm trigger
Pour qu'il soit possible d'utiliser les ports série sans être root.
adduser $USER dialout