Pour faire suite au premier billet sur le module bluethooth HC-05 il est aussi possible de configurer les modules HC-05 en mode Maitre ou Esclave, pour connaitre le role il faut entrer AT+ROLE, vous obtiendrez un rôle en retour, ici j’ai +ROLE:0 , il y a 3 rôle ,0 pour esclave, 1 pour maitre ( permet de se connecter automatiquement à un esclave )
Configuration du module esclave
Pour le mode esclave, vous pouvez changer le nom en tapant AT+NAME=HC05-Slave et choisir les paramètres de communication et le mot de passe que vous voulez. Il faudra vous assurer qu’ils sont les mêmes que pour le module maître.
AT retourne OK AT+NAME=HC05-SLAVE AT+UART=9600,0,0 AT+ROLE=0 Entrez AT+ADDR pour obtenir l’adresse du module esclave (dans notre cas, +ADDR:98d3:32:21450e)
Attention la commande AT+ADDR ne donne pas l’adresse complète
Pour le module esclave, vous pouvez aussi utiliser un module HC-06.
Configuration du module maître
Pour le mode maître, vous devez modifier le role du module et choisir les même paramètres de communication que pour le module esclave
AT retourne OK AT+NAME=HC05-MASTER AT+UART=9600,0,0 AT+ROLE=1 Vous devez enregistrer l’adresse du module esclave pour que le module maître puisse s’appairer: AT+BIND=98d3,32,21450e (remplacez les deux points « : » par des virgules « , »)
Allumage d’une LED connecté en Bluetooth à notre Arduino

#include <SoftwareSerial.h> SoftwareSerial bluetooth(2, 3); // (RX, TX) (pin TX BT, pin RX BT) char outgoingMessage = 0; void setup() { // Ouvre la voie série avec l'ordinateur Serial.begin(9600); // Ouvre la voie série avec le module BT bluetooth.begin(9600); Serial.println("Taper 0 eteint la led | Taper 1 allume la led"); } void loop() { if (Serial.available()) { // Copie les datas reçu en Bluetooth dans la variable message outgoingMessage = Serial.read(); Serial.println(outgoingMessage); // Envoi les datas contenu dans la variable message dans la console série bluetooth.print(outgoingMessage); } }

#include <SoftwareSerial.h> int led = 8; char incomingMessage = 0; // for incoming serial data SoftwareSerial bluetooth(2, 3); // (RX, TX) (pin TX BT, pin RX BT) void setup() { // INIT PIN OUT pinMode(led,OUTPUT); // PIN LED ROUGE Serial.begin(9600);// opens serial port, sets data rate to 9600 bps // Ouvre la voie série avec le module BT bluetooth.begin(9600); } void loop() { if (bluetooth.available()) { // Copie les datas reçu en Bluetooth dans la variable message incomingMessage = bluetooth.read(); // Envoi les datas contenu dans la variable message dans la console série Serial.println(incomingMessage); // } if (incomingMessage == '0'){ digitalWrite(led,LOW); Serial.print(incomingMessage); } else if (incomingMessage == '1'){ digitalWrite(led,HIGH); Serial.print(incomingMessage); } } }