ESP8266 - Bluetooth
Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler le module Bluetooth HC-05. Plus précisément, nous apprendrons :
- Utilisation du Bluetooth avec ESP8266
- Transmission de données de l'ESP8266 vers une application smartphone via Bluetooth
- Réception de données sur l'ESP8266 provenant de l'application smartphone via Bluetooth
- Contrôle de l'ESP8266 depuis l'application smartphone via Bluetooth
L'objectif de ce tutoriel est de :
- Démontrer comment l'ESP8266 peut échanger des données avec une application pour smartphone.
- Expliquer l'utilisation du module Bluetooth HC-05.
- Montrer comment utiliser l'application Bluetooth Serial Monitor sur Android.
- Illustrer comment contrôler une LED et un moteur servo depuis une application pour smartphone.
Ce tutoriel se concentre sur le Bluetooth classique (Bluetooth 2.0). Si vous recherchez des informations sur le Bluetooth Low Energy - BLE (Bluetooth 4.0), veuillez consulter ce tutoriel similaire : ESP8266 - Bluetooth Low Energy
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | HC-05 Bluetooth Module | |
1 | × | Jumper Wires | |
1 | × | (Optional) 5V Power Adapter for ESP8266 | |
1 | × | (Optional) ESP8266 Screw Terminal Adapter |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du module Bluetooth HC-05
HC-05 est un module Bluetooth série qui fonctionne comme un convertisseur série vers Bluetooth. Il a la capacité de :
- Prendre les données du broche RX série et les transmettre à l'appareil apparié (tel qu'un smartphone) via Bluetooth.
- Recevoir les données de Bluetooth (de l'appareil apparié) et les transférer au broche TX série.
Plus précisément, lorsque l'ESP8266 communique avec une application smartphone (Android/iOS) :
- Il se connecte au module Bluetooth HC-05 via ses broches Serial/SoftwareSerial.
- Le module Bluetooth HC-05 est appairé avec l'application pour smartphone.
- Pour envoyer des données à l'application pour smartphone, l'ESP8266 les envoie simplement via le Serial/SoftwareSerial.
- Pour recevoir des données de l'application pour smartphone, l'ESP8266 les lit depuis le Serial/SoftwareSerial.
- Aucun code Bluetooth spécial n'est nécessaire sur l'ESP8266.
Brochage du module Bluetooth HC-05
Le module Bluetooth HC-05 dispose de 6 broches :
- Broche Enable/Key : Cette broche est utilisée pour basculer entre le mode Données (fixé à LOW) et le mode Commande (fixé à HIGH). Si elle n'est pas connectée, elle sera par défaut en mode Données.
- Broche VCC : broche d'alimentation, elle doit être connectée au +5V de la tension d'alimentation.
- Broche GND : broche d'alimentation, elle doit être connectée au GND de la source d'alimentation.
- Broche TX : broche de données série, elle doit être connectée à la broche RX de l'ESP8266. Les données reçues via Bluetooth seront envoyées à cette broche sous forme de données série.
- Broche RX : broche de données série, elle doit être connectée à la broche TX de l'ESP8266. Les données reçues de cette broche seront envoyées au Bluetooth.
- État : La broche d'état est connectée à la LED embarquée, elle peut servir de retour pour vérifier si le Bluetooth fonctionne correctement.
Néanmoins, pour les opérations de base, seulement quatre broches du module Bluetooth HC-05 doivent être connectées à l'ESP8266.
Le module Bluetooth HC-05 comporte deux composants intégrés :
- Une LED qui indique l'état du module :
- Un clignotement toutes les deux secondes signifie que le module est en mode Commande
- Un clignotement rapide indique qu'il attend une connexion en mode Données
- Un clignotement deux fois par seconde signifie que la connexion en mode Données a réussi
- Un bouton qui peut être utilisé pour contrôler la broche Clé/Activation afin de sélectionner le mode de fonctionnement (mode Données ou mode Commande)
Comment ça marche
Le module Bluetooth HC-05 dispose de deux modes de fonctionnement :
- Mode de données utilisé pour échanger des données avec l'appareil apparié.
- Mode commande utilisé pour configurer les paramètres.
Heureusement, le module Bluetooth HC-05 peut fonctionner avec l'ESP8266 sans nécessiter de configuration, en utilisant les paramètres par défaut.
Paramètres par défaut du HC-05
Default Bluetooth Name | “HC-05” |
---|---|
Default Password | 1234 or 0000 |
Default Communication | Slave |
Default Mode | Data Mode |
Default Data Mode Baud Rate | 9600, 8, N, 1 |
Default Command Mode Baud Rate | 38400, 8, N, 1 |
À propos de l'application Bluetooth Serial Monitor
L'application Bluetooth Serial Monitor est une application mobile dont l'interface utilisateur ressemble au moniteur série de l'IDE Arduino. Elle peut être utilisée pour communiquer avec l'ESP8266 via Bluetooth sans nécessiter de code spécial pour le module Bluetooth dans le code ESP8266. Pour ce faire, les étapes suivantes doivent être suivies :
- Connectez le ESP8266 au module Bluetooth HC-05
- Installez l'application Bluetooth Serial Monitor sur votre smartphone
- Ouvrez l'application et associez-la au module Bluetooth HC-05
Désormais, vous pouvez transmettre et recevoir des données depuis l'ESP8266 tout comme vous le feriez avec le moniteur série de l'IDE Arduino. Vous n'avez pas besoin d'apporter des modifications à votre code ESP8266 existant ni d'ajouter du code Bluetooth à votre nouveau code ESP8266.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Tableau de câblage. Schéma de câblage. Tableau des câblages.
ESP8266 Pins | HC-05 Bluetooth Pins |
---|---|
Pin D7 | TX |
Pin D6 | RX |
5V | VCC |
GND | GND |
Enable/Key (NOT connected) | |
State (NOT connected) |
※ NOTE THAT:
Vous pouvez utiliser d'autres broches ESP8266 en modifiant l'objet Serial dans le code ESP8266 pour un autre, tel que Serial1, Serial2, ou SoftwareSerial s'il est disponible.
Comment programmer pour le Bluetooth
Aucune programmation spécifique au Bluetooth n'est nécessaire. Nous devons juste utiliser le code série.
L'ESP8266 envoie des données à l'application Bluetooth sur le smartphone.
Afin de transmettre des données depuis un ESP8266 vers une application Bluetooth sur un smartphone, le code suivant doit être utilisé sur l'Arduino :
Dans ce cas, nous ferons en sorte que l'ESP8266 transmette « ESP8266 ici, donne-moi des ordres ! » à l'application Bluetooth sur un smartphone à des intervalles d'une seconde.
Étapes rapides
Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
- Câblez les composants comme indiqué sur le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Installez l'application Bluetooth Serial Monitor sur votre smartphone. Connectez le module Bluetooth HC-05 à l'ESP8266 selon le schéma de câblage. Copiez le code et ouvrez-le avec Arduino IDE. Cliquez sur le bouton Upload de l'Arduino IDE pour téléverser le code sur l'ESP8266. Si le téléversement échoue, déconnectez les broches TX et RX du module Bluetooth, téléversez le code, puis reconnectez à nouveau la broche RX/TX. Ouvrez le moniteur série sur Arduino IDE. Ouvrez l'application Bluetooth Serial Monitor sur votre smartphone et sélectionnez le mode Bluetooth classique.
- Connectez-le avec le module Bluetooth HC-05.
- Consultez le résultat sur l'application Android.
- Visualisez le résultat sur le moniteur série de l'environnement de développement intégré ESP8266.
Vous observerez que les informations affichées sur le moniteur série de l'IDE Arduino et l'application Android sont les mêmes.
L'application Bluetooth envoie des données à ESP8266
Le code suivant permet :
- Envoi de données depuis une application Bluetooth vers un ESP8266
- Lecture des données par l'ESP8266, suivie de l'envoi d'une réponse à l'application Bluetooth
Étapes rapides
- Câblez les composants comme indiqué sur le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload sur Arduino IDE pour compiler et téléverser le code vers l'ESP8266.
- Ouvrez le moniteur série sur Arduino IDE.
- Connectez l'application Android au module Bluetooth HC-05, comme dans l'exemple précédent.
- Une fois connecté, tapez soit "LED ON" soit "LED OFF" sur l'application Android et appuyez sur le bouton "ENVOYER".
- L'ESP8266 reçoit les données et imprime la réponse sur le port série. Ces données sont ensuite envoyées à l'application Bluetooth, et le résultat peut être visualisé sur l'application Android.
- Consultez le résultat dans la fenêtre du moniteur série de l'environnement de développement intégré ESP8266.
Vous observerez que les informations affichées sur le moniteur série de l'IDE Arduino et l'application Android sont les mêmes.
Code ESP8266 - Contrôler une LED avec une application smartphone via Bluetooth
Ce code exemple ESP8266 répondra à deux commandes : « ON » et « OFF ». Lorsqu'elles sont reçues, ces commandes seront utilisées pour allumer ou éteindre une LED intégrée via l'application Bluetooth Serial Monitor.
Vous pouvez trouver une explication plus détaillée des instructions dans le tutoriel ESP8266 contrôle LED via Bluetooth/BLE.
Code ESP8266 - Contrôler un moteur servo avec une application smartphone via Bluetooth
Ce code ESP8266 ci-dessous reçoit la valeur de l'angle depuis l'application Bluetooth Serial Monitor afin de contrôler l'angle du moteur servo.
Vous pouvez consulter les instructions en détail dans le tutoriel ESP8266 contrôle un moteur servo via Bluetooth/BLE. Pour un examen plus approfondi des instructions, consultez le tutoriel ESP8266 contrôle un moteur servo via Bluetooth/BLE. Si vous avez besoin de voir les instructions plus en profondeur, référez-vous au tutoriel ESP8266 contrôle un moteur servo via Bluetooth/BLE. Pour obtenir une vue plus complète des instructions, rendez-vous sur le tutoriel ESP8266 contrôle un moteur servo via Bluetooth/BLE.
Si vous trouvez l'application Bluetooth Serial Monitor utile, merci de lui donner une note de 5 étoiles sur Play Store. Nous apprécions votre soutien !