ESP32 avec ESPruino

TG
  • Tommy Gingras
    Studio Webux S.E.N.C
    9 Février 2020

Introduction

Voici comment programmer le firmware ESPRUINO sur un ESP32.

Ce firmware permet de coder en Javascript pour contrôler le module.

La solution est très complète et facile à utiliser.

Ce tutoriel est fait avec Windows 7

Matériel

  • Un ESP32 ( ESP32-WROOM-32 ) (Amazon)
  • Python 3
  • esptool.py
  • Les firmwares
  • ESPRUINOWEB IDE
  • Putty

Étape 1 - Installer Python 3

Accéder à ce lien pour télécharger Python : Python

Suivez les instructions pour installer Python

Étape 2 - Installer esptool

ouvrir un Shell puis lancer la commande:

pip install esptool

Tester l’installation

$ esptool.py
esptool.py v2.8
usage: esptool [-h][--chip {auto,esp8266,esp32}] [--port PORT][--baud baud]
[--before {default_reset,no_reset,no_reset_no_sync}][--after {hard_reset,soft_reset,no_reset}] [--no-stub][--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]]
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,version}
...

esptool.py v2.8 - ESP8266 ROM Bootloader Utility

Étape 3 - Télécharger les firmwares

Accéder à ce lien : espruino

Choisir ESP32 puis cliquer sur la dernière version suivit du (Directory)

Télécharger les 3 fichiers suivants

  • bootloader.bin
  • espruino_esp32.bin
  • partitions_espruino.bin

Étape 4 - Installer le driver pour le ESP32

Accéder à ce lien : Driver

Puis suivez les instructions pour installer le driver

Étape 5 - Booter le Module ESP32 pour le flasher

Brancher le Module avec le port USB et s’assurer qu’il est détecté dans les périphériques (device manager),

Device manager ESP32 - CP210x

Device Manager

J’ai dû tenir le bouton ‘BOOT’ et en même temps cliquer une seule fois sur le bouton ‘EN’ puis après 1-3 secondes on peut relâcher le bouton ‘BOOT’ pour que le programme esptool.py soit en mesure de détecter la chip.

Donc, voici comment effacer le flash pour la reprogrammer.

  1. Lancer esptool.py (Remplacer le COMx par le vôtre)
esptool.py --chip esp32 --port COM6 erase_flash
  1. Appuyer sur BOOT et garder enfoncer, puis EN et relâcher BOOT

Voici un exemple de la sortie obtenu:

esptool.py v2.8
Serial port COM6
Connecting........**\_**.....\_
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 00:00:00:00:00:00
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.3s
Hard resetting via RTS pin...
  1. Programmer ESPRUINO

Assurez-vous d’être dans le bon répertoire,

Lancer cette commande:

esptool.py \
 --chip esp32 \
 --port COM6 \
 --baud 921600 \
 --after hard_reset write_flash \
 -z \
 --flash_mode dio \
 --flash_freq 40m \
 --flash_size detect \
 0x1000 bootloader.bin \
 0x8000 partitions_espruino.bin \
 0x10000 espruino_esp32.bin

La sortie obtenue:

esptool.py v2.8
Serial port COM6
Connecting........\_
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 00:00:00:00:00:00
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 15392 bytes to 10130...
Wrote 15392 bytes (10130 compressed) at 0x00001000 in 0.1 seconds (effective 892.2 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 166...
Wrote 3072 bytes (166 compressed) at 0x00008000 in 0.0 seconds (effective 877.7 kbit/s)...
Hash of data verified.
Compressed 1366240 bytes to 883347...
Wrote 1366240 bytes (883347 compressed) at 0x00010000 in 12.9 seconds (effective 844.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

  1. Ensuite vous pouvez utiliser Putty pour confirmer que le tout a fonctionné:

Shell ESPruino

Étape 6 - Installer ESPRUINO IDE

Accéder à ce lien : espruino web IDE

Puis suivez les instructions pour installer l’IDE

Pour utiliser l’IDE, vous devez fermer la fenêtre Putty pour libérer le port série,

Voici un exemple:

baudrate: 115200

ESPRUINO WEB IDE - ESP32

Interface ESPruino

Vous pouvez à présent programmer en javascript sur votre module ESP32.