Étiquettes : , , ,

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)

vscode-manage-extensions Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Recherchez ensuite et sélectionnez « Pymakr ». Puis installez, l’extension.

vscode-install-pymakr Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Cliquez sur l’icône Pymakr et sélectionner « create project »

vscode-pymakr-create-project Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Cliquez ensuite ADD DEVICE puis sélectionnez l’ESP connecté à l’ordinateur.

vscode-pymakr-select-device Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Une fois l’appareil sélectionné, vous pouvez le connecter en appuyant sur l’éclair

vscode-pymakr-connect-device Programmer un ESP32/ESP8266 avec MicroPython et VS Code

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.

image-3 Programmer un ESP32/ESP8266 avec MicroPython et VS Code
image-4 Programmer un ESP32/ESP8266 avec MicroPython et VS Code

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 ».

image-5 Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Ici, il n’est pas nécessaire de changer quoi que ce soit donc on clique sur « Next ».

image-6 Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Ici, il n’est pas nécessaire d’installer des outils supplémentaires tel que Chocolatey comme suggéré, alors on clique sur « Next ».

image-7 Programmer un ESP32/ESP8266 avec MicroPython et VS Code

On finit par cliquer sur « Install », en autorisant l’installation avec les droits d’administrateur si l’ordinateur vous le demande.

image-8 Programmer un ESP32/ESP8266 avec MicroPython et VS Code

L’installation de Node.js est terminé, on peut cliquer sur « Finish ».

image-9 Programmer un ESP32/ESP8266 avec MicroPython et VS Code

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

vscode-pymakr-terminal Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Appuyer sur « Entrée » pour établir la connexion « select/COM8 »

Vous pouvez à présent programmer en MicroPython directement sur l’ESP

vscode-pymakr-terminal-result Programmer un ESP32/ESP8266 avec MicroPython et VS Code

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

vscode-pymakr-open-main Programmer un ESP32/ESP8266 avec MicroPython et VS Code
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 »

vscode-pymakr-upload Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Après un reset de la carte avec le bouton EN, vous pouvez voir que le code s’exécute correctement

vscode-pymakr-script-run Programmer un ESP32/ESP8266 avec MicroPython et VS Code

Sources