J'ai un programme de lecture de Linky et de traitement qui fonctionne depuis plusieurs années.
De temps en temps j'y apporte une petite amélioration.
Ma dernière version récupérée date de 08/23 arduino 1.8.19 sur un disque C HDD mais très lent.
Début 2024 j'ai acheté un disque SSD 500Go et installé Arduino 1.8.19 ainsi que mon sketch Linky. Tout fonctionnait bien.
En juin 2024 mon disque SSD est tombé en panne, je l'ai remplacé et tout réinstallé mais maintenant, je n'arrive plus à vérifier mon sketch qui fonctionnait donc suis complètement bloqué.
Apparemment, la bibliothèque WiFi est en cause mais je ne vois pas ce qu'il faut faire pour sortir de là.
J'ai 2 bibliothèques WiFi installées, aucune ne fonctionne.
En PJ je mets :
le fichier résultat du test sur le nouveau disque C SSD. (153 Ko)
le fichier résultat du test sur l'ancien disque C HDD. (996 Ko) = OK
l'une (OK) utilisait la bibliothèque WiFi en version 1.0 fournie avec un ancien 'core ESP32' 1.0.6 pour IDE Arduino Utilisation de la bibliothèque WiFi version 1.0 dans le dossier: C:\Users\scoubidou\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
L'autre (HS) utilise la bibliothèque WiFi en version 3.0.5 fournie avec un core ESP32 3.0.5 'récent' Utilisation de la bibliothèque WiFi version 3.0.5 dans le dossier: C:\Users\scoubidou\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\WiFi
Sans doute faisais-tu à l'origine appel a des fonctions désormais dépréciées dans la bibliothèque WiFi récente fournie avec le 'core Arduino'
Entre :
la WiFI 1.0 du core ESP32 1.0.6
la WiFi 3.0.5 du core ESP32 3.0.5
des changements ont pu apparaître, certaines fonctions disparaître ou être modifiées, tu as fait le grand écart !
Une solution à tester pour ton application 'datée' : grimper dans la machine à remonter le temps
revenir, le temps d'une compilation, au core ESP32 1.0.6 qui allait bien avec ton code. la bilbliothèque WiFi est contenue dans le core ESP32, elle suit, ne rien faire pour elle
Dans mes bidouilles je note maintenant dans le code la version du core ESP32 et celles des diverses bibliothèques utilisées, çà aide à traverser le temps.... en rétrogradant les versions en fonction de la situation Un code ne fonctionne que dans le contexte logiciel où il a été établi, les évolutions de bibliothèques sans retro-compatibilité ne sont pas rares dans un ensemble aussi fourni que les ESP32
Dans un 1er temps, j'ai essayé de remplacer dans le package le dossier "3.0.5" par le "1.0.6"
Sans succès. Encore plus d'erreurs !
Dans les erreurs avec 3.0.5, j'en vois notamment de 2 types d'erreurs :
a)
Linky6S:226:23: error: 'union arduino_event_info_t' has no member named 'disconnected'; did you mean 'eth_connected'?*
226 | Serial.println(info.disconnected.reason);*
| ^~~~~~~~~~~~*
| eth_connected*
b)
Linky6S:657:39: error: 'SYSTEM_EVENT_STA_DISCONNECTED' was not declared in this scope; did you mean 'WIFI_EVENT_STA_DISCONNECTED'?*
657 | WiFi.onEvent(onStationDisconnected, SYSTEM_EVENT_STA_DISCONNECTED);*
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~* | WIFI_EVENT_STA_DISCONNECTED*
Ligne 226 : Dans quel fichier je devrais comparer les versions 1.0.6 et la 3.0.5 ?
Il y a peut-être une nouvelle syntaxe ? Et dans le pire des ces je pourrais même supprimer le ligne 226.
Lignes 656 657 658 659 676, c'est la même erreur : was not declared in this scope;
Là je devrais essayer de voir ce qui se passe ? Je ne sais pas encore comment mais ...
Concernant ta proposition de "grimper dans la machine à remonter le temps "
Je ne comprends pas comment faire. où as tu trouvé ce petit menu, image jointe dans ta réponse ?
Apparemment (supprimer la 3.0.5 ? ) et ajouter la 1.0.6 Arduino AVR ?
Le menu qui permet de rétrograder dans les cores ESP32 d'Espressif se trouve à gauche dans un IDE 2.xArduino , cliquer sur l'icône du Gestionnaire de Cartes
Rien a désinstaller soi même, il suffit d'y sélectionner la version du Core ESP32 d'Espressif que l'on veut activer sur le moment. Je fais ça de temps en temps pour recompiler tels quels des programmes faits dans le passé
Chaque core ESP32 vient avec un ensemble de bilbliothèques de base dont WiFi il faut plonger la dedans pour suivre l'évolution..... je contourne l'obstacle.....solution de facilité.....
la dernière version est en ligne ici, voir comment s'y présente désormais ce qui se rapporte à 'disconnected'
aucun rapport avec le 'core' AVR pour ce qui concerne ton pb WiFi
J'ai aussi utilisé cette méthode dernièrement pour recompiler un ancien projet. Dont la librairie graphique n'a pas évolué depuis longtemps et qui ne compilait plus avec une version récente du package ESP32. Ce qui a entraîné en cascade des problèmes avec une autre librairie.
Il faut donc faire attention à la version du compilateur, mais aussi à celles des librairies externes que l'on utilise. Cela peut mettre un peu le bazar dans le répertoire projet.
Non, j'utilise l'IDE. En parlant de répertoire projet je voulais dire le répertoire où se trouve tous mes projets
J'utilise l'arborescence par défaut donc les librairies se trouvent dans ce même répertoire
Justement avec plateformIO j'aurais eu moins de problème car j'aurais eu les librairies directement dans le projet lui-même. J'ai déjà utilisé plateformIO mais j'ai pas accroché.
Finalement, j'ai réussi a installer à partir du gestionnaire des cartes "esp32 by Espressif Systems version 1.0.6".
Mais j'avais encore un problème sur une bibliothèque include LibTeleinfo.h V 1.1.7 au lieu de V 1.1.4.
Même bien placée à sa place dans librairies, la V 1.1.4 ne fonctionnait pas.
En plaçant cette bibliothèque, (les 2 fichiers) dans le dossier de mon sketche, tout fonctionne bien maintenant avec : #include <C:\Users\scoubidou\Documents\Arduino\1_8_19\ESP32\Linky6S\LibTeleinfo.h>
Cela reste mystérieux pour moi mais ça fonctionne.
Résolu pour l'instant. Lorsque je le pourrai j'essaierai de mettre tout cela "à jour".
Ouf et Merci a tous pour votre aide.
Géry
Bonsoir à tous,
J'ai levé le mystère final : Doublon de bibliothèque suite aux différents tests.
Pour l'instant j'en reste là.
Reste du ménage à faire pour essayer d'utiliser les versions plus récentes.
Encore Merci.