dimanche 18 février 2018

Auto-connexion de deux modules Bluetooth HC-05 et HC-06

Pour certains projets, il peut être utile que deux modules bluetooth se connectent automatiquement dès qu'ils sont à portée l'un de l'autre.
Ci-dessous, vous trouverez la méthode pour auto-connecter un HC-05 (en maître) et un HC-06 (en esclave). Seul un HC-05 pour être maître. On peut aussi faire une paire HC-05/HC-05 avec un maître et l'autre esclave.

Pour cette démonstration, il sera nécessaire d'avoir un adaptateur UART-USB (n'importe quel modèle fait l'affaire, tant qu'il y a du 5 V et du 3.3V)


La procédure va se faire en deux temps : la configuration du HC-06 (débit binaire et mot de passe) puis la configuration du HC-05 (débit binaire, mot de passe et passage en mode maître et liaison avec le HC-06)



Connexion du HC-06 avec un module UART-USB


1) Câbler le module comme ci-dessus

2) Connecter sur le PC le module UART-USB et identifier son port COM (le module BT clignote rapidement)

3) Lancer un logiciel de votre choix pour communiquer en mode AT (ici, j'utilise Termite)

Test de communication : taper AT dans la console, le module doit répondre "OK"


Taper "AT+NAMEESCLAVE", le module répond : "OKsetname" (attention à la syntaxe !). Cela permet de renommer le module.


Taper "AT+PIN1234", le module répond : "OKsetPIN". Cela permet d'être sûr que les deux modules auront le même mot de passe.



Test de reconnaissance sur mon PC : 

C'est fini pour le HC-06, heu, pardon, l'Esclave !







Maintenant, au tour du HC-05.... c'est un peu plus long......

Connexion du HC-05 avec un module UART-USB




1) Câbler le module comme ci-dessus

2) Avant de connecter le module USB, appuyer sur le bouton poussoir qui se trouve sur le HC-05 (non représenté ici) et laisser appuyé pendant la connexion. Une fois alimenté, la DEL doit clignoter lentement.

3) Configurer le logiciel :
Bien respecter les valeurs !!!

Taper "AT", après un premier retour qui indique une erreur (normal), retaper AT, le module répond "OK"


Si on tape "AT+NAME?", on obtient le nom actuel :


Taper "AT+NAME=MAITRE", le module répond "OK". On vérifie par "AT+NAME?" une nouvelle fois :


Taper maintenant "AT+ PSWD=1234" pour affecter le même mot de passe que l'esclave



Il faut indiquer au module qu'il est maître, il faut saisir : "AT+ROLE=1" 


Afin d'être sûr qu'il ne reste pas d'ancien couplage, on tape cette commande afin de les effacer, au cas où..."AT+RMAAD"


Il faut maintenant préciser que le module doit se connecter à un seul autre module, cela se fait par cette commande "AT+CMODE=0"


Nous allons maintenant initialiser le mode qui permet l'appairage et saisissant "AT+INIT"


Attention : A partir de maintenant, il faut alimenter l'Esclave et couper tous les autres modules (sauf le maître) afin de détecter son adresse 

Saisie de la commande "AT+INQ" pour détecter l'Esclave



Selon la réponse du module, après +INQ:, on lit : 98D3:32:308BFF. Ceci est l'information qui nous intéresse. Le reste de l'information n'est pas utile ici.
Pour lier le maître à l'esclave, il faut utiliser la commande "AT+BIND=98D3,32,308BFF". Les deux points doivent être remplacés par des virgules à la main.



On peut contrôler la liaison par "AT+BIND?"



C'est FINI !

A ce niveau, on débranche le maître, on retire le 3.3V et on rebranche sans appuyer sur le bouton poussoir.

Si les deux modules sont alimentés, après quelques secondes, l'esclave ne clignote plus et le maître envoie un clignotement double comme un battement de cœur (c'est une image...)

 Bravo, les deux modules se connectent automatiquement !!!!!