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

Arduino Discussion :

Problème de déconnexion Bluetooth (BLE) fréquente avec ESP32 classique [Arduino ESP32]


Sujet :

Arduino

  1. #1
    Invité de passage
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2025
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2025
    Messages : 2
    Par défaut Problème de déconnexion Bluetooth (BLE) fréquente avec ESP32 classique
    Bonjour à tous,

    Je travaille sur un projet avec plusieurs ESP32 (modèle classique, pas C3), connectés en BLE à une application mobile Flutter. L’objectif est de piloter plusieurs dispositifs moteurs de manière synchronisée via Bluetooth Low Energy. Le problème, c’est une instabilité complète de la connexion BLE.

    J’ai simplifié au maximum pour isoler le souci, mais même avec un code minimal, sans moteur ni capteur branché, la connexion saute au bout de 30 à 60 secondes après appairage. Ensuite, impossible de se reconnecter sans redémarrer l’ESP32.

    Voici ce que j’observe :
    • L’application Flutter détecte bien le périphérique BLE au scan
    • La connexion fonctionne au début, mais se coupe rapidement sans raison apparente
    • Aucune action n’est nécessaire, la connexion tombe même au repos complet
    • Testé avec la bibliothèque ESP32 BLE Arduino (celle de Neil Kolban) et avec NimBLE-Arduino
    • J'ai essayé avec 4 esp32 différent et j'ai le meme problème


    Vérifications déjà faites :

    • Alimentation stable via USB
    • Aucun composant externe connecté
    • Aucun Watchdog activé manuellement
    • Arduino IDE à jour


    Est-ce un bug connu du BLE sur ESP32 ?
    Quelqu’un aurait-il rencontré le même comportement ?
    Existe-t-il une bibliothèque BLE plus stable ou des paramètres spécifiques à ajuster pour éviter ces déconnexions ?

    Merci d’avance pour vos retours.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 196
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    Citation Envoyé par Marjo_ar Voir le message
    Vérifications déjà faites :

    • Alimentation stable via USB
    • Aucun composant externe connecté
    • Aucun Watchdog activé manuellement
    • Arduino IDE à jour
    Tu passes par le core Arduino pour ESP32 je suppose... Est-ce qu'il est à jour ? (version 3.2.1 à ce jour). Tu passes bien par la librairie officielle ESP32 BLE for Arduino ?

  3. #3
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 882
    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 882
    Par défaut
    Salut à tous.

    Peut-être un mise en veille, non ?

  4. #4
    Invité de passage
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2025
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2025
    Messages : 2
    Par défaut
    Après plusieurs tests, j’ai enfin trouvé ce qui causait l’instabilité dans la communication BLE entre mon app Flutter et l’ESP32. Je partage ici les correctifs appliqués, ça pourra aider d’autres développeurs dans la même situation.

    1. Ne plus utiliser _ble.deinitialize() côté Flutter

    Avant : le scanner Flutter (fichier ble_scanner.dart) appelait _ble.deinitialize() dans stopScan().

    Problème : cette méthode coupe complètement la stack BLE côté Flutter. Après un scan, les périphériques ne réapparaissent plus, il faut redémarrer l’app.

    Correction : suppression de _ble.deinitialize(). À la place, on arrête le scan proprement avec un StreamSubscription.cancel().

    => Résultat : le scan BLE reste fonctionnel, l’ESP32 redevient visible après une déconnexion.

    2. Ajouter un readCharacteristic() juste après chaque writeCharacteristicWithResponse()

    Avant : j’envoyais la commande (UP ou DOWN) avec un write BLE, puis plus rien.

    Problème : certaines stacks BLE (dont celle de l’ESP32) ferment la connexion si aucune activité n’est détectée après un write.

    Correction : juste après chaque writeCharacteristicWithResponse(), j’ajoute un readCharacteristic() sur une caractéristique du même service (dans mon cas masterIdCharacteristic).

    => Résultat : la connexion reste active, l’ESP32 ne décroche plus.

    Merci à ceux qui ont contribué aux réponses. J’espère que ce retour pourra éviter à d’autres des heures de debug !

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

Discussions similaires

  1. [Arduino ESP32] Récupérer des données à partir de Thingspeak pour les afficher avec ESP32
    Par cobra38 dans le forum Arduino
    Réponses: 24
    Dernier message: 07/08/2024, 16h25
  2. Réponses: 7
    Dernier message: 09/04/2024, 09h38
  3. Bluetooth sous Android avec WD28*mobile
    Par pereplex dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 04/10/2023, 19h28
  4. [Bluetooth] Appel téléphonique avec le PC
    Par parazitenew dans le forum Périphériques
    Réponses: 1
    Dernier message: 06/01/2014, 17h45
  5. imprimer sur une imprimante bluetooth ou wifi avec du javascript
    Par cotede2 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/05/2009, 13h11

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