VsCode et PlatformIO

platformio-logo


PlatformIO est un écosystème de développement pour les microcontrôleurs.
Il est Open source, multiplate-forme, gratuit, facile à prendre en main.


Documentations sur PlatformIO

https://platformio.org/

https://docs.platformio.org/en/latest/

https://fr.wikipedia.org/wiki/GitHub


Vous avez installé



Installation de PlatformIO - VsCode

platformio-extension


Installation de PlatformIO sur VsCode

Cliquer sur l'icône "Extensions"
Rechercher "PlatformIO"
Cliquer sur [Install]



platformio-interface

Icône "PlatformIO" dans la barre latérale


Il faut configurer l'interface de PlatformIO. Car la barre d'état affiche encore l'ancienne configuration



interface "Bienvenue" de PlatformIO

platformio-open


Lorsque PlatformIO est installé, l'interface de "Bienvenue" s'affiche


Si vous avez fermé l'interface de PlatformIO, vous pouvez la ré-ouvrir

Cliquer sur l'icône de PlatformIO dans la barre latérale

Puis PIO Home / Open



Création d'un Projet avec PlatformIO

  • project-wizard
  • project-wizard-config
  • project-wizard-finish


Cliquer sur [+ New Project]

La fenêtre "Project Wizard" s'ouvre

Renseigner les champs:

Name: NOM_DE_VOTRE_PROJET   # PlatformIO-Test
Board: SELECTIONNER_VOTRE_CARTE  # Arduino Uno
Framework:   # Le champ se renseigne automatiquement


Puis cliquer sur 

Finish


Patience ... 



message-conflictued

Il est possible que durant la phase de configuration, le message "Conflicted Extensions ......." apparait en bas de l'écran

Rien de grave !

Le conflit vient de l'extension "Arduino" que vous avez installé précédement.

L'extension "PlatformIO" ne peut pas fonctionner si l'extension "Arduino" est installée.

Il faut désinstaller l'extension "Arduino"

Cliquer sur [Uninstall conflicted]


platformio-ok

La barre d'état - PlatformIO

platformio-barre-etat


De gauche à droite ....

Le "X dans un rond - x erreur(s)" indique le nombre d'erreur dans l'écriture du code

Le "! dans un triangle - x erreur(s)" indique le nombre d'erreur 

Les "Deux outils en croix avec le chiffre - x" indique le nombre de tache en fonctionnement

La "Maison - PlatformIO: Home" affiche l'interface de "Bienvenue"

Le "V - PlatformIO: Build" execute la vérification et la construction du code

La "Flêche vers la droite - PlatformIO: Upload" téléverse le code dans la carte

Le "Nuage avec la flêche vers le haut - PlatformIO: Upload to remote device" téléverse le code vers un emplacement remote

La "Poubelle - PlatformIO: Clean" efface le terminal

La "Fiole - PlatformIO: Test" teste le code

Les "Dossiers - PlatformIO: Run Task" affiche des commandes disponibles

La "Prise de courant - PlatformIO: Serial Monitor" affiche le moniteur série

Le "Prompt - PlatformIO: New Terminal" ouvre un nouveau terminal



Home - PlatformIO

Afficher la page de "Bienvenue" de PlatformIO

Cliquer sur "Home"

plaformio-bienvenue

Projects - PlatformIO

Afficher les projets sous PlatformIO

Cliquer sur "Projects"

Platformio-projet

Inspect - PlatformIO

Controler les resources utilisées par votre projet

Cliquer sur "Inspect" , puis sélectionner le projet

Cliquer sur [Inspect]

platformio-inspect

Librairies - PlatformIO

Afficher les librairies

Cliquer sur "Librairies" , puis rechercher la librairie pour l'installer

Cliquer sur [Download] puis [Install]

plaformio-librairie

Boards - PlatformIO

Connaitre les cartes reconnues par PlatformIO

Cliquer sur "Boards"

platformio-board

Platforms - PlatformIO

Gérer les cartes installées 

Cliquer sur "Platforms"

platformio-platform

Devices - PlatformIO

Connaitre le port Com utilisé

Cliquer sur "Devices"

platformio-device

Arborescence PlatformIO

platformio-arborescence


L'arborescence de PlatformIO

Vous avez créé un projet

L'explorateur affiche l'arborescence PlatformIO


Nom_du_projet   # PlatformIO-Test
.pio
.vscode  
# Dossier contenant les fichiers de configuration du projet
{} c_cpp_properties.json  # Fichier configuration c_cpp_properties
{} extensions.json  # fichier de configuration des extensions
{} launch.json  # Fichier de configuration de xxxxx
include
lib
src  
# Dossier contenant le fichier code 
main.cpp  # Fichier code cpp
test
.gitignore
.travis.yml
platformio.ini  
# Fichier ini de platformio


Explication ....

c_cpp_properties.json

Dossier .vscode
Ce fichier contient les chemins nécessaires pour que VsCode puisse retrouver les lib, le compilateur etc...


extensions.json

Dossier .vscode
Ce fichier contient les extensions utilisées


launch.json

Dossier .vscode
Ce fichier contient les extensions utilisées


main.cpp

Dossier src
Ce fichier contient le fichier code du projet - main.cpp # nom_du_fichier.cpp
(Sous IDE Arduino le fichier code se nomme nom_du_fichier.ino)


platformio.ini

A la racince du projet
Ce fichier contient les références de la carte utilisée



Création d'un fichier Blink - PlatformIO


Faire clignoter la led interne de l'Arduino Uno - Blink


platformio-code-blink

Le code

#include <Arduino.h>  # Inclure la librairie Arduino.h

int led=13;                  # Définition des variables
int temp=1000;

void setup() {
  pinMode(led, OUTPUT);  # Définition de la variable led en OUTPUT
  }

void loop() {
  digitalWrite(led,1);    # Code .....
  delay(temp);
  digitalWrite(led,0);
  delay(temp);
}

Ctrl + S pour sauvegarder

Cliquer sur "Verify" puis "Upload"

verify

platformio-verify

Upload

platformio-upload

Moniteur série - PlatformIO

  • platformio-moniteur-serie
  • platformio-moniteur-serie-barre-etat


Modifier le code Blink, afin que le moniteur série affiche

led allumée
led éteinte
etc ...


Dans void setup()

Serial.begin(9600);


Dans void loop()

Serial.println("led allumée");
Serial.println("led éteinte");


Ouvrir le moniteur série

Ctrl + Maj + P puis saisir "Serial Monitor"

ou

Cliquer sur l'icône "Serial Monitor" dans la barre d'état