Nous allons voir comment programmer une carte ESP32 ou ESP8266 en MicroPython avec Visual Studio Code qui est un IDE de plus en plus utilisé pour la programmation dans différent langage. Il est possible de programmer la carte ESP32/ESP8266 avec VS Code et l’extension Platform.IO en C/C++. Il peut être intéressant d’utiliser le même outil pour programmer le microcontrôleur avec MicroPython
Présentation de Visual Studio Code
Visual Studio Code est un éditeur de code extensible et léger développé par Microsoft. VsCode apporte de nombreuses fonctionnalités comparé à l’IDE Arduino:
- Complétion automatique
- Mise en évidence de la syntaxe
- Fonctionnalité de débogage
- Programmation dans plusieurs langages (C++, C#, Java, Python, PHP, etc.)
- Gestion de projet
- Gestion de dépôt Git
- Etc.
Il est en source libre et disponible sur les plateformes Windows, Linux et MacOS.
Installation du Firmware MicroPython sur la carte ESP
Pour installer le firmware MicroPyhton sur la carte ESP32 ou ESP8266, vous pouvez utiliser un des deux tutoriels suivants:
Installation de Visual Studio Code
Allez sur la page de téléchargement de Visual Studio Code et téléchargez la version correspondante à votre OS.
Lancez l’installateur et suivez la procédure
Installation de Pymakr
Pour pouvoir programmer en Python, il faut installer l’extension correspondante.
Cliquez sur l’icône « Manage » (roue dentée) en bas à gauche et sélectionnez Extensions (ou Ctrl+Shift+X)
Recherchez ensuite et sélectionnez « Pymakr ». Puis installez, l’extension.
Cliquez sur l’icône Pymakr et sélectionner « create project »
Cliquez ensuite ADD DEVICE puis sélectionnez l’ESP connecté à l’ordinateur.
Une fois l’appareil sélectionné, vous pouvez le connecter en appuyant sur l’éclair
Installation de Node.js
Il se peut que sur l’étape précédente, l’étape de création de projet en cliquant « create project », ne marche pas correctement.
Dans ce cas là, pour régler ce souci il suffit d’installer un autre logiciel tiers nommé Node.js qui permettra le fonctionnement correcte de l’extension Pymakr. Rendez vous sur le site https://nodejs.org/en/ pour télécharger la version Windows (x64). Une fois téléchargé, vous pouvez exécuter l’installateur de l’application.
On clique 2 fois sur « next » en acceptant les conditions.
On choisi l’emplacement de l’application ( on peut laisser l’emplacement par défaut dans le dossier « Program Files » de votre ordinateur » ) puis on clique sur « Next ».
Ici, il n’est pas nécessaire de changer quoi que ce soit donc on clique sur « Next ».
Ici, il n’est pas nécessaire d’installer des outils supplémentaires tel que Chocolatey comme suggéré, alors on clique sur « Next ».
On finit par cliquer sur « Install », en autorisant l’installation avec les droits d’administrateur si l’ordinateur vous le demande.
L’installation de Node.js est terminé, on peut cliquer sur « Finish ».
On peut passer à la partie programmation en MicroPython sur Visual Studio Code. Cependant, assurez d’avoir bien fermé et redémarré Visual Studio Code pour qu’il prenne en compte Node.js.
Programmer la carte ESP32/ESP8266 en MicroPython
Une fois le projet configuré, vous pouvez lancer un terminal Pymakr dans l’onglet TERMINAL, cliquez sur la flèche à droite du « + » pour sélectionnez la console Pymakr
Appuyer sur « Entrée » pour établir la connexion « select/COM8 »
Vous pouvez à présent programmer en MicroPython directement sur l’ESP
Lancer un script Python sur votre ESP32/ESP8266
Il y a deux fichiers Python dans le projet:
- boot.py qui s’exécute au démarrage du microcontrôleur
- main.py qui contient le code principal et s’exécute juste après boot.py
Ouvrez le fichier main.py du projet et copier le code suivant
import sys import time def main(): print("MicroPython program is running ") time.sleep(0.5) if __name__=="__main__": print("{} initialized".format(sys.platform)) while(1): try: main() except KeyboardInterrupt: print("Program stopped") sys.exit(0)
Vous pouvez ensuite téléverser le code sur la carte en utilisant le bouton « Sync project to device »
Après un reset de la carte avec le bouton EN, vous pouvez voir que le code s’exécute correctement