Raspberry Pi - Bluetooth
Ce tutoriel vous apprend à utiliser Raspberry Pi pour contrôler le module Bluetooth HC-05. En détail, nous allons apprendre :
- Le processus d'utilisation du Bluetooth avec Raspberry Pi
- Envoyer des données de Raspberry Pi vers une application pour smartphone via Bluetooth
- Recevoir des données sur Raspberry Pi depuis l'application pour smartphone via Bluetooth
- Contrôler Raspberry Pi depuis l'application pour smartphone au moyen de Bluetooth
Le but de ce tutoriel :
- Pour montrer comment le Raspberry Pi peut échanger des données avec une application smartphone.
- Pour démontrer l'utilisation du module Bluetooth HC-05.
- Pour expliquer comment utiliser l'application Bluetooth Serial Monitor sur Android.
- Pour illustrer comment contrôler une LED et un servomoteur à partir d'une application smartphone.
Ce tutoriel porte sur l'utilisation du Bluetooth Classique (Bluetooth 2.0). Si vous recherchez un Bluetooth Low Energy - BLE (Bluetooth 4.0), veuillez vous référer à ce tutoriel similaire : Raspberry Pi - BLE.
Préparation du matériel
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
Le HC-05 est un module Bluetooth série qui fonctionne comme un convertisseur série vers Bluetooth. Il a la capacité de :
- Recevoir des données de la broche RX série et les transmettre à l'appareil apparié (comme un smartphone) via Bluetooth
- Recevoir des données via Bluetooth (de l'appareil apparié) et les envoyer à la broche TX série.
Spécifiquement, pour que Raspberry Pi communique avec une application smartphone (Android/iOS) :
- Le Raspberry Pi est connecté à un module Bluetooth HC-05 via ses broches série.
- Le module Bluetooth HC-05 est appairé avec l'application smartphone.
- Le Raspberry Pi envoie des données à l'application smartphone simplement en les envoyant au port série.
- Le Raspberry Pi reçoit des données de l'application smartphone simplement en les lisant depuis le port série.
- Aucun code Bluetooth spécial n'est nécessaire sur le Raspberry Pi.
Le brochage du module Bluetooth HC-05
Le module Bluetooth HC-05 possède 6 broches :
- Broche d'activation/clé : Cette broche est utilisée pour basculer entre le mode Données (réglé sur BAS) et le mode Commande (réglé sur HAUT). Si elle n'est pas connectée, elle est 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 du Raspberry Pi. 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 du Raspberry Pi. Les données reçues de cette broche seront envoyées au Bluetooth.
- État : La broche d'état est connectée à la LED intégrée, elle peut être utilisée comme retour pour déterminer si le Bluetooth fonctionne correctement.
Néanmoins, pour les opérations fondamentales, nous n'avons besoin que de relier 4 broches du module Bluetooth HC-05 au Raspberry Pi.
Le module Bluetooth HC-05 comprend également deux éléments intégrés :
- Une LED : qui indique l'état du Module
- Clignotement une fois toutes les deux secondes : indiquant que le Module est entré en Mode Commande
- Clignotement répété : signifiant qu'il attend une connexion en Mode Données
- Clignotement deux fois par seconde : signifiant une connexion réussie en Mode Données
- Un Bouton : utilisé pour contrôler la broche Key/Enable afin de choisir le mode de fonctionnement (Mode Données ou Commande)
Comment ça marche
Le module Bluetooth HC-05 a deux modes de fonctionnement :
- Mode de données utilisé pour échanger des données avec l'appareil jumelé
- Mode commande utilisé pour configurer les paramètres.
Heureusement, le module Bluetooth HC-05 est capable de fonctionner avec le Raspberry Pi sans aucune configuration, en utilisant ses 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 Moniteur série Bluetooth
L'application Bluetooth Serial Monitor permet la communication avec Raspberry Pi via Bluetooth sans aucun code supplémentaire pour le module Bluetooth dans le code Raspberry Pi. Pour l'utiliser, les étapes suivantes doivent être suivies :
- Connectez le Raspberry Pi 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 le Raspberry Pi.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :
Tableau des connexions de câblage. Schéma de câblage. Tableau des liens de câblage.
Raspberry Pi Pins | HC-05 Bluetooth Pins |
---|---|
RX (GPIO15) | TX |
TX (GPIO14) | RX |
5V | VCC |
GND | GND |
Enable/Key (NOT connected) | |
State (NOT connected) |
Le Raspberry Pi envoie des données à l'application Bluetooth sur le smartphone.
Pour transmettre des données d'un Raspberry Pi à une application Bluetooth sur un smartphone, le code suivant pour le Raspberry Pi doit être utilisé :
Dans cet exemple, nous ferons en sorte que le Raspberry Pi envoie « Raspberry Pi ici, commandez-moi ! » à l'application Bluetooth sur un smartphone chaque seconde.
Étapes rapides
- Assurez-vous d'avoir installé Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi sur votre Pi.
- Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
- Assurez-vous que votre Raspberry Pi est connecté à internet si vous avez besoin d'installer des bibliothèques.
- Si c'est la première fois que vous utilisez Raspberry Pi, voyez Installation du logiciel - Raspberry Pi..
- Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Voyez comment connecter votre PC au Raspberry Pi via SSH.
- Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
- Activez l'interface série sur Raspberry Pi en suivant les instructions sur Raspberry Pi - comment activer l'interface série
- Installez la bibliothèque pyserial pour la communication avec le module bluetooth :
- Créer un fichier de script Python bluetooth_send.py.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
Le script s'exécute dans une boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.
- Installez l'application Bluetooth Serial Monitor sur votre smartphone.
- Connectez le module Bluetooth HC-05 au Raspberry Pi selon le schéma de câblage.
- Ouvrez l'application Bluetooth Serial Monitor sur votre smartphone et sélectionnez le mode Bluetooth classique.
- Connectez-le au module Bluetooth HC-05.
- Consultez le résultat sur l'application Android.
- Vérifiez le résultat dans le Terminal.
Application Bluetooth Envoyer des données au Raspberry Pi
Le code suivant :
- Permet à une application Bluetooth d'envoyer des données à un Raspberry Pi
- Permet au Raspberry Pi de lire les données et d'envoyer une réponse à l'application Bluetooth
Étapes rapides
- Créez un fichier de script Python bluetooth_send_receive.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
- Connectez l'application Android au module Bluetooth HC-05, comme précédemment.
- Une fois connecté, tapez soit "LED ON" soit "LED OFF" sur l'application Android et appuyez sur le bouton "ENVOYER".
- Le Raspberry Pi reçoit les données et imprime la réponse sur le port série.
- Cette réponse sera ensuite envoyée à l'application Bluetooth.
- Le résultat peut être visualisé sur l'application Android.
- Consultez la sortie dans le Terminal.
Vous observerez que les informations affichées sur l'application Android sont les mêmes.
Code Raspberry Pi - Contrôler une LED avec une application smartphone via Bluetooth
Veuillez vous référer au tutoriel Contrôler une LED via Bluetooth avec un Raspberry Pi..
Code Raspberry Pi - Contrôler un moteur servo avec une application smartphone via Bluetooth
Veuillez consulter le Contrôler un moteur servo avec un Raspberry Pi via Bluetooth..