uPiCraft, un IDE dédié au développement d’objets connectés en MicroPython pour ESP8266, ESP32, microbit, pyBoard

Table des matières

Dans les deux précédents articles (déballage de la Wemos LoLin32 Lite sous MicroPython et comment (ré)installer le firmware MicroPython ), nous avons découvert succinctement le firmware MicroPython pré-installé sur la Wemos LoLin32 Lite. Le MicroPython est un portage du langage Python adapté aux micro-contrôleurs. On dispose d’un interpréteur (REPL et WebREPL depuis un navigateur) ainsi que d’un système de fichier qui permet de gérer les scripts. L’interpréteur de commande REPL (ou WebREPL) est parfait pour faire des tests, prendre en main l’environnement et faire des opérations de maintenance (configuration WiFi, gestion des scripts, arrêter un script…) mais c’est loin d’un éditeur.
Heureusement, l’équipe de Dfrobot a développé un petit éditeur de code (IDE) simple et très efficace. Il est même capable d’installer le firmware MicroPython dès qu’on branche une nouvelle carte de développement. Il supporte les cartes à base d’ESP32, ESP8266, Pyboard, WyPi et Micro:bit de la BBC. Nous allons découvrir tout ça maintenant

Installer uPyCraft sur Windows

Pour le moment l’IDE uPyCraft n’est disponible que pour Windows. Je l’ai testé sur un Windows 10 64-bits sans aucun plantage. Les versions pour macOS et Linux sont annoncées mais le lien n’est pas encore actif. Le code source n’est malheureusement pas proposé au téléchargement, impossible donc pour nous d’adapter et de compiler le code pour d’autres plateformes. La page de téléchargement d’uPiCraft est ici. uPiCraft est livré sous la forme d’un exécutable qui ne nécessite aucun installation. C’est très pratique pour l’emporter sur une clé USB.

upycraft download micropython ide

Une documentation en partie traduite en anglais (le reste est en chinois) est accessible depuis le menu d’aide ou directement sur cette page web. Heureusement, Google translate peut venir à notre secours !

Installer le firmware MicroPython sur un ESP8266 ou ESP32

Si vous n’avez pas encore testé le firmware MicroPython, c’est peut être le moment. Munissez vous d’une carte ESP8266 ou ESP32. Ici, j’ai utilisé une Wemos d1 mini. Branchez la carte sur un port USB et lancer uPiCraft. Dans le menu Tools, ouvrez le sous-menu Serial et sélectionnez le port COM sur lequel est branché la carte. uPiCraft est capable d’installer le firmware sur les cartes à base d’ES8266, ESP32 ainsi que sur les cartes microbit de la BBC.

Il y a deux méthodes pour installer le firmware. La première consiste à se connecter à la carte en cliquant sur l’icône de connexion (attention, l’icône est inversée).

7 icone connexion serie

Si le firmware n’est pas détecté, une fenêtre s’ouvre et propose d’installer ce dernier. La seconde méthode consiste à appeler l’utilitaire d’installation Burn Firmware depuis le menu Tools.

2 upicraft micropython burn firmware esp8266 esp32

Plusieurs options sont disponibles :

  • Il faut indiquer le type de carte : ESP8266, ESP32 ou microbit
  • On peut effacer la mémoire flash, la commande erase_flash de l’outil esptool.py. C’est préférable
  • Indiquer le port COM si plusieurs cartes sont connectées. Attention à le pas vous tromper, le mieux est de débrancher les autres cartes !
  • uPicraft est capable d’aller récupérer la dernière version disponible du firmware pour la carte sélectionnée. Une connexion internet est nécessaire pour cela
  • Sinon, on peut indiquer le chemin vers un firmware récupéré directement sur le site officiel de MicroPython ici

On termine en lançant l’installation du firmware.

2b upicraft micropython burn firmware esp8266 esp32

Fonctionnalités proposées par uPiCraft

uPiCraft derrière son interface simple met à disposition toutes les fonctionnalités que l’on connait déjà sur les outils en ligne de commande rshel (présenté dans ce tutoriel) ou ampy d’Adafruit. L’énorme avantage d’uPiCraft est de pouvoir développer directement sur la carte. On peut à tout moment téléverser (Download) ou téléverser et exécuter (Download And Run) le script. On a également accès au système de fichier. On peut naviguer dans l’arborescence des dossiers et réaliser des

Le Workspace (espace de travail)

On dispose d’un espace de travail (Workspace) qui permet de gérer les projets.

Menu Fichier

3 upicraft menu fileLes options du menu fichier sont très classiques. Outre les fonctions de création, ouverture et sauvegarde de fichier, on y trouve également le menu Examples qui regroupe les exemples par catégories. Certains exemples sont de simples raccourcis qui indique l’exemple qui utilise la fonction recherchée. L’option flush Directory permet d’actualiser les dossiers et les fichiers de la barre de navigation latérale. C’est pratique lorsqu’on ajoute ou déplace manuellement des fichiers dans le workspace. C’est d’ailleurs le seul moment à notre disposition pour le moment pour organiser les fichiers dans le workspace. Il faut obligatoirement passer par le gestionnaire de fichier de Windows pour déplacer manuellement les fichiers dans les dossiers des projets.

Menu Edit

uPiCraft est un éditeur simple mais qui dispose toutefois d’une vérification syntaxique (option Check Syntax).

3 upicraft menu edit

Menu Tools

4 upicraft menu toolsSi vous voulez vous lancer dans le développement d’objets connectés en MicroPython, vous devez absolument tester uPiCraft. L’éditeur de code est capable de vérifier la syntaxe et d’indiquer les lignes concernées en cas d’erreur. La communication avec la carte est totalement transparente. On peut lancer ou interrompre un script à tout moment (avec la touche F5). Le script de démarrage boot.py est très facilement modifiable. Enfin uPiCraft propose quelques librairies qui manquent au firmware (mesures de température ds18b20, HT1632, MLX90614, écran OLED SSD1306, MQTT…). On trouvera également quelques exemples pour prendre en main le langage. On y accède depuis le menu File. La liste des exemples est modifiée en fonction de la carte de développement sélectionnée dans le menu Tools -> Board.

Barre d’icone et menu contextuel

On dispose enfin d’une barre de menu qui regroupe quelques commandes :

  • Créer un nouveau script
  • Ouvrir un fichier
  • Enregistrer le fichier courant
  • Envoyer et lancer le script sur la carte
  • Arrêter le script en cours d’exécution sur la carte
  • Connexion / déconnexion à la carte via le port série (attention, l’icône est inversée
  • Annuler (Undo) / refaire (Redo)
  • Vérifier la syntaxe
  • Effacer la console

5 upicraf barre icones

On dispose enfin d’un menu contextuel pour réaliser les opérations sur les fichiers. On l’ouvre en faisant un clic droit sur un fichier. Le menu permet de :

  • Run : lance l’exécution du script
  • Open : récupère le script et ouvre celui-ci dans l’éditeur.
  • Close : ferme le fichier dans l’éditeur. Attention, il n’y a pas de vérification. Si des modifications ont été apportées au fichier, il faut déjà les enregistrer et envoyer le fichier avec l’option Download depuis le menu Tools.
  • Delete : efface le foichier
  • Default Run : uPiCraft créé un fichier main.py (lancé automatiquement au démarrage de la carte) et créé un lien vers le fichier pour le lancer au démarrage de la carte. C’est un bonne méthode pour structurer son projet plutôt que de tout coder dans le script main.py. Voici un exemple d’appel de script exec(open(‘./demo.py’).read(),globals())
  • Rename : pour renommer le fichier
  • New Dir : pour créer un nouveau dossier
Remarque. Le menu s’ouvre sur tous les fichiers mais en fait, les options du menu ne sont valables que sur les fichiers du device connecté.

8 upicraft menu contextuel fichier

Remarque concernant la manipulation des fichiers

Comme nous venons de le voir, les nouveaux scripts sont enregistrés dans le workspace. Pour les envoyer sur la carte, on peut procéder de 3 façons :

  • Depuis le menu Tools
    • Download pour le téléverser
    • DownloadAndRun pour le téléverser et l’exécuter directement
  • A l’aide de la souris, on peut directement glisser le fichier sur le device. Il n’est pas possible de déplacer un dossier complet dans cette version

Un petit exemple pour finir

Rien de mieux qu’un petit exemple pour conclure cet article. Allez dans le menu File puis dans les exemples Basic, ouvrez le script Blynk. Modifiez la broche. Ici, j’ai connecté la LED sur la broche D4 qui correspond au GPIO2. En cas de besoin, voici le repérage des broches de l’ESP8266. Contrairement à la programmation des ESP8266 en C++ avec l’IDE Arduino, il n’y a pas de mappage des broches. Par exemple, on doit indiquer 2 au lieu de D4.

esp8266 pinout

Créer un nouveau script et collez le code ci-dessous en modifiant la broche dans la déclaration (ligne 5).

#hardware platform: FireBeetle-ESP8266

import time
from machine import Pin
led=Pin(2,Pin.OUT)

while True:
  led.value(1)
  time.sleep(0.5)
  led.value(0)
  time.sleep(0.5)

Assurez-vous d’être connecté à l’ESP8266 puis appuyez sur F5 pour téléverser et lancer le script. La Led doit commencer à clignoter immédiatement. Pour interrompre le script, placez le curseur dans la console en bas de l’écran et appuyez sur CTRL + C.


upicraft blink example

Si la Led est resté allumée, exécutez les commandes suivantes

>>> from machine import Pin
>>> led=Pin(2,Pin.OUT)
>>> led.value(0)

Voilà, j’espère que vous aurez envie d’essayer le MicroPython maintenant. C’est un langage extrêmement puissant et assez simple à prendre en main. Dans le prochain tutoriel, nous verrons comment gérer la connexion WiFi.


Warning: A non-numeric value encountered in /home/clients/81b51a55b78a35c5c4c50dd82cac1015/web/wp-content/themes/rehub-theme/content-egg-templates/block_all_offers_grid.php on line 60
H027 Embase 2.54mm de Hauteur PCB Femme Pin Header Connecteur Droite Rangée...
0,01
-50% 50 ENSEMBLES Mini Micro JST 2.0 PH 2-Pin Connecteur Plug avec Fils...
0,02 0,04
Python 3: de débutant à avancé
9,99

 

Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]

Vous avez aimé ce projet ? Ne manquez plus aucun projet en vous abonnant à notre lettre d’information hebdomadaire!

quel modèle esp8266 choisir
Quel modèle d'ESP8266EX choisir en 2020 ?
guide choix esp32 development board
Quel ESP32 choisir en 2020 ?

Vous rencontrez un problème avec ce sujet ?

Peut-être que quelqu’un a déjà trouvé la solution, visitez le forum avant de poser votre question

1 commentaire
  1. peut t-on ajouter des librairies à upcraft ?

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Calculateurs
×
Calculateur loi d'Ohm
Tension (U) - en Volt
Courant (I) - en Ampère
Résistance (R) - en Ohms
Puissance (P) - en Watts

Ce calculateur permet de calculer les relations entre le courant, la tension, la résistance et la puissance dans les circuits résistifs.

Saisir au moins deux valeurs puis cliquer sur calculer pour calculer les valeurs restantes. Réinitialisez après chaque calcul.

Rappel sur la Loi d'Ohm
La loi d'Ohm explique la relation entre la tension, le courant et la résistance en déclarant que le courant traversant un conducteur entre deux points est directement proportionnel à la différence de potentiel entre les deux points.
La loi d'Ohm s'écrit U = IR, où U est la différence de tension, I est le courant en ampère et R est la résistance en Ohms (symbole Ω).
Loi d'Ohm (U=RI)
×
Déchiffrer le code couleur d'une résistance à 4 bandes
Bande 1 Bande 2 Multiplicateur Tolérance
   

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 4 anneaux
Formule : ab*cΩ ±d%
Les deux premières bandes (a, b) permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0) donne le nombre 10.
La troisième bande (c) est un coefficient multiplicateur. Par exemple, l'anneau rouge est un coefficient multiplicateur de 100, ce qui donne 10 X 100 = 1000Ω.
Le quatrième anneau (d) indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que sa valeur soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 4 bandes
×
Déchiffrer le code couleur d'une résistance à 5 bandes
Bande 1 Bande 2 Bande 3 Multiplicateur Tolérance

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 5 anneaux
Formule : abc*dΩ ±e%
Les trois premières bandes permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0), Noir (0) donne le nombre 100
La quatrième bande est un coefficient multiplicateur. Par exemple, l'anneau brun correspond au coefficient multiplicateur 10, ce qui donne 100 X 10 = 1000Ω.
Le cinquième anneau indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que la valeur de la résistance soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 5 bandes
×
Calculateur de résistance série pour une ou plusieurs LED
Tension d'alimentation en Volt
Tension directe en Volt
Courant en mA
Résistance calculée en Ω
Puissance estimée en W

Ce calculateur permet de déterminer la résistance requise pour piloter une ou plusieurs LED connectées en série à partir d'une source de tension à un niveau de courant spécifié.

Remarque. Il est préférable d'alimenter le circuit avec une puissance nominale comprise entre 2 et 10 fois la valeur calculée afin d'éviter la surchauffe
Couleur Longueur d'onde (nm) Tension (V) pour LED ⌀3mm Tension(V) pour LED ⌀5mm
Rouge 625-630  1,9-2,1 2,1-2,2
Bleu 460-470 3,0-3,2 3,2-3,4
Vert 520-525 2,0-2,2 2,0-2,2
Jaune 585-595 2,0-2,2 3,0-3,2
Blanc 460-470 3,0-3,2 1,9-2,1
Résistance en série pour une ou plusieurs LED
×
Calculateur durée de vie d'une batterie
Capacité de la batterie
Consommation de l'appareil ou objet connecté

Ce calculateur estime la durée de vie d'une batterie, en fonction de sa capacité nominale et du courant ou de la puissance qu'une charge en tire.

La durée de vie de la batterie est une estimation idéalisée. La durée de vie réelle peut varier en fonction de l'état de la batterie, de son âge, de la température, du taux de décharge et d'autres facteurs. C'est le mieux que vous pouvez espérer obtenir.

Autonomie de la batterie = capacité de la batterie en mAh / courant de charge en mA

Durée de vie batterie
À lire aussi
Composants
Sur le Forum
Domotique et objets connectés à faire soi-même
Domotique et objets connectés à faire soi-même
Vous avez aimé ce tutoriel

Ne manquez plus les prochains projets

Recevez chaque semaine le récapitulatif des tutoriels et projets.

Vous pouvez vous désabonner à tout moment.