Auteur Sujet: ESP32 "bonne affaire"  (Lu 18815 fois)

simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
ESP32 "bonne affaire"
« le: juin 03, 2021, 08:55:12 pm »
Bonjour,

ESP32... on lit des choses qui donnent envie d'essayer. Mais ESP32 c'est toute une famille alors qui adopter ? J'ai ...opté pour un 38pins (tant qu'à faire) à 3,20euro pièce :
https://fr.aliexpress.com/item/32959541446.html?spm=a2g0s.9042311.0.0.63916c37cLotyv
plus 3Xrien pour le port (pourtant reçu en moins de 15j) et accompagné, pour simplifier les essais, d'un shield d'expansion :
https://fr.aliexpress.com/item/1005002363013005.html?spm=a2g0s.9042311.0.0.63916c37cLotyv

Sauf que... dans la famille ESP32 certains sont plus costauds que d'autres... et les miens sont trop larges pour les cartes d'extension ! (d'un pas "dupont", 2.5mm, argh...)

Les ESP32 je ferai autrement par contre les shield (il y en a deux) je ne m'en servirai jamais mais je n'aime pas jeter.
Aux dernière nouvelles, ils seraient prévus pour des ESP Vroom (?).
 
Si quelqu'un en à l'usage, je les cède pour rien, juste le prix du timbre pour l'expédition.

Qu'on se le dise.

Cordialement






msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #1 le: juin 04, 2021, 10:39:15 am »
Bonjour,

on s'est effectivement fait piéger pour LaBox, dont le premier pcb a été réalisé pour un module plus étroit de 2.54 mm. (22.86 mm)
Module que l'on trouve, mais plus rarement.

En fait le circuit intégré ESP32 est le même pour tous (il est dit ESP WROOM-32, c'est écrit dessus).

Ce qui change, c'est l’empattement du module 25.4 ou 22.86 mm ou même autre ...

Par ailleurs, la différence entre les modules 38 ou 30 broches est l'accessibilité aux pins de programmation de la flash memory, dont je n'ai pas vu l'intérêt jusqu'ici.

Le module 38 broches est présenté par Espressif comme l' ESP32-DevKitC V4
ailleurs, j'ai vu le module 30 broches donné comme  ESP32-DevKit V1
En dehors de LaBox j'utilise le module V1 comme il prend moins de place. Aucune différence sur le plan programmation.

D'après la photo sur Aliexpress, il semble que l’empattement des shields soit bien 25.4 mm Ceux reçus ne correspondent pas à la photo ? Le problème est ailleurs ?



« Modifié: juin 05, 2021, 09:05:51 pm par msport »
Cordialement

simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #2 le: juin 04, 2021, 10:51:44 pm »
Bonsoir,
Merci msport pour ces éclaircissements (nécessaires !)

Citer
D'après la photo sur Aliexpress, il semble que l’empattement des shields soit bien 25.4 mm
Eh non, la différence est tellement faible que c'est trompeur, c'est du 22,86 mm que j'ai reçu.


"laBox"? Je m'étais appuyé sur la photo de la réponse 467 ! Sans faire attention à la largeur et en retournant regarder il me semble que c'est une carte de 25mm.

Ce qui est d'ailleurs fort embêtant sur les breadboard Arduino classiques car elles limitent le câblage à un seul côté avec une ESP de 25mm !!



Mais après avoir regardé la photo "467" de plus près, je découvre qu'il existe des breadboards "spéciales" avec 2x6 rangées de brochages !
https://forum.locoduino.org/index.php?topic=922.467

Dommage qu'aujourd'hui elles semblent introuvables...



Souris verte

  • Newbie
  • *
  • Messages: 40
  • HO, DCC, Arduino...
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #3 le: juin 05, 2021, 07:52:12 am »
Bonjour,

Il semble y en avoir à 6 trous pour permettre le câblage de chaque côté.
https://coolcomponents.co.uk/collections/prototyping-breadboards/products/ad-11-advanced-solderless-breadboard

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #4 le: juin 05, 2021, 10:30:16 am »
Ou passer au modèle de compétition ...
https://www.ebay.fr/itm/114158599620
(on peut enjamber le milieu)
« Modifié: juin 05, 2021, 10:32:35 am par msport »
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1088
  • HO avec DCC++
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #5 le: juin 05, 2021, 02:11:59 pm »
Les ESP32 sont vraiment de très bons produits pour le prix. Excusez du peu, 240 Mhz pour la plupart des modèles, 4Mo de mémoire flash dont on pourra allouer 1, 2 ou 3 Mo pour un vrai stockage de fichiers pour des applications ou un site internet propre à l’ESP32. PWM sur toutes les broches, WiFi, Bluetooth, 3 x UART, CAN (avec nécessité d’ajouter un MCP2562) et double cœur !!!

Et même si vous ne développez pas en utilisant les deux cœurs, de nombreuses librairies le font pour vous comme les librairies CAN par exemple.

Les broches supplémentaires disponibles sur la version 38 pins par rapport à la 30 ne sont que des broches dont l’utilisation est limitée en usage normal (comme le précise msport). La 30 pins offre donc des services similaires.

C’est donc vraiment une belle petite bête.

Pour ceux qui sont habitué à écrire en C/C++, il y a des possibilités d’écriture qui n’existe pas dans le langage Arduino comme le tout bête mais bien pratique printf : printf("Valeur lue : %d\n", val)

Pour les extensions, moi je me suis fabriqué ma propre petite carte avec un convertisseur 5V (le convertisseur de l'ESP n'est sollicité que pour passer de 5v à 3,3v) et un "vrai" MCP2562 pour le CAN.



GERBER en PJ pour ceux que ça peut intéresser
« Modifié: juin 05, 2021, 02:43:59 pm par bobyAndCo »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #6 le: juin 05, 2021, 05:53:05 pm »
Bonjour Christophe,

Cette carte m'intéresse et j'ai commandé des ESP32 30 pins.

amitiés
Dominique
Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1088
  • HO avec DCC++
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #7 le: juin 05, 2021, 10:11:41 pm »
@Dominique -> Tu veux que je t'en envoie une ou deux par courrier ?

simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #8 le: juin 13, 2021, 10:10:09 pm »
Bonsoir,

ESP32 bonne affaire ? Oui finalement car pour un prix incroyablement ridicule on a une puissance de feu et des possibilités étonnantes ! Je pense en faire des cartes "satellites type V2" et elles y seront infiniment sous-employées.
Mais mais mais... j'ai bien  failli jeter l'éponge car ces petites bêtes sont capricieuses et je n'ai pas encore compris ce qu'on doit leur dire pour, par exemple, qu'elles acceptent un download plus de 5 fois sur 100 sans avoir besoin de forcer le boot via le minuscule bouton.
Ça et la note en début du code que je joins...
Peut-être le souci n'est-il pas l'ESP32 mais que le couple avec l'IDE Arduino est mal assorti ? Trimarco parle quelque part de PlatformeIO... à voir.

Le pire a été le bus CAN et quand rien ne marche et que les causes sont multiples... mais enfin ça fonctionne.

Les cartes de la photo postés par Boby&Co vont donc beaucoup m'intéresser... sauf que j'ai maintenant des ESP 38pins, faut d'avoir détecté que les 6pins "flash" ne serviraient à rien !
Alors question à Boby&Co : n'ayant encore jamais édité de fichier Gerber, pour ne pas essuyer de plâtres je serais bien content de profiter du vôtre que je pourrais assez facilement transformer il me semble... mais il n'est pas en PJ comme annoncé ?
Ou, si vous en avez un gros stock, vous demander de me fournir mais dans ce cas je devrais "jeter" mes 38 pins et en commander des 30pins... je n'ai aucune idée de la meilleure solution d'un point de vue économique (à terme je pense que j'en consommerai une dizaine).
En tous cas, cette carte avec le transceiver intégré est parfaite ! (et plus de problème avec l'empattement !)
(Mais pourquoi un convertisseur 5V ? la carte est prévue pour alimenter autre chose ? Et, si je dois approvisionner, quel est ce composant vertical entre le transceiver et le convertisseur ??)


Et à propos encore de cette photo : merci car c'est elle je crois qui m'a donné la solution au problème du bus CAN avec ses deux pins sorties sur RX2 et TX2. Car en brochant sur RX0 et TX0 (deux jours d'obstination !) RIEN ne fonctionne et, même, plus aucun download possible !! (?) (à remarquer que la datasheet espressif est fort sommaire... peut-être pas assez bien cherché ?)

Mais ça marche. Faire obéir la librairie ACAN_ESP32 n'a cependant pas été facile ; on reconnaît en effet le "moule" mais les syntaxes sont sensiblement différentes or tous les exemples fournis sont en loopbak...

Pour éviter peut-être à quelqu'un d'autre de patauger comme je l'ai fait, voici un code sommaire qui tourne. Notez l'avertissement en préambule... vaut mieux le savoir !
/* AVERTISSEMENT (AIMABLE)
 *  Ce code conduira probablement à un message "ERREUR DE COMPILATION", sauf à y effectuer pour commencer n'importe quelle modif inutile, un espace ici par exemple
 *  (va comprendre! vrai en tous cas avec "ESP32 Dev Module" + l'IDE Arduino)
 */

#include <ACAN_ESP32.h>

uint32_t lastTime;
const uint16_t TIMER(1000); 

uint8_t message = 1;
static const uint32_t FREQUENCE_DU_BUS_CAN = 125ul * 1000ul;

CANMessage messageToCAN;      /* MESSAGES EN EMISSION */
CANMessage messageFromCAN ;   /* MESSAGES EN RECEPTION */
/* *************************************************************************** */
void setup() {
  Serial.begin(115200);
  delay(200);
  /* parametres CAN */
  ACAN_ESP32_Settings settings(FREQUENCE_DU_BUS_CAN);
  settings.mRxPin = GPIO_NUM_16 ; // TX2
  settings.mTxPin = GPIO_NUM_17 ; // RX2
//  settings.mDriverReceiveBufferSize = 4;
//  settings.mDriverTransmitBufferSize = 6;
  /* demarre CAN */
  const uint32_t errorCode = ACAN_ESP32::can.begin(settings) ;
  ACAN_ESP32_Filter filter = ACAN_ESP32_Filter::acceptAll () ;
  if (errorCode == 0) /* =>*/ { Serial.println("Configuration OK"); }
  else /* =>*/ { Serial.print("Error Can: 0x"); Serial.println(errorCode, HEX); }

  /* identifiant (standard) des messages émis */
  messageToCAN.id = 0b10000;
  messageToCAN.len = 1 ; 
}

/* *************************** messages CAN réception ************************ */
void fromCAN(const CANMessage & inMessage) {
  Serial.print("Reception message : ");
  Serial.println(inMessage.data[0]);
}

/* **************************** messages CAN émission ************************ */
void toCAN(const uint8_t MESSAGE) {
  messageToCAN.data[0] =MESSAGE;
  const bool OK = ACAN_ESP32::can.tryToSend(messageToCAN);
  if (OK) { Serial.print(F("Emission message : ")); Serial.println(MESSAGE); }
}

/* *************************************************************************** */
void loop() {
  if (ACAN_ESP32::can.receive(messageFromCAN)) /*=>*/ fromCAN(messageFromCAN);

  if ((millis() - lastTime) < TIMER) /*=>*/ return;  // TIMER ne vise pas à soulager le BUS mais seulement à simuler des événements déclencheurs

  toCAN(message);
  message++;
  lastTime = millis();
}

(merci pour toutes les pistes  à propos des breadboards king size)
Cordialement
« Modifié: juin 14, 2021, 11:33:25 am par simontpellier »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1088
  • HO avec DCC++
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #9 le: juin 13, 2021, 11:07:18 pm »
Désolé pour l'oubli du Gerber, c'est réparé !

C'est vrai que les téléversements sont moins capricieux et plus rapides avec PlatformeIO. Et l'OTA en particulier fonctionne à tous les coup alors que c'est loin d'être le cas avec l'IDE Arduino.

Concernant le CAN, attention à bien prendre en compte que l'utilisation des filtres et des masques est beaucoup, beaucoup moins performante que sur un Arduino par exemple. En particulier avec les trames étendues. La doc accompagnant la biblio de Pierre Molinaro détaille bien les restrictions et l'utilisation des différents filtres et masques.

Il ne faut en effet surtout pas utiliser RX0 et TXO qui sont déjà utilisées par le port USB. Mais toutes les autres pins conviennent avec les restrictions habituelles relatives à certaines broches et dont nous avons déjà parlé. Pour ma part, j'utilise les 22 et 23 qui sont les plus proches du MCP2562.

La carte est alimentée en 5V car le MCP2562 doit être alimenté en 5V : http://ww1.microchip.com/downloads/en/devicedoc/20005167c.pdf

Le "composant" vertical comme tu dit est tout simplement un cavalier pour activer ou non la résistance de 120Ω (terminaison du bus !!!)

Sur le code proposé, pas besoin du timer. D'autant que Pierre Molinaro utilise le second cœur de la carte dans sa biblio.

Ne jette pas tes 38 pins, la version v5 de la carte en PJ est pour les 38 pins alors que la v4 est pour les 30 pins

J'ai également mis le gerber v4 pour 30 pins

v5 :


Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #10 le: juin 13, 2021, 11:09:01 pm »
Svp, ne pas jeter ces ESP32 38 pins : ils sont utiles pour LaBox !!

Combien en avez-vous en trop?

Pour moi je n’ai pas vu de tel comportement ni d’instabilité..,
Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1088
  • HO avec DCC++
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #11 le: juin 13, 2021, 11:11:24 pm »
Ah, j'ai oublié de préciser, si Espressif reconnait qu'il y a des difficulté mais il proposent la solution qui est de mettre un condo entre enable et gnd . Il faut chercher sur leur site.
« Modifié: juin 13, 2021, 11:17:58 pm par bobyAndCo »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #12 le: juin 13, 2021, 11:13:53 pm »
A voir : le cloud Arduino pour ESP32 qui propose un televersement en OTA.

Je n’ai pas encore essayé...
Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1088
  • HO avec DCC++
    • Voir le profil
« Modifié: juin 13, 2021, 11:19:52 pm par bobyAndCo »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3048
  • 100% Arduino et N
    • Voir le profil
Re : ESP32 "bonne affaire"
« Réponse #14 le: juin 14, 2021, 08:35:52 am »
Sur le prochain PCB de LaBox, ce condensateur (plus petit) est prévu  :)
Cordialement,
Dominique