IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

[IDE Arduino] Comment trouver le bon module de son ESP32 ?


Sujet :

Embarqué

  1. #1
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 063
    Points
    19 063
    Par défaut [IDE Arduino] Comment trouver le bon module de son ESP32 ?
    Salut à tous.

    Je possède plusieurs NodeMcu ESP32 que j'ai acheté chez Gotronic.
    La seule indication sur le devant est "ESP-WROOM-32" avec cette référence : "PCC ID:2AC7Z-ESPWROOM32".

    En consultant le net, il est dit que la référence du module à sélectionner dans l'IDE Arduino est celle indiqué au dos du composant, et au dos, il est indiqué "SBC-NODEMCU-ESP32".

    Je consulte dans l'IDE Arduino / outils / type de carte / ESP32 Arduino, et j'ai l'embarras du choix.
    Je ne trouve pas celui qui se nomme "SBC-NODEMCU-ESP32".
    Je prends le premier dont le nom se rapproche le plus de ma référence soit "NodeMcu-32S".
    Il fonctionne parfaitement, sauf que la documentation me dit que le CPU peut fonctionner jusqu'à 240MHz (Wifi/BT).

    La documentation technique qui se trouve chez Gotronic, m'indique que je dois sélectionner le module "ESP32 Dev Module", ce que je fais, et je trouve cette fois-ci la fréquence du CPU.

    Jusque là, je me dis tout va bien.

    Je crée ce sketch qui permet de lire l'adresse MAC de mon ESP32.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    /*****************************/
    /*                           */
    /*     ESP32 Mac Address     */
    /*                           */
    /*****************************/
    
    #include <WiFi.h>
    #include "Mac.h"
    
    void setup()
    {
    	Serial.begin(115200);
    	delay(1000);
    
    	Serial.print("ESP Board MAC Address:  ");
    	Serial.println(WiFi.macAddress());
    }
    
    void loop()
    {
    	Address_Mac();
    	delay(2000);
    }
    J'ai aussi developpé une autre façon de récupérer cette adresse MAC, que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void Address_Mac()
    {
    	Serial.print("Address MAC > ");
    
    	for (short i=0; i<6; i++)
    	{
    		unsigned int val = ( ESP.getEfuseMac() >> (i*8)) & 0x000000FF;
    		Serial.print(val,HEX);
    		if (i!=5) {Serial.print(":");}
    	}
    
    	Serial.println("");
    }
    Je teste mon sketch avec le module "ESP32 Dev Module" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    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:DIO, clock div:1
    load:0x3fff0018,len:4
    load:0x3fff001c,len:1216
    ho 0 tail 12 room 4
    load:0x40078000,len:10944
    load:0x40080400,len:6388
    entry 0x400806b4
    E (130) psram: PSRAM ID read error: 0xffffffff
    ESP Board MAC Address:  94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    J'ai une erreur que j'ai mis en rouge.

    Je refais le Téléversement mais cette fois-ci avec le module que j'ai trouvé "NodeMcu-32S" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    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:DIO, clock div:1
    load:0x3fff0018,len:4
    load:0x3fff001c,len:1044
    load:0x40078000,len:10124
    load:0x40080400,len:5856
    entry 0x400806a8
    ESP Board MAC Address:  94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Address MAC > 94:B9:7E:EA:77:AC
    Cette fois-ci, je n'ai pas l'erreur.

    J'ai mis en bleu les différences des deux Téléversements qui ont été fait à partir des deux modules.

    Comment sélectionner le bon module ESP32 dans l'IDE Arduino ?

    Je précise que mon problème est d'avoir le maximum de paramètres à gérer, comme celui de la fréquence du CPU.
    Or on constate que le module conseillé par Gotronic, si je ne me trompe pas, est le module standard ou si vous préférez le module par défaut.
    Celui que j'ai trouvé ("NodeMcu-32S") et que j'utilise depuis plusieurs années, fonctionne parfaitement.
    Mais je n'ai pas le paramétrage que je recherche.

    Y-aurait-il un autre module ESP32 qui soit totalement compatible avec mon ESP-WROOM-32 ?

    Non, je ne vais pas tous les tester car il y en a de trop.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  2. #2
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 516
    Points : 706
    Points
    706
    Par défaut
    Salut,

    personnellement, j'utilise "esp32doit-devkit-v1" pour mes ESP32 VROOM, que ce soit pour des devkit de la marque doit ou pas. Je n'ai jamais rencontré de problème.
    Tu peux toujours essayer.

    PS: je n'utilise plus guère l'IDE Arduino, mais plutôt VS Code + PlatformIO avec le framework Arduino.

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 063
    Points
    19 063
    Par défaut
    Salut jackk.

    J'utilise l'IDE Arduino uniquement pour la compilation et le téléversement.
    J'aimerai passer à une version light où je n'utilise que la partie compilation, sans avoir besoin de l'IDE qui ne me sert à rien.
    En ligne de commande et pourquoi pas, sur mon autre ordinateur Debian 11 (Bullseye).

    Pourquoi y-a-t-il autant de configuration pour l'ESP32 dans l'IDE Arduino ?
    S'il existe des différences entre tous ces ESP32, comment peut-on les connaitre ?

    Mon problème n'est pas de trouver un module qui fonctionne pour mon ESP32, j'en ai déjà un.
    Mon problème est de trouver le bon module, celui qui correspond à mon ESP-WROOM-32.
    Il se peut qu'il n'existe pas car il doit être compatible avec une autre version, certainement une plus récente.

    Ton module "DOIT ESP32 devkit v1", que je viens de tester, fonctionne avec l'exemple BLINK.
    Inversement, le module "ESP32 Dev Module", ne permet pas de faire fonctionner l'exemple BLINK.
    Il ne reconnait pas la variable "LED_BUILTIN". Pourquoi cette différence ?

    Je me demande si tous les ESP32 fonctionnent de la même façon ?
    Il doit exister des différences, comme celle du "PSRAM", que je n'ai pas.
    (Je ne sais même pas à quoi cela sert.)
    Dois-je comprendre que les différences ne concernent que le câblage des ESP32 vis-à-vis de la puce ?

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 516
    Points : 706
    Points
    706
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Il ne reconnait pas la variable "LED_BUILTIN". Pourquoi cette différence ?
    le module DOIT ESP32 devkit v1 embarque une led bleue connectée à GPIO2.
    L'ESP32 Dev Module n'en possède peut-être pas et "#define LED_BUILTIN 2" n'est visiblement pas présent dans un des fichiers d'entête associé à ce module.
    Je me demande si tous les ESP32 fonctionnent de la même façon ?
    Il doit exister des différences, comme celle du "PSRAM", que je n'ai pas.
    (Je ne sais même pas à quoi cela sert.)
    Dois-je comprendre que les différences ne concernent que le câblage des ESP32 vis-à-vis de la puce ?
    Il y a des différences entre les familles d'ESP32: les ESP32-S2 n'ont pas de bluetooth par exemple, la PS RAM n'est présente que dans les ESP32 WROVER.

    Bref, on ne peut pas choisir le bon module au hasard. Je n'utilise que des ESP32 WROOM-32 avec des kits de développement (DOIT ou autres), ce qui fait que le module DOIT ESP32 devkit v1 convient. J'ai récemment acheté des ESP32 WROOM nus pour installer sur des cartes que je développerai moi-même afin de limiter la conso au maximum. Je pense que je continuerai en choisissant le même type de carte en sachant que LED_BUILTIN ne correspondra plus à rien puisque je connecterai pas forcément une led sur GPIO2.

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 063
    Points
    19 063
    Par défaut
    Salut Jackk.

    Citation Envoyé par Jackk
    Bref, on ne peut pas choisir le bon module au hasard.
    D'où mon sujet.

    Citation Envoyé par Jackk
    le module DOIT ESP32 devkit v1 embarque une led bleue connectée à GPIO2.
    Mon ESP-WROOM-32 possède aussi une led bleue reliée à la GPIO2.

    Citation Envoyé par Jackk
    L'ESP32 Dev Module n'en possède peut-être pas et "#define LED_BUILTIN 2" n'est visiblement pas présent dans un des fichiers d'entête associé à ce module.
    Chaque groupe "#include" est spécifique au module sélectionné et donc à l'ESP32 utilisé. Du coup, je comprends mieux la raison de tous ces modules dans l'IDE Arduino. Je n'ai pas encore mis mon nez dans ces "#include". J'ai d'ailleurs une anomalie au démarrage de la compilation.

    Ce qui me fait dire que je devrai abandonner cet IDE Arduino et redéfinir ces bibliothèques afin de les optimiser pour mes ESP-WROOM-32.

    Citation Envoyé par Jackk
    Je n'utilise que des ESP32 WROOM-32 avec des kits de développement (DOIT ou autres), ce qui fait que le module DOIT ESP32 devkit v1 convient.
    Avant les ESP32, j'avais acheté un bus pirate TOL-12942.
    Ce produit ne fonctionne pas bien et en plus, il n'est plus maintenu par son créateur.
    Il est difficile de le faire évoluer, voire impossible car on ne trouve plus les accessoires à la vente.

    Je possède actuellement trois ESP-WROOM-32 dont l'un est dans un montage sur un breadbord pour un projet de domotique que j'ai fait.
    Plus je les utilise et plus j'aime ce microcontrôleur. Je le trouve mieux que l'Arduino que je considère comme cher à l'achat.
    L'ESP-WROOM-32 possède le WIFI et le BLUETOOTH natif, ce qui permet d'avoir accès à l'internet ou à d'autres périphériques.
    Je le trouve complet pour l'usage que j'en fait. C'est un très sérieux concurrent de l'Arduino.

    Je pense faire l'acquisition de trois autres ESP32, mais je n'envisage pas d'acheter le NodeMcu 8266 car cela ferait double emploi.

    J'aimerai me procurer un ESP32 avec camera, ainsi qu'avec LORA, histoire de voir comment cela fonctionne.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 516
    Points : 706
    Points
    706
    Par défaut
    J'aime beaucoup les ESP32 qui sont vraiment beaucoup plus performants que les Arduino. Il existe un compromis permettant d'exploiter les shields arduino avec un ESP32: l'ESPduino.

    Je n'ai pas trop compris le principe du bus pirate, mais pour debugger sérieusement (sans moniteur série donc), j'ai investi dans une carte JTAG. Ca valait encore 10€ l'an dernier, mais j'ai l'impression que ça a bien augmenté.
    Pour les ESP32 "nus", une petite station d'accueil est pratique et pas trop chère.

    Lora m'intéresse également, il faut juste que je me lance: j'ai un HAT concentrateur pour Raspberry et 2 nodes. Les prix ont bien augmenté de 50 à 100 % j'ai l'impression.

    En tout cas, amuse-toi bien avec les ESP. Si je peux me permettre, je te conseille ce site que tu dois sûrement connaitre et qui est une mine d'informations

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 063
    Points
    19 063
    Par défaut
    Salut Jackk.

    Citation Envoyé par Jackk
    Je n'ai pas trop compris le principe du bus pirate, mais pour debugger sérieusement (sans moniteur série donc), j'ai investi dans une carte JTAG.
    Le but est de prendre le contrôle d'un périphérique, sauf que le produit ne fonctionne pas correctement.
    J'ai trouvé l'idée bonne, mais au final la conception de ce bus pirate est brouillon.

    Je l'ai acheté pour contrôler un afficheur LCD.
    Sous Windows, donc en 'C', j'ai écrit un outil qui me permet en mode série de le contrôler et de manipuler quelques montages.
    C'est intéressant mais tu es vite limité par ses fonctions.

    J'ai découvert par la suite l'ESP32 que je trouve plus puissant et moins compliqué à mettre en oeuvre.
    J'ai repris tous mes montages que j'avais fait avec le bus pirate, et je les ai testés à nouveau avec l'ESP32.
    J'ai créé une horloge avec quatre digits à sept segments sur une breadboard, que je ne pouvais pas faire avec le bus pirate.
    Ou encore faire un chenillard avec deux 74HC595 et gérer deux bargraphes avec un max7219.
    Le point intéressant du ESP32 est la wifi. Cela m'a permis de faire un projet de domotique et de le piloter à distance.

    Une carte JTAG est plus évoluée que mon bus pirate, mais l'idée est la même mais en mieux. Je n'en ai pas trop l'utilité.

    Citation Envoyé par Jackk
    Pour les ESP32 "nus", une petite station d'accueil est pratique et pas trop chère.
    Intéressant, mais je n'en ai pas besoin pour l'instant.
    Je ne fais pas de soudures et encore moins des circuits imprimés. Peut-être un jour.

    Citation Envoyé par Jackk
    Lora m'intéresse également, il faut juste que je me lance:
    Je ne possède pas encore le matériel. Je ne sais pas trop si c'est ce que je recherche.
    Je désire faire de la communication autrement que par le wifi et le bluetooth sur une longue distance.
    J'ai découvert LORA par le site de la framboise314.
    J'ai trouvé que la mise en oeuvre était trop compliqué pour ce que je désire faire. Et en plus, il faut s'abonner.
    Il faut passer par une passerelle qui, selon le billet, n'est plus maintenue.

    Citation Envoyé par Jackk
    Si je peux me permettre, je te conseille ce site que tu dois sûrement connaitre et qui est une mine d'informations
    Je connais les exemples qui sont illustrés par Sara et Rui Santos. Oui, je m'en inspire pour mes montages.

    Je fais surtout des exercices pour comprendre le fonctionnement de l'ESP32 et je n'ai fais qu'un seul projet, la domotique.

    Je suis plus tourné vers la programmation que l'électronique.
    C'est la domotique qui m'intéresse et la prise de contrôle à distance.

    Je possède aussi des Raspberry Pi.
    Pour un écran TFT 1,8" de chez Jot-it, j'ai écrit en 'c' un pilote pour gérer l'affichage.
    Je me suis amusé à afficher des mini images sur ce Module Unicorn HAT HD PIM273.
    Je fais du développement système en 'C', comme gérer des threads, le mutex, les sémaphores, des timers ...
    Un de mes projets a été de gérer 18 leds rouges, jaunes et vertes à partir de deux boutons en faisant des animations que j'avais programmées.
    Le plus compliqué pour moi, a été de faire le montage sur la breadboard afin de tout y faire tenir : T Cobbler, 18 leds, 2 BP, des résistances de 1k ohms et de 10k ohms et des fils que j'ai collés sur la breadboard.

    Le plus difficile est de trouver de nouveaux projets et de les concrétiser.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/10/2012, 14h58
  2. Réponses: 1
    Dernier message: 23/05/2012, 17h54
  3. comment trouver un bon antivirus sur Linux
    Par Tchendjou dans le forum Sécurité
    Réponses: 2
    Dernier message: 05/05/2010, 08h37
  4. comment trouver le bon fichier intiSID.ora ?
    Par farenheiit dans le forum Administration
    Réponses: 10
    Dernier message: 13/12/2007, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo