Adaptation d'1 programme IDE Arduino sur PlatformIO

Bonjour,

Pour tester le fonctionnement d'une ESP32-CAM, j'ai utilisé le tuto suivant : https://projetsdiy.fr/esp32-cam-aithinker-flash-firmware-test/. Après quelques soucis, ça fonctionne ( sous l'IDE Arduino ).

Mais en général, j'utilise PlateformIO sous VSCodium. Et là, j'ai quelques soucis.
En particulier, j'ai cherché à adapter mon fichier platformIO.ini afin qu'il corresponde à :

Pour l'adaptation à platformIO, j'ai donc cherché et trouvé ici ou là qu'il fallait insérer dans platformIO.ini les instructions suivantes :
board_build.flash_mode = qio ( pour Flash Mode :"QIO" ),
board_build_partitions = huge_app.csv ( pour Partition Scheme: "Huge APP (3MB No OTA) ),
build_flags = -DCORE_DEBUG_LEVEL=5 ( pour Core Debug Level: "Verbose" )( celle là, j'en suis encore moins sûr que les autres ),
, solutions/adaptations que j'ai trouvées sans vraiment les comprendre.

Mais malgré de nombreux essais, impossible de faire tourner le programme : pas d'erreur à la compilation, pas de problème au déversement dans la carte, mais le programme ne fonctionne pas ( il ne se passe rien : aucun retour sur le moniteur série, l'ESP32-CAM ne se connecte pas au réseau - et/mais en ouvrant le moniteur série sous l'IDE D'Arduino, j'ai un retour en boucle infinie d'instructions qui semblent montrer une erreur ( et le programme tourne en boucle à l'infini ) - si ça vous semble nécessaire, je dois pouvoir en donner une copie )

Donc quelqu'un peut-il me dire ce qu'il en pense ?

Je rajoute aussi que dans le choix de la carte ( c'est une ESP32-CAM et le tuto choisit "ESP32 Wrover Module" ), j'ai quelques hésitations entre les 2 cartes proposées suivantes : Espressif ESP-WROVER_KIT ou Al THINKER ESP32- CAM ( j'ai évidemment essayé avec chacune des 2 mais ça ne fonctionne toujours pas ). Donc si quelqu'un d'entre vous a déjà mis en œuvre une ESP32-CAM avec PlatformIO, peut-il me dire quelle carte il a choisi ? ( et aussi poster une copie de son fichier platformIO.ini ? )

Merci pour d'avance vos réponses et conseils.

Bonjour @PierreM_Arduino

Oui , ça devrait permettre de situer la nature du problème

Concernant le choix de la carte : le tutoriel a peut être été rédigé à un moment ou le choix AITHINKER ESP32-CAM n'était pas encore proposé dans l'IDE et où ESP32 Wrover Module, (première carte avec une RAM additionnelle dite PSRAM) était acceptable. je prendrais la première option puisq'elle défonit 'au plus près' la carte rellement utilisée.

C'est au créateur d'une carte ESP32 de préarer le fichier de définition de sa carte et de le transmettre à l'équipe gérant l'extension ESP32 pour insertion dans l'IDE. Pour PIO que je connais encore très peu il ya peut être ue étape de 'modération' .

(Un bon tutoriel est daté, indique la version des outils utilisés, la version des librairies utilsiées.....)

@al1fch : Voici le retour du moniteur série de l'IDE Arduino ( sur PlatformIO je n'ai aucun retour ), qui se répète en boucle à l'infini :

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:QIO, clock div:2
load:0x3fff0018,len:4
load:0x6a31fc9b,len:-1476097793
1162 mmu set 00010000, pos 00010000
1162 mmu set 00020000, pos 00020000
1162 mmu set 00030000, pos 00030000
1162 mmu set 00040000, pos 00040000
1162 mmu set 00050000, pos 00050000
1162 mmu set 00060000, pos 00060000
1162 mmu set 00070000, pos 00070000
1162 mmu set 00080000, pos 00080000
1162 mmu set 00090000, pos 00090000
1162 mmu set 000a0000, pos 000a0000
1162 mmu set 000b0000, pos 000b0000
1162 mmu set 000c0000, pos 000c0000
1162 mmu set 000d0000, pos 000d0000
ets Jun 8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)

cette ligne est dans la boucle qui se répète ?

SI oui c'est le chien de garde (WDT = watchdog) qui se manifeste pour resetter l'ESP32

oui. Ça semble même être la première ligne.

Hypothèse : après une compilation et un flashage sans pb le code n'a pas été implanté au bon endroit, l'ESP32 entre dans une boucle sans fin déclenchant le WDT

La carte sélectionnée dans le code (décommentée) est elle bien la carte sélectionnée dans PIO ? (AITHINKER ESP32CAM)

#define CAMERA_MODEL_AI_THINKER // Has PSRAM

Trouvé un tutoriel ici (mais sans fichier ini) : https://projetsdiy.fr/esp32-cam-migrer-projet-camerawebserver-ide-arduino-platformio/

*PlatformIO , chez moi est resté sur le pas de la porte.... pas de motivation pour l'effort nécessaire à une bonne prise en mains. Il ne tourne de temps à autre pour travailler des projets déjà développés avec cet IDE... projets qu'il m'est arrivé de migrer ..... vers l'iDE Arduino Un jour peut être car j'entrevois des fonctionnalités intéressantes...A ce jour le bonhomme ne s'est pas adapté à PIO !!

Oui, j'ai aussi essayé avec cette carte ( Al THINKER ESP32- CAM ) choisie dans PIO

la bonne carte doit être sélectionée dans deux endroits différents : dans le code et dans l'IDE

Merci, ça semble très intéressant. Je vais essayer de le tester dans la journée.

Premier retour du tutoriel " ESP32-CAM. Migrer le projet CameraWebServer pour l’IDE Arduino vers PlatformIO" : j'obtiens exactement le même problème à l’exécution ! ( qu'avec le tuto initial de mon message ( qui est une adaptation de CamaraWebServer ))

-Que donne l'exécution du programme CameraWebServer non adapté ?
-L'adaptation contient-elle en un endroit une longue boucle d'attente ? (susceptible de perturber le RTOS qui agit en coulisse)

Sous l'IDE d'Arduino, le programme fonctionne correctement ( celui fourni dans les exemples par Arduino tout comme celui ( adapté ) du site projetsdiy )

que donne ce fichier .ini ?

[env:esp32cam]
platform = espressif32
board = esp32cam
framework = arduino
monitor_speed = 115200

C'est le fichier .ini que j'utilise en ce moment pour mes essais ( créé par l'importation "automatique" de l'exemple CameraWebServer par "Import Arduino Project" de PIO )

déolè , pas d'autre idée.. c'est la répétition de ce genre de situation agaçante qui m'a améné à ne pas adopter PIO comme IDE "de tous les jours"