Le but est de montrer comment utiliser un carte nucleo-64 avec un module Bluetooth HC-05 ou HC-06
Grace au projet stm32duino, on peut utiliser l'IDE Arduino pour programmer ces cartes
Il faudra installer les cartes ST dans l'IDE Arduino en suivant les indications du lien ci-dessus
Matériel nécessaire :
2 carteS STM32 Nucleo, ici une L476RG et une F411RE:
1 modules HC-05 et un HC-06, (ou 2 HC-05) :
Le Câblage :
On connecte l'HC06 ainsi :
- On alimente en 5V le pin Vcc du module BT
- On connecte le GND du STM32 au GND du module BT
- On connecte D2 (RX) du STM32 au TX du module BT
- On connecte D8 (TX) du STM32 au RX du module BT
On connecte l'HC05 ainsi :
- On alimente en 3.3V le pin EN du module BT
- On alimente en 5V le pin Vcc du module BT
- On connecte le GND du STM32 au GND du module BT
- On connecte D2 (RX) du STM32 au TX du module BT
- On connecte D8 (TX) du STM32 au RX du module BT
Pour pourvoir communiquer avec un HC-05 par le port serie il faut garder le bouton du module appuyé, le mettre sous tension, et relâcher après 1 a 2 secondes
Si c'est bon la led clignotera lentement, cette opération n'est pas nécessaire sur le HC-06 et il n'y a donc pas de bouton sur le module
Les tests :
Pour tester les différents types de module serial AT que j'ai ESP01, HC06 et HC05 j'ai créer un petit programme :
Pour copier le programme, on clic dans le cadre du programme, puis Ctrl a, pour tout sélectionner, et Ctrl C pour copier
Ensuite vous pouvez le coller dans l'IDE Arduino
Il faut régler la com série sur pas de fin de ligne avant de lancer le programme
AT_Prog_test.ino :
Le paramétrages par la com série avec module un HC-06 (esclave uniquement):
au démarrage du programme :
Si tout va bien, il répond OK et donne la version de son firmware :
On peut tapez nos commandes, qui sont limité sur ces modules, la commande AT+NAME sans rien derrière remplace le nom par son adresse (nom par défaut):
il faut relever cette adresse (pour l'appairage) en faisant une recherche avec un smartphone :
ici 98:d3:32:70:d7:80 qu'il faudra noter 98d3,32,70d780 pour le module maître
Puis on fait les réglages :
- AT+NAME=HC06-E
- AT+PIN0000
- AT+BAUD4
Le paramétrages par la com série avec module un HC-05 (maitre/esclave):
au démarrage du programme :
Si tout va bien, il répond OK et donne la version de son firmware :
On peut tapez nos commandes après avoir modifier la com série :
En mode esclave :
- AT+NAME=HC05-E
- AT+UART=9600,0,0
- AT+PSWD=0000
- AT+ROLE=0
En mode maître :
- AT+NAME=HC05-M
- AT+UART=9600,0,0
- AT+PSWD=0000
- AT+ROLE=1
- AT+BIND=98d3,32,70d780
- AT+BIND?
changez par l'adresse de votre module esclave dans AT+BIND
Maintenant, on débranche et rebranche les cartes nucleo, et l'appairage se fait.
On perd le contrôle des commande AT, la led devient fixe sur le module esclave, et le module maître clignote 3 fois rapidement puis une fois lent
Exemple de communication entre 2 cartes nucleo après appairage
Pour copier le programme, on clic dans le cadre du programme, puis Ctrl a, pour tout sélectionner, et Ctrl C pour copier
Ensuite vous pouvez le coller dans l'IDE Arduino
Le programme pour le maître :
L476RG_BT_Maitre.ino :
Le programme pour l'esclave :
L476RG_BT_Esclave.ino :
Et on regarde la com série du maître :
Voilà les leds des cartes s'allument ou s'éteignent suivant les instructions