ESP32 Bluetooth Broches Numériques - Tutoriel Interface de Contrôle et Surveillance des Broches
Aperçu
L'exemple Bluetooth Broches Numériques fournit un contrôle à distance et une surveillance des broches GPIO de l'ESP32 via l'application DIYables Bluetooth STEM. Conçu pour les cartes ESP32 avec support pour les connexions BLE (Bluetooth Low Energy) et Bluetooth Classique. Configurez les broches comme entrées ou sorties, basculez les broches de sortie, lisez les états d'entrées numériques et analogiques, et recevez des notifications en temps réel des changements de broches — parfait pour la domotique, le contrôle de relais, la surveillance de boutons, et la lecture de capteurs.
Cet exemple supporte deux modes Bluetooth :
- ESP32 BLE (Bluetooth Low Energy) : Fonctionne sur Android et iOS
- ESP32 Bluetooth Classique : Fonctionne sur Android uniquement. iOS ne supporte pas le Bluetooth Classique. Utilisez BLE si vous avez besoin du support iOS.

Fonctionnalités
- Contrôle de Broches de Sortie : Basculez les broches de sortie numériques HIGH/LOW depuis l'application
- Surveillance de Broches d'Entrée : Lisez les états des broches d'entrée numériques et analogiques
- Noms de Broches Personnalisés : Attribuez des noms conviviaux à chaque broche (ex. "LED", "Btn1", "A34")
- Mises à Jour en Temps Réel : Notifications automatiques lorsque les états des broches d'entrée changent
- Jusqu'à 16 Broches : Support pour jusqu'à 16 broches configurables simultanément
- Modes Mixtes : Combinez broches d'entrée et de sortie dans la même configuration
- BLE & Bluetooth Classique : Choisissez le mode Bluetooth qui convient à votre projet
- Multi-plateforme : Le mode BLE fonctionne sur Android et iOS ; le Bluetooth Classique fonctionne sur Android
Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Code ESP32
Étapes Rapides
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'ESP32, référez-vous au tutoriel sur Installation du logiciel ESP32..
- Connectez la carte ESP32 à votre ordinateur en utilisant un câble USB.
- Lancez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la carte ESP32 appropriée et le port COM.
- Naviguez vers l'icône Libraries dans la barre de gauche de l'Arduino IDE.
- Recherchez "DIYables Bluetooth", puis trouvez la librairie DIYables Bluetooth par DIYables
- Cliquez sur le bouton Install pour installer la librairie.

- Il vous sera demandé d'installer d'autres dépendances de librairie
- Cliquez sur le bouton Install All pour installer toutes les dépendances de librairie.

Choisissez l'un des deux modes Bluetooth ci-dessous selon vos besoins :
Code ESP32 Bluetooth Classique (fonctionne avec l'application sur Android uniquement)
Note : Le Bluetooth Classique n'est PAS supporté sur iOS. Si vous avez besoin du support iOS, utilisez le code BLE ci-dessous.
- Dans l'Arduino IDE, allez à File Examples DIYables Bluetooth Esp32Bluetooth_PinControl exemple, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'Arduino IDE
- Cliquez sur le bouton Upload dans l'Arduino IDE pour téléverser le code sur l'ESP32
- Ouvrez le Moniteur Série
- Vérifiez le résultat dans le Moniteur Série. Il ressemble à ceci :
Code ESP32 BLE (fonctionne avec l'application sur Android et iOS)
- Dans l'Arduino IDE, allez à File Examples DIYables Bluetooth Esp32BLE_PinControl exemple, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'Arduino IDE
- Cliquez sur le bouton Upload dans l'Arduino IDE pour téléverser le code sur l'ESP32
- Ouvrez le Moniteur Série
- Vérifiez le résultat dans le Moniteur Série. Il ressemble à ceci :
Application Mobile
- Si vous utilisez le code ESP32 Bluetooth Classique, vous devez appairer l'ESP32 avec votre téléphone Android avant d'ouvrir l'application :
- Allez dans les Paramètres > Bluetooth de votre téléphone
- Assurez-vous que le Bluetooth est activé
- Votre téléphone va scanner les appareils disponibles
- Trouvez et appuyez sur "ESP32_Pins" dans la liste des appareils disponibles
- Confirmez la demande d'appairage (aucun code PIN requis)
- Attendez qu'il affiche "Paired" sous le nom de l'appareil
- Si vous utilisez le code ESP32 BLE, aucun appairage n'est nécessaire. Passez simplement à l'étape suivante.
- Ouvrez l'Application DIYables Bluetooth
- Lors de la première ouverture de l'application, elle demandera des permissions. Veuillez accorder les suivantes :
- Permission Appareils à proximité (Android 12+) / Permission Bluetooth (iOS) - requise pour scanner et se connecter aux appareils Bluetooth
- Permission Localisation (Android 11 et versions antérieures uniquement) - requise par les anciennes versions Android pour scanner les appareils BLE
- Assurez-vous que le Bluetooth est activé sur votre téléphone
- Sur l'écran d'accueil, appuyez sur le bouton Connect. L'application va scanner à la fois les appareils BLE et Bluetooth Classique.

- Trouvez et appuyez sur votre appareil dans les résultats de scan pour vous connecter :
- Pour Bluetooth Classique : appuyez sur "ESP32_Pins"
- Pour BLE : appuyez sur "ESP32BLE_Pins"
- Une fois connecté, l'application retourne automatiquement à l'écran d'accueil. Sélectionnez l'application Digital Pins dans le menu des applications.

Note : Vous pouvez appuyer sur l'icône des paramètres sur l'écran d'accueil pour masquer/afficher les applications sur l'écran d'accueil. Pour plus de détails, voir le Manuel d'Utilisation DIYables Bluetooth App.
- Basculez les broches de sortie en appuyant dessus, et regardez les broches d'entrée se mettre à jour en temps réel

Maintenant regardez de nouveau le Moniteur Série dans l'Arduino IDE. Vous verrez :
- Basculez les broches dans l'application et regardez le retour en temps réel dans le Moniteur Série
Personnalisation Créative - Adaptez le Code à Votre Projet
Configurer les Broches
Activez les broches avec des noms personnalisés et des modes :
Gérer les Commandes d'Écriture de Broche
Utilisez le callback onPinWrite() pour contrôler le matériel lorsque l'application bascule une broche :
Gérer les Commandes de Lecture de Broche
Utilisez le callback onPinRead() pour retourner les états des broches à l'application :
Gérer les Changements de Mode de Broche
Utilisez le callback onPinModeChange() pour changer dynamiquement les modes de broche :
Envoyer des Mises à Jour d'État de Broche en Temps Réel
Poussez les changements d'état de broche vers l'application depuis votre code :
Gérer les Événements de Connexion
Comment Utiliser les Broches Numériques
Contrôles de l'Interface de l'Application
L'interface des broches numériques dans l'Application DIYables Bluetooth fournit :
- Liste des Broches : Affiche toutes les broches activées avec noms et états actuels
- Boutons de Basculement : Appuyez sur les broches de sortie pour basculer HIGH/LOW
- Affichage d'Entrée : Affichage en temps réel des états des broches d'entrée
- Valeurs Analogiques : Affiche les valeurs analogiques brutes pour les broches ADC
Modes de Broche
- BT_PIN_OUTPUT (0) : Contrôle la sortie numérique — bascule depuis l'application
- BT_PIN_INPUT (1) : Surveille l'entrée numérique ou analogique — affiche l'état actuel
Exemples de Programmation
Contrôle de Relais de Base
Surveillance de Boutons et Commutateurs
Système Mixte Entrée/Sortie
Techniques de Programmation Avancées
Verrouillage de Sécurité
Arrêt Automatique Temporisé
BLE vs Bluetooth Classique - Lequel Choisir ?
| Fonctionnalité | BLE (Esp32BLE_PinControl) | Bluetooth Classique (Esp32Bluetooth_PinControl) |
|---|---|---|
| Support iOS | ? Oui | ? Non |
| Support Android | ? Oui | ? Oui |
| Consommation | Faible | Plus élevée |
| Portée | ~30-100m | ~10-100m |
| Débit de Données | Plus faible | Plus élevé |
| Appairage Requis | Non (auto-connexion) | Oui (appairage manuel) |
| Idéal Pour | Alimenté par batterie, multi-plateforme | Haut débit, Android uniquement |
Dépannage
Problèmes Courants
1. Impossible de trouver l'appareil dans l'application
- Assurez-vous que l'ESP32 est alimenté et que le sketch est téléversé
- Pour BLE : Assurez-vous que le Bluetooth et la Localisation de votre téléphone sont activés
- Pour Bluetooth Classique : Appairez d'abord l'appareil dans les paramètres Bluetooth du téléphone
- Vérifiez que le bon schéma de partition est sélectionné (Huge APP)
2. Les broches n'apparaissent pas dans l'application
- Assurez-vous que enablePin() est appelé avant la connexion Bluetooth
- Vérifiez getEnabledPinCount() dans le Moniteur Série
- Vérifiez que les numéros de broche sont entre 0 et 15
3. Les broches de sortie ne basculent pas
- Vérifiez que le callback onPinWrite() appelle digitalWrite()
- Vérifiez que les broches sont configurées comme BT_PIN_OUTPUT
- Vérifiez les connexions matérielles
4. Les valeurs d'entrée ne se mettent pas à jour
- Assurez-vous que updatePinState() est appelé lorsque les états changent
- Vérifiez l'intervalle de polling dans la boucle
- Pour les broches analogiques, ajustez le seuil de changement
5. Trop de broches causent des erreurs
- Maximum 16 broches supportées (0-15)
- Gardez les noms de broches courts pour éviter la troncature des messages
- Utilisez des noms plus courts si vous obtenez des avertissements de troncature
6. Sketch trop volumineux / pas assez d'espace
- Dans l'Arduino IDE, allez à Tools > Partition Scheme et sélectionnez "Huge APP (3MB No OTA/1MB SPIFFS)" ou "No OTA (Large APP)"
- Le schéma de partition par défaut ne fournit que ~1.2MB pour le code de l'application, ce qui n'est pas suffisant pour les librairies Bluetooth
- Ce réglage donne ~3MB en sacrifiant la partition OTA (mise à jour par air)
Conseils de Débogage
Ajoutez un débogage complet :
Idées de Projets
Domotique
- Contrôleur d'interrupteur lumineux Bluetooth
- Panneau de contrôle de relais multi-pièces
- Ouvre-porte de garage
- Contrôle de vannes d'irrigation de jardin
Projets de Sécurité
- Moniteur de capteurs de portes et fenêtres
- Notification de détecteur de mouvement
- Système d'alarme Bluetooth
- Panneau de contrôle d'accès
Projets Industriels
- Contrôle de démarrage/arrêt de machine
- Moniteur de réseau de capteurs
- Contrôle de vannes et actionneurs
- Panneau d'indicateurs de statut
Projets Éducatifs
- Outil d'apprentissage d'électronique numérique
- Exploration de broches GPIO
- Test de circuits d'entrée/sortie
- Contrôleur de projets breadboard
Intégration avec d'Autres Applications Bluetooth
Combiner avec Bluetooth Slider
Utilisez les broches numériques pour on/off et les sliders pour l'intensité PWM :
Combiner avec Bluetooth Monitor
Enregistrez les changements de broches dans le moniteur :
Étapes Suivantes
Après avoir maîtrisé l'exemple Bluetooth Broches Numériques, essayez :
- Bluetooth Slider - Pour le contrôle PWM de type analogique
- Bluetooth Monitor - Pour déboguer les états des broches
- Bluetooth Table - Pour l'affichage structuré des données de broches
- Applications Bluetooth Multiples - Combiner le contrôle des broches avec d'autres fonctionnalités
Support
Pour une aide supplémentaire :
- Consultez la documentation de Référence API
- Visitez les tutoriels DIYables
- Forums de la communauté Arduino