- Qu'est-ce que PlatformIO?
- Configuration de PlatformIO pour Arduino Uno
- Programmation d'Arduino UNO à l'aide de PlatformIO IDE
- Programmation de la carte STM32 à l'aide de PlatformIO IDE
Le développement dans Arduino et Arduino IDE a toujours été facile et amusant avec leur interface utilisateur simple. L'IDE Arduino est un environnement de développement open source et gratuit avec toutes les fonctionnalités telles que l'écriture, la compilation et le téléchargement du code sur les cartes Arduino. Il est basé sur Java et fonctionne sur les principaux systèmes d'exploitation tels que Windows, OS X et Linux. Mais avec toute sa simplicité et sa grande communauté, il ne dispose pas de certaines fonctionnalités dont un développeur expérimenté aura besoin pour un développement rapide qui peut réduire la période de développement. Il existe de nombreux environnements de développement disponibles pour Arduino, mais tous présentent certains avantages et inconvénients. Aujourd'hui, nous allons commencer avec l' environnement de développement PlatformIO qui est facile à utiliser et a ajouté des fonctionnalités par rapport à l'environnement Arduino.
Qu'est-ce que PlatformIO?
PlatformIO est un écosystème open source basé sur Python pour le développement IoT et un IDE multiplateforme avec un débogueur unifié s'exécute sur Windows, Mac et Linux. PlatformIO est livré avec un gestionnaire de bibliothèque pour des plates-formes telles que la prise en charge d'Arduino ou MBED, ainsi que des tests unitaires et des mises à jour du micrologiciel. Le PlatformIO prend en charge un certain nombre de plates-formes, de cadres, de cartes comme Arduino, ESP32, ESP8266 et est livré avec un certain nombre d'exemples et de bibliothèques. Il est indépendant de la plate-forme sur laquelle il s'exécute et il ne nécessite que Python installé sur l'ordinateur.
Avantages de PlatformIO
Le PlatformIO présente un développement rapide avec ses fonctionnalités telles que l'achèvement de code C / C ++ et Smart Code Linter pour un développement professionnel rapide qui n'est pas présent dans l'IDE Arduino. En plus de cela, PlatformIO offre le support de thème avec des couleurs sombres et claires pour le développement à tout moment. Il est également livré avec les navigations Smart Code et le formatage du code. Les fonctionnalités principales incluent le système de construction multiplateforme, le gestionnaire de bibliothèque, le moniteur de port série, etc.
Le Unified Debugger avec un support pour les multiples architectures et plates-formes de développement permet de déboguer plusieurs cartes intégrées avec Zero-Configuration. Le débogueur unifié PlatformIO possède des fonctionnalités telles que des points d'arrêt conditionnels, des expressions et des points de surveillance, une visionneuse de mémoire, un redémarrage à chaud d'une session de débogage active. Le PlatformIO Core est écrit en Python 2.7 et fonctionne sur Windows, macOS, Linux, FreeBSD et même les ordinateurs de la taille d'une carte de crédit basés sur ARM comme Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, etc. En dehors de cela, PlatformIO a File Explorer qui aide l'organisation des fichiers lorsque le projet atteint un certain niveau et l'organisation devient nécessaire.
Configuration de PlatformIO pour Arduino Uno
L'utilisation de PlatformIO est très simple et nécessite quelques étapes pour commencer. PlatformIO nécessite l'installation de Python sur l'ordinateur car, comme expliqué ci-dessus, le noyau PlatformIO a été écrit en Python 2.7. Notez que PlatformIO ne prend pas en charge Python 3, il est donc recommandé d'installer la version Python 2, puis de procéder à la configuration de PlatformIO IDE. PlatformIO est un IDE et fournit des packages officiels (plugins, extensions) pour les IDE et les éditeurs de texte les plus populaires.
Aujourd'hui, nous allons installer PlatformIO dans un éditeur de texte comme Atom et Visual Studio Code. Dans la documentation officielle de Platform IDE, il indique que l'IDE PlatformIO pour VS Code (Visual Studio Code) offre de meilleures performances système et que les utilisateurs ont trouvé plus facile de démarrer. Nous allons donc configurer PlatformIO dans Visual Studio Code. Le VS Code est un éditeur de texte bien connu avec un certain nombre d'extensions nous permettant de développer dans différents langages de programmation.
Commençons par configurer PlatformIO pour commencer à développer du code dans Arduino UNO. Il y a des étapes impliquées qui sont expliquées ci-dessous:
- Installez d'abord le code Visual Studio à partir de son site officiel. Les étapes d'installation de Visual Studio Code ne seront pas expliquées ici, mais vous pouvez le trouver sur le site Web de VS Code. Il y a des étapes générales impliquées, tout comme l'installation de tout autre logiciel sur le système d'exploitation Windows.
- Le code Visual Studio ressemblera à ce qui suit lorsqu'il est correctement installé.
- L'étape suivante comprend l'installation de PlatformIO à l'aide des extensions de code VS. Pour cela, vous devez accéder à l'icône Extensions dans le coin supérieur gauche du code VS. Il y a une icône de boîte carrée qui est la 5ème icône dans le coin supérieur gauche. Cliquez simplement dessus et un champ de recherche apparaîtra juste à côté de celui où vous pouvez trouver de nombreuses extensions pour différents langages de programmation tels que C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript et Node.js etc.
- Recherchez «PlatformIO» dans la zone de recherche d'extension et vous verrez l'icône PlatformIO avec le nom et la description. Cliquez simplement dessus et installez-le. L'installation des chaînes d'outils et d'autres dépendances peut prendre un certain temps. Les dépendances incluent l'environnement C / C ++ car le développement Arduino est principalement effectué sur C / C ++.
- Lorsque l'installation est terminée, vous verrez l'interface suivante. L'interface comprend toute la navigation nécessaire telle que la création d'un nouveau projet, l'importation d'un projet Arduino, un projet ouvert, des exemples de projets, etc. Il est recommandé de redémarrer l'éditeur de code VS après l'installation de PlatformIO.
Ceci termine les étapes d'installation de PlatformIO. Le PlatformIO est maintenant installé et prêt à être utilisé. Tout comme Arduino IDE, nous allons commencer par le programme Blink et essayer de télécharger le programme Blink dans Arduino UNO.
Programmation d'Arduino UNO à l'aide de PlatformIO IDE
L'interface PlatformIO sera expliquée simultanément lors de la programmation de l'Arduino UNO. Ici, nous programmons Arduino pour le clignotement des LED à l'aide de PlatformIO. La même chose peut être faite en utilisant Arduino IDE. Suivez les étapes ci-dessous pour créer un nouveau projet de LED clignotante.
- Sélectionnez l'onglet «Nouveau projet» dans le menu d'accès rapide.
- Nommez le projet (ici, c'est «Blink»). Recherchez et sélectionnez la carte qui est Arduino UNO. Puisque nous travaillons dans le cadre Arduino, le cadre sélectionné sera donc Arduino. Après avoir rempli tous les détails, cliquez simplement sur Terminer.
- Le projet commencera à être créé en collectant des ressources et d'autres dépendances.
- Lorsque le projet est créé avec succès, vous recevrez le message d'invite «Le projet a été initialisé avec succès» avec tous les détails remplis.
- Pour ouvrir le projet créé, faites simplement défiler le menu d'accueil de PlatformIO et vous verrez toute la liste des projets créés depuis le début. Dans le coin droit du projet créé, cliquez sur «Ouvrir» pour ouvrir le projet et commencer l'édition.
- Lorsque le projet est ouvert, initialement, il ressemblera à son caché, mais ne vous inquiétez pas, PlatformIO dispose d'une fonction d'explorateur de fichiers où tous les fichiers du projet actuel seront trouvés. Allez simplement dans le coin supérieur gauche et ouvrez le 'Sans titre (Lieu de travail)'. Lorsque vous cliquez dessus, tous les fichiers apparaîtront sous forme de menu déroulant. Pour trouver l'éditeur de texte pour éditer le 'Code', sélectionnez 'src' et ouvrez 'main.cpp'. Le mode éditeur de texte apparaîtra sur l'écran d'accueil avec l'ouverture d'un nouvel onglet. Ici, vous pouvez écrire tous les codes du projet en cours.
- Écrivez simplement le code clignotant pour Arduino UNO. Notez que PlatformIO n'a pas l'accès par défaut aux bibliothèques Arduino, donc chaque fois que vous écrivez le code pour Arduino, incluez toujours la bibliothèque Arduino, c'est-à-dire «#include» au début du programme.
- La prochaine étape consisterait à compiler et télécharger le code. Pour ce faire, regardons les fonctions fournies par PlatformIO. De plus, PlatformIO sélectionne le port COM par défaut. Mais vous pouvez également modifier le port s'il ne s'agit pas du port COM souhaité. Le changement de port COM sera expliqué plus loin dans ce tutoriel. PlatformIO a des fonctions telles que créer, télécharger, télécharger sur un périphérique distant, nettoyer, tester, exécuter une tâche, moniteur série, nouveau terminal. Toutes les fonctions se trouvent dans le coin inférieur gauche de l'éditeur. Lorsque vous survolez les icônes, les fonctions seront affichées.
- Pour construire l'esquisse, cliquez sur «Construire» et pour télécharger l'esquisse, cliquez sur l'icône «Télécharger». Une fois le téléchargement terminé, vous pourrez voir le temps de téléchargement avec tous les autres détails et un message disant «Succès». Le code est téléchargé avec succès et vous pourrez voir le clignotement de la LED sur la carte Arduino.
Pour sélectionner ou modifier un port COM, accédez simplement à l'écran d'accueil PlatformIO, puis accédez aux appareils, ici vous pouvez voir tous les appareils disponibles connectés. Sélectionnez le port COM approprié et suivez la même procédure pour télécharger l'esquisse.
Programmation de la carte STM32 à l'aide de PlatformIO IDE
La programmation de la carte STM32 comportera des étapes exactement similaires, comme la programmation d'Arduino UNO expliquée ci-dessus. La différence sera la sélection de la carte pour STM32 lors de l'ouverture d'un nouveau projet pour STM32. La bonne chose à propos de PlatformIO est qu'il n'a besoin d'aucun package externe pour aucune carte à télécharger séparément, il télécharge automatiquement tous les packages et nous permet de sélectionner facilement une carte et d'accéder à l'éditeur. Nous utiliserons un programmeur externe JLink / JTAG / STLink / Serial pour télécharger le croquis vers STM32. STM32 peut également être programmé avec Arduino IDE. Suivez les étapes suivantes pour le programmer avec PlatformIO.
- Nommez simplement le projet (ici, c'est «Blink STM32»). Sélectionnez ensuite la carte pour STM32, c'est-à-dire « BluePill F103C8 (Generic) ». Sélectionnez ensuite Framework comme Arduino. Cliquez sur Terminer et attendez un certain temps car au départ, il faudra du temps pour télécharger les packages et les dépendances pour la carte STM32.
- Une fois configuré, le moment de création du prochain projet sera inférieur à celui du premier. Maintenant, allez simplement dans Untitled (Workspace) -> src -> main.cpp dans l'explorateur de fichiers de gauche.
- Maintenant, les étapes à venir seront importantes car il faut décider quel programmeur nous devrions utiliser pour programmer la carte STM32. Il existe de nombreux programmeurs disponibles tels que JTAG, STLink, JLink, Serial, etc. Tous fonctionneront mais vous devez configurer la page ou le fichier de configuration 'platformio.ini'.
- Dans ce projet, nous utilisons Serial Programmer CP210x USB to UART Bridge. Nous avons déjà programmé la carte STM32F103C8 en utilisant le port USB, la plupart des étapes ne seront prises qu'à partir de là. Vous pouvez visiter le lien et en savoir plus à ce sujet.
- Tout d'abord, connectez le programmeur série à la carte STM32 avec le mappage de broches suivant et connectez-le au PC.
Programmeur USB vers série |
Carte STM32 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Maintenant, allez dans l'explorateur de projet et ouvrez la page 'platformio.ini' et modifiez l'instruction comme indiqué dans l'image. Le upload_protocol indiquera ce que le programmeur doit utiliser (STLink, JLink, Serial, etc.). Le upload_port sélectionne le port COM. Vous pouvez trouver en allant à «Appareils» dans la page d'accueil. Modifiez le port COM en fonction de votre port COM.
- Allez dans le 'main.cpp' et changez le programme en programme Blink . Maintenant, téléchargez simplement le programme et il affichera le message de réussite et le temps de téléchargement. Maintenant, la LED commencera à clignoter connecté à la broche PC13 de la carte STM32.
Ceci termine le tutoriel complet sur la programmation de l'Arduino UNO ainsi que de la carte STM32 à l'aide de PlatformIO. Si vous rencontrez des difficultés en suivant les étapes, veuillez écrire sur notre forum ou commenter ci-dessous.