Flasher l’ESP32
Maintenant il faut envoyer du programme dans l’ESP. Pour cela il y a deux notions :
- Le sketch contenant le programme principal ‘.ino’
- Les bibliothèques nécessaires ‘lib’
Il faut commencer par récupérer le .zip contenant sketch et bibliothèques ici (c’est un fichier zippé avec 7zip ; enlevez l’extension .pdf pour le remettre en .7z) :
ESP32_RTSP_Cam_v1.8.7z.pdf (237,3 Ko)
(mis à jour v1.8 avec les bonnes bibliothèques)
Dedans vous trouverez le sketch nommé « ESP32_RTSP_Cam.ino » et dans le dossier « lib », six dossiers (ArduinoJson, Auto-connect, Micro-RTSP, PageBuilder, AsyncTCP et ESPAsyncWebServer) à transférer dans votre environnement Arduino. Les bibliothèques de l’IDE Arduino sont normalement dans « C:\Users<votre utilisateur>\Documents\Arduino\libraries ». Si ce n’est pas le cas, réouvrez les préférences d’Arduino (Fichier / Préférences) et vous trouverez l’emplacement adéquat.
Le sketch peut être ouvert de n’importe quel emplacement mais il est mieux de le ranger dans le dossier Arduino dans Documents.
Une fois le sketch ouvert, vous pouvez vérifier que toutes les bibliothèques nécessaires sont présentes en cliquant sur le bouton de vérification…
Il est possible que vous ayez des « Attention :… » mais normalement la vérification doit se terminer par un message du style :
Le croquis utilise 1010698 octets (32%) de l’espace de stockage de programmes. Le maximum est de 3145728 octets.
Les variables globales utilisent 73152 octets (22%) de mémoire dynamique, ce qui laisse 254528 octets pour les variables locales. Le maximum est de 327680 octets.
Il n’y a plus qu’à flasher l’ESP32 avec ce code.
Néanmoins, avant de flasher, vous pouvez modifier quelques paramètres :
- #define RESOLUTION FRAMESIZE_UXGA // FRAMESIZE_ + QVGA|CIF|VGA|SVGA|XGA|SXGA|UXGA : permet de modifier la qualité d’image.
- #define PIN_FLASH_LED -1 : permet de faire flasher la led à chaque capture d’image fixe. Mettre 4 si vous voulez avoir le flash.
Si vos connexions sont correctes, et votre convertisseur reconnu, vous pouvez brancher le tout sur le port USB de votre PC, et récupérer le port COM dans le gestionnaire de périphériques.
Il faut ensuite définir ce port COM dans l’IDE Arduino, pour cela retournez dans ‘Outils’ et sélectionnez le port COM correct.
Et pour finir, cliquer sur ‘Téléverser’…
Après pas mal de messages, vous devriez voir apparaître des lignes représentant un progression en pourcentage (l’écran ne scrolle pas tout seul) puis un message indiquant un reset de l’ESP.
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:0a:c4:a6:7a:84
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 3855.1 kbit/s)...
Hash of data verified.
Compressed 17392 bytes to 11186...
Writing at 0x00001000... (100 %)
Wrote 17392 bytes (11186 compressed) at 0x00001000 in 0.1 seconds (effective 966.2 kbit/s)...
Hash of data verified.
Compressed 1010816 bytes to 548716...
Writing at 0x00010000... (2 %)
Writing at 0x00014000... (5 %)
Writing at 0x00018000... (8 %)
Writing at 0x0001c000... (11 %)
Writing at 0x00020000... (14 %)
Writing at 0x00024000... (17 %)
Writing at 0x00028000... (20 %)
Writing at 0x0002c000... (23 %)
Writing at 0x00030000... (26 %)
Writing at 0x00034000... (29 %)
Writing at 0x00038000... (32 %)
Writing at 0x0003c000... (35 %)
Writing at 0x00040000... (38 %)
Writing at 0x00044000... (41 %)
Writing at 0x00048000... (44 %)
Writing at 0x0004c000... (47 %)
Writing at 0x00050000... (50 %)
Writing at 0x00054000... (52 %)
Writing at 0x00058000... (55 %)
Writing at 0x0005c000... (58 %)
Writing at 0x00060000... (61 %)
Writing at 0x00064000... (64 %)
Writing at 0x00068000... (67 %)
Writing at 0x0006c000... (70 %)
Writing at 0x00070000... (73 %)
Writing at 0x00074000... (76 %)
Writing at 0x00078000... (79 %)
Writing at 0x0007c000... (82 %)
Writing at 0x00080000... (85 %)
Writing at 0x00084000... (88 %)
Writing at 0x00088000... (91 %)
Writing at 0x0008c000... (94 %)
Writing at 0x00090000... (97 %)
Writing at 0x00094000... (100 %)
Wrote 1010816 bytes (548716 compressed) at 0x00010000 in 8.4 seconds (effective 957.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 119...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (119 compressed) at 0x00008000 in 0.0 seconds (effective 1536.0 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Vous pouvez débrancher le convertisseur, enlever le shunt entre GPIO0 et GND et rebrancher le convertisseur pour réalimenter l’ESP. Dans l’IDE Arduino, cliquez sur Outils / Moniteur Série puis configurez la vitesse à 115200 baud et faites un reset de l’ESP.
Le moniteur doit indiquer (entre autres choses) « → Created streamer width=1600, height=1200 »
Félicitations, votre ESP CAM est programmé !