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
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.
- Lancer
esptool.py
(Remplacer le COMx par le vôtre)
esptool.py --chip esp32 --port COM6 erase_flash
- 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...
- 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...
- Ensuite vous pouvez utiliser Putty pour confirmer que le tout a fonctionné:
É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
Vous pouvez à présent programmer en javascript sur votre module ESP32.