LOCODUINO

Discussions Générales => Infos et bonnes affaires => Discussion démarrée par: simontpellier le juin 03, 2021, 08:55:12 pm

Titre: ESP32 "bonne affaire"
Posté par: simontpellier 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





Titre: Re : ESP32 "bonne affaire"
Posté par: msport 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 ?



Titre: Re : ESP32 "bonne affaire"
Posté par: simontpellier 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.
(https://i.servimg.com/u/f44/11/73/62/86/20210612.jpg)

"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 !!
(https://i.servimg.com/u/f44/11/73/62/86/20210613.jpg)


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...


Titre: Re : ESP32 "bonne affaire"
Posté par: Souris verte 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 (https://coolcomponents.co.uk/collections/prototyping-breadboards/products/ad-11-advanced-solderless-breadboard)
Titre: Re : ESP32 "bonne affaire"
Posté par: msport 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)
Titre: Re : ESP32 "bonne affaire"
Posté par: bobyAndCo 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.

(https://alkans.fr/locoduino/img/_DSC9055.jpg)

GERBER en PJ pour ceux que ça peut intéresser
Titre: Re : ESP32 "bonne affaire"
Posté par: Dominique 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
Titre: Re : ESP32 "bonne affaire"
Posté par: bobyAndCo le juin 05, 2021, 10:11:41 pm
@Dominique -> Tu veux que je t'en envoie une ou deux par courrier ?
Titre: Re : ESP32 "bonne affaire"
Posté par: simontpellier 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
Titre: Re : ESP32 "bonne affaire"
Posté par: bobyAndCo 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 : (https://alkans.fr/locoduino/img/ESP_32_can_38pins.png)

Titre: Re : ESP32 "bonne affaire"
Posté par: Dominique 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é..,
Titre: Re : ESP32 "bonne affaire"
Posté par: bobyAndCo 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.
Titre: Re : ESP32 "bonne affaire"
Posté par: Dominique 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é...
Titre: Re : ESP32 "bonne affaire"
Posté par: bobyAndCo le juin 13, 2021, 11:16:42 pm
Voici la manip : https://randomnerdtutorials.com/solved-failed-to-connect-to-esp32-timed-out-waiting-for-packet-header/?fbclid=IwAR1PImbL5cOB7M6lsX5AAYzKpqSLXn_Rulm_0ZBvmfqPEHl_JngIbbVlUhk (https://randomnerdtutorials.com/solved-failed-to-connect-to-esp32-timed-out-waiting-for-packet-header/?fbclid=IwAR1PImbL5cOB7M6lsX5AAYzKpqSLXn_Rulm_0ZBvmfqPEHl_JngIbbVlUhk)

(https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/02/fix-timed-out-waiting-for-packet-header-capacitor_f.jpg?w=750&quality=100&strip=all&ssl=1)
Titre: Re : ESP32 "bonne affaire"
Posté par: Dominique le juin 14, 2021, 08:35:52 am
Sur le prochain PCB de LaBox, ce condensateur (plus petit) est prévu  :)
Titre: Re : ESP32 "bonne affaire"
Posté par: msport le juin 14, 2021, 10:06:04 am
En fait, ce condensateur est prévu depuis le début. Comme on est en 3,3V on peut y mettre un 1000 µF 6,3V.
Dans la pratique un 0,1 ou 0,22 µF fait le boulot. Il n'est peut-être pas utile d'attendre 10s.
Curieusement, c'est à la première utilisation que le problème se pose surtout.
Titre: Re : Re : ESP32 "bonne affaire"
Posté par: simontpellier le juin 14, 2021, 11:27:25 am
A voir : le cloud Arduino pour ESP32 qui propose un televersement en OTA.
Je n’ai pas encore essayé...

Bonjour,
téléverser sans fil, le rêve ! Surtout si l'on imagine un hard avec une dizaine de cartes... le boulot évité chaque fois qu'on veut mettre à jour !
J'ai regardé le cloud Arduino mais je crois qu'il vaut mieux oublier : il faut un abonnement, même s'il y a une option "free" mais limités à 200secondes de compilation par jour...

Mais pourquoi passer par le cloud ? Le WI-FI direct... idéal mais je viens de lire des informations contradictoires sur la faisabilité pour un ESP.
Par contre le WI-FI de la maison c'est apparemment sans problème  :
https://projetsdiy.fr/arduinoota-ota-mise-jour-sans-fil-ide-arduino-programmes-esp8266/

J'ai hâte d'essayer mais attention à la dispersion...

EDITION : Je n'y ai pas résisté.
Voici la procédure, simplissime !
https://projetsdiy.fr/arduinoota-esp32-mise-jour-sans-fil-wifi-ota-ide-arduino/


Le gerber de Boby&Co pour ESP 38 pins va sauver mes cartes (deux) (que j'aurais bien sûr proposées ! ça ne se jette pas !!)
Première chose à faire, une petite modif pour intégrer le condo (à moinsse qu'une version V6 soit déjà prévue dans ce sens ??) car la soudure directe sur la carte... pour le coup elles seraient certainement bonnes à jeter (et c'est trop moche)
(essais en vue pour choisir le condo car le gap entre 0.1µF et 1000µF est monstrueux...!)
Titre: Re : ESP32 "bonne affaire"
Posté par: bobyAndCo le juin 14, 2021, 10:53:24 pm
Bon je ne voudrais pas casser l'ambiance mais j'ai toujours eu des problèmes avec l'OTA et l'IDE Arduino alors que cela fonctionne très bien avec PlatformIO !!! Avec l'IDE Arduino, c'est pratiquement toujours au mot de passe que ça échoue. J'avais lu quelque part que l'IDE recherchait plutôt le tout premier mot de passe entré et nom pas le mot de passe du projet. Il serait donc prudent de bien choisir son mot de passe dès le début et ne plus en changer quelque soit le projet.

Pour le condo, j'ai fait la modification des gerber et pour s'y retrouver mieux, je les ai nommés v6-30 pins et v6-38 pins. Pour l'empatement j'ai mis 2,54. En effet un condo de 100µF en allant jusqu'à 25v doit largement suffire. Après, chacun mettra ce qu'il veut (ou rien), l'intérêt c'est qu'avec ou sans ça marchera !

Perso, je n'ai jamais eu de problème d'upload donc je n'ai jamais eu besoin de condo.
Titre: Re : ESP32 "bonne affaire"
Posté par: simontpellier le juin 15, 2021, 09:04:55 pm
Bonsoir,
Merci pour la modif !

RE-RE-EDITION :
J'ai testé PlatformIO. Chez moi pas possible d'installer le dernier release. Mais au moins la 1.10.0 s'installe (en insistant !)

Que ce soit sous PIO ou l'IDE Arduino, l'OTA fonctionne à merveille (à condition de ne pas s'aviser entre temps de désinstaller Python... malheureux !)
La différence avec ce que rapporte BobyAndCo est peut-être que je n'ai pas (encore) tenté de mettre un mot de passe "projet".

Penser éventuellement qu'il faut avoir autorisé les adresses MAC des ESP32 (car ils en ont, chacun la leur !) si dans sa box on est en filtrage (et il vaut mieux)