Installation des Logiciels

Ce chapitre détaille l’installation complète de l’environnement de développement Arduino et la programmation du firmware du Mk2PVRouter.

⏱️ Temps estimé :
  • Débutant : 2-3 heures

  • Expérimenté : 1-2 heures

Installation Pilotes FTDI

Les pilotes FTDI sont OBLIGATOIRES pour communiquer avec le routeur via le programmateur USB.

Important

Sans ces pilotes, l’ordinateur ne détectera pas le routeur !

🪟 Windows

  1. Ouvrir le navigateur : https://ftdichip.com/drivers/vcp-drivers/

  2. Cliquer sur « Windows » dans la colonne « Available Drivers »

  3. Télécharger la dernière version (fichier .exe)

  4. Exécuter le fichier téléchargé en tant qu’administrateur (clic droit → « Exécuter en tant qu’administrateur »)

  5. Suivre l’assistant d’installation

  6. Redémarrer l’ordinateur après l’installation

Vérification

  1. Connecter l’adaptateur FTDI à un port USB

  2. Ouvrir le Gestionnaire de périphériques (Win + X → Gestionnaire de périphériques)

  3. Développer « Ports (COM et LPT) »

  4. Vérifier la présence de « USB Serial Port (COMx) » où x est un numéro

  5. Noter le numéro COMx (exemple : COM3, COM4)

🍎 macOS

Les pilotes FTDI sont généralement inclus dans macOS moderne.

Vérification

  1. Connecter l’adaptateur FTDI à un port USB

  2. Ouvrir un terminal

  3. Taper la commande :

    ls /dev/tty.*
    
  4. Rechercher une ligne contenant tty.usbserial (exemple : /dev/tty.usbserial-A50285BI)

Si aucun périphérique n’apparaît

  1. Télécharger les pilotes sur https://ftdichip.com/drivers/vcp-drivers/

  2. Choisir la version macOS

  3. Installer le fichier .dmg

  4. Redémarrer le Mac

🐧 Linux

Les pilotes FTDI sont généralement inclus dans le noyau Linux.

Vérification

lsusb

Rechercher une ligne contenant « FTDI » ou « Future Technology Devices ».

Si le pilote n’est pas chargé

sudo modprobe ftdi_sio

Ajouter l’utilisateur au groupe dialout

sudo usermod -a -G dialout $USER
sudo reboot

Note

Le redémarrage est nécessaire pour que les changements prennent effet.

Choix de l’Environnement de Développement

Vous avez deux options pour programmer le Mk2PVRouter :

Option A : Arduino IDE (recommandé pour les débutants)
  • Configuration manuelle nécessaire (C++17, bibliothèques)

  • Suivre les sous-sections de l”Option A ci-dessous

Option B : PlatformIO (recommandé pour les utilisateurs avancés)
  • Support C++17 natif (pas de configuration manuelle)

  • Suivre les sous-sections de l”Option B” ci-dessous

Note

Vous pouvez choisir l’une ou l’autre option, ou même installer les deux environnements si vous le souhaitez.

Option A : Installation avec Arduino IDE

Installation Arduino IDE

L’Arduino IDE est le logiciel qui permet de programmer le routeur.

🪟 Windows

Téléchargement

  1. Ouvrir le navigateur web : https://www.arduino.cc/en/software

  2. Cliquer sur « Windows Win 10 and newer » (fichier .exe ou .zip)

  3. ⚠️ NE PAS télécharger la version « Windows app » (incompatibilités connues)

  4. Attendre la fin du téléchargement (~200 MB)

Installation

  1. Double-cliquer sur le fichier téléchargé (arduino-ide-xxxx.exe)

  2. Accepter la licence

  3. IMPORTANT : Cocher « Install USB drivers » et tous les composants

  4. Choisir le répertoire d’installation (laisser par défaut : C:\Program Files\Arduino)

  5. Cliquer sur « Install »

  6. Attendre la fin de l’installation (5-10 minutes)

  7. Laisser l’installateur créer les raccourcis sur le bureau

Note

Si Windows affiche un avertissement de sécurité, cliquer sur « Exécuter quand même ». Le logiciel Arduino est sûr et largement utilisé.

🍎 macOS

Téléchargement

  1. Ouvrir le navigateur web : https://www.arduino.cc/en/software

  2. Cliquer sur « macOS » (fichier .dmg)

  3. Attendre la fin du téléchargement

Installation

  1. Ouvrir le fichier .dmg téléchargé

  2. Glisser l’icône Arduino dans le dossier Applications

  3. Attendre la copie des fichiers

  4. Éjecter l’image disque

Note

Au premier lancement, macOS peut demander l’autorisation d’ouvrir l’application. Cliquer sur « Ouvrir » dans la fenêtre de sécurité.

Linux (Ubuntu/Debian)

Méthode recommandée : AppImage

  1. Ouvrir le navigateur web : https://www.arduino.cc/en/software

  2. Télécharger la version « Linux AppImage »

  3. Ouvrir un terminal

  4. Rendre le fichier exécutable :

    cd ~/Téléchargements
    chmod +x arduino-ide-*-linux-x64.AppImage
    ./arduino-ide-*-linux-x64.AppImage
    

Alternative : Installation via le gestionnaire de paquets

sudo apt update
sudo apt install arduino

Avertissement

La version des dépôts peut être ancienne. Privilégier l’AppImage pour avoir la dernière version.

Configuration Arduino IDE pour C++17

Avertissement

ÉTAPE OBLIGATOIRE — Le firmware nécessite le support C++17.

Sans cette modification, la compilation échouera avec des erreurs incompréhensibles !

Le firmware du Mk2PVRouter utilise des fonctionnalités modernes du C++ (C++17) qui ne sont pas activées par défaut dans Arduino IDE.

Localisation du fichier platform.txt

Le fichier à modifier se trouve à différents emplacements selon le système d’exploitation :

Windows

Deux emplacements possibles :

  1. C:\Program Files (x86)\Arduino\hardware\arduino\avr\platform.txt

  2. %LOCALAPPDATA%\Arduino15\packages\arduino\hardware\avr\x.y.z\platform.txt

    (remplacer x.y.z par la version installée, exemple : 1.8.6)

macOS

/Users/[nom_utilisateur]/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/platform.txt

Note

Le dossier Library peut être caché. Pour y accéder :

  1. Dans le Finder, menu « Aller » → maintenir Option → cliquer sur « Bibliothèque »

Ou taper dans le terminal :

open ~/Library/Arduino15/packages/arduino/hardware/avr/

Linux

~/.arduino15/packages/arduino/hardware/avr/1.8.6/platform.txt

Modification du fichier

  1. Faire une copie de sauvegarde du fichier platform.txt (exemple : platform.txt.bak)

    # Linux/macOS
    cp platform.txt platform.txt.bak
    
  2. Ouvrir le fichier platform.txt avec un éditeur de texte (Notepad++, nano, gedit, etc.)

  3. Rechercher la ligne contenant :

    "-std=gnu++11"
    
  4. Remplacer par :

    "-std=gnu++17"
    
  5. Sauvegarder le fichier

  6. Redémarrer Arduino IDE pour que le changement soit pris en compte

Astuce

Si vous ne trouvez pas le fichier, ouvrez Arduino IDE, allez dans Fichier → Préférences, et regardez l’emplacement du « Dossier de Sketchbook ». Le fichier platform.txt est généralement dans un sous-dossier relatif à cet emplacement.

Installation des Bibliothèques

Le firmware nécessite plusieurs bibliothèques externes.

Ouvrir le Gestionnaire de bibliothèques

  1. Lancer Arduino IDE

  2. Menu : Outils → Gérer les bibliothèques…

  3. Une fenêtre « Gestionnaire de bibliothèques » s’ouvre

Installation de ArduinoJson

  1. Dans le champ de recherche, taper : ArduinoJson

  2. Trouver la bibliothèque « ArduinoJson » par Benoit Blanchon

  3. ⚠️ IMPORTANT : Installer la version 6.x (PAS la version 7 !)

    • Version 6.21.5 recommandée

    • La version 7 est incompatible avec l’ATmega328P

  4. Cliquer sur « Installer »

Avertissement

Ne pas installer ArduinoJson version 7.x — elle ne fonctionnera pas sur l’ATmega328P !

Installation de OneWire

Cette bibliothèque gère les sondes de température (optionnelles).

  1. Dans le champ de recherche, taper : OneWire

  2. Trouver « OneWire » par Paul Stoffregen

  3. ⚠️ Installer la version 2.3.7 ou supérieure

  4. Cliquer sur « Installer »

Vérification

  1. Menu : Croquis → Inclure une bibliothèque

  2. Vérifier la présence de : ArduinoJson, OneWire

Astuce

Si les bibliothèques n’apparaissent pas, redémarrer Arduino IDE.

Configuration Arduino IDE terminée ! Passez maintenant aux étapes spécifiques à votre version monophasé ou triphasé).

Option B : Installation avec PlatformIO

Pour les Utilisateurs Avancés

PlatformIO est un environnement de développement plus complet que l’Arduino IDE.

Avantages

  • Gestion automatique des bibliothèques (ArduinoJson, OneWire, U8g2…)

  • Support C++17 natif (pas besoin de modifier platform.txt)

  • Compilations plus rapides

  • Meilleure intégration avec Git

  • Débogage avancé

Important

Avec PlatformIO, aucune configuration manuelle n’est nécessaire.

Vous n’avez PAS besoin de : - Configurer C++17 manuellement (voir ci-dessus) - Installer les bibliothèques manuellement (voir ci-dessus)

Tout est géré automatiquement par PlatformIO !

Installation Visual Studio Code

Visual Studio Code est l’éditeur de code qui hébergera PlatformIO.

Windows

  1. Ouvrir le navigateur web : https://code.visualstudio.com/

  2. Cliquer sur « Download for Windows »

  3. Double-cliquer sur le fichier téléchargé (VSCodeSetup-xxx.exe)

  4. Accepter la licence

  5. Recommandé : Cocher toutes les options additionnelles :

    • Ajouter à PATH

    • Créer une icône sur le bureau

    • Ajouter l’action « Ouvrir avec Code » au menu contextuel

  6. Cliquer sur « Installer »

  7. Attendre la fin de l’installation

  8. Lancer VS Code

macOS

  1. Ouvrir le navigateur web : https://code.visualstudio.com/

  2. Cliquer sur « Download for Mac »

  3. Ouvrir le fichier .zip téléchargé

  4. Glisser Visual Studio Code.app dans le dossier Applications

  5. Lancer VS Code depuis le dossier Applications

Linux (Ubuntu/Debian)

Méthode 1 : Installation via le site officiel (recommandé)

  1. Ouvrir le navigateur web : https://code.visualstudio.com/

  2. Cliquer sur « .deb » (pour Ubuntu/Debian)

  3. Installer le paquet téléchargé :

    sudo dpkg -i code_*.deb
    sudo apt-get install -f
    

Méthode 2 : Installation via le gestionnaire de paquets

sudo apt update
sudo apt install code

Installation PlatformIO IDE

PlatformIO s’installe comme une extension dans Visual Studio Code.

Installation de l’Extension

  1. Ouvrir Visual Studio Code

  2. Cliquer sur l’icône Extensions dans la barre latérale gauche (ou Ctrl+Shift+X / Cmd+Shift+X)

  3. Dans le champ de recherche, taper : PlatformIO IDE

  4. Trouver l’extension « PlatformIO IDE » par PlatformIO

  5. Cliquer sur « Install »

  6. Attendre la fin de l’installation (peut prendre 2-5 minutes)

  7. Une fois terminé, cliquer sur « Reload » pour redémarrer VS Code

Note

Au premier lancement après installation, PlatformIO téléchargera des outils supplémentaires. Cela peut prendre quelques minutes. Soyez patient !

Vérification de l’Installation

Après le redémarrage de VS Code :

  1. Une icône PlatformIO (alien/extraterrestre) devrait apparaître dans la barre latérale gauche

  2. Cliquer sur cette icône ouvre le PIO Home

  3. Si vous voyez le PIO Home, l’installation est réussie !

Ouverture du Projet

  1. Dans PIO Home, cliquer sur « Open Project »

  2. Naviguer vers le dossier du firmware :

    • Mono : PVRouter-1-phase-main/Mk2_fasterControl_Full/

    • Tri : PVRouter-3-phase-main/Mk2_3phase_RFdatalog_temp/

  3. PlatformIO détecte automatiquement le fichier platformio.ini

  4. Le projet s’ouvre avec tous les fichiers visibles dans l’explorateur

Configuration du Projet

PlatformIO télécharge automatiquement :

  • Le compilateur AVR-GCC avec support C++17

  • Les bibliothèques nécessaires (ArduinoJson 6.x, OneWire, U8g2…)

  • Les outils de programmation

Note

Le premier téléchargement des dépendances peut prendre 5-10 minutes selon votre connexion Internet. PlatformIO affiche la progression dans le terminal intégré.

Compilation et Téléversement

  1. Connecter le routeur via l’adaptateur FTDI (voir étapes communes dans la version-specific include)

  2. Dans la barre inférieure de VS Code, cliquer sur l’icône « Upload » (→)

  3. PlatformIO compile automatiquement et téléverse le firmware

  4. Surveiller le terminal pour les messages de progression

Sélection de la Configuration

Le firmware contient plusieurs environnements préconfigurés :

  • env:release : Version normale

  • env:temperature : Version avec support sondes de température

  • env:debug : Version avec messages de débogage supplémentaires

Pour changer d’environnement :

  1. Cliquer sur le sélecteur d’environnement dans la barre inférieure

  2. Choisir la configuration désirée

  3. Recompiler le projet

Astuce

PlatformIO est recommandé pour les utilisateurs avancés qui développent ou modifient le firmware. Pour un usage standard, Arduino IDE suffit amplement.

Configuration PlatformIO terminée ! Passez maintenant aux étapes spécifiques à votre version (monophasé ou triphasé).