Module bluetooth HC05

Le module bluetooth HC05 permet de communiquer en Bluetooth avec un port série d'un micro-contrôleur. Le module HC06 est plus simple d'utilisation que le HC05. Par contre, ce dernier est plus riche en fonctionnalités : fonctionne en maitre / esclave, il possède un bouton pour le passer en mode programmation et il est possible de l'interroger sur sa configuration.

Le paramètrage s'effectue par le biais de commandes AT envoyées via son port série.

HC05 Bluetooth

Le branchement de ce module vers un port série via un Arduino est le même que pour le module HC06.

Verso du HC05

Pour ce module, j'ai utilisé un adaptateur série ↔ USB, ce qui évite l'utilisation d'un Arduino.

Adaptateur USB ↔ Série à base de puce CP2102

Il faut veiller à bien croiser TX et RX lors du branchement sur le dongle USB. De plus, ce module ne requiert pas un pont diviseur comme avec le HC06.

Branchement sur HC05 avec l'adaptateur série

Pour passer en mode programmation, il faut appuyer sur le bouton tout en le branchant sur le post USB. La led clignote alors très lentement, toute les 2 secondes. La vitesse de communication en mode commande est de 38400 baud.

Une fois connecté en USB, voici plusieurs options pour se connecter :

  • Avec picocom :
    picocom -b 38400 --omap crcrlf --echo /dev/tty.usbserial-0001
    picocom v3.1
     
    port is        : /dev/tty.usbserial-0001
    flowcontrol    : none
    baudrate is    : 38400
    parity is      : none
    databits are   : 8
    stopbits are   : 1
    escape is      : C-a
    local echo is  : yes
    noinit is      : no
    noreset is     : no
    hangup is      : no
    nolock is      : no
    send_cmd is    : sz -vv
    receive_cmd is : rz -vv -E
    imap is        :
    omap is        : crcrlf,
    emap is        : crcrlf,delbs,
    logfile is     : none
    initstring     : none
    exit_after is  : not set
    exit is        : no
     
    Type [C-a] [C-h] to see available commands
    Terminal ready
    AT
    OK
    AT+VERSION?
    +VERSION:4.0-20190815
    OK
    AT+UART?
    +UART:9600,0,0
    OK

    Pour sortir de Picocom

    Taper la combinaison de touches : CTRL + a suivi de CTRL + x
  • Avec une commande pour chaque instruction (des caractères artefact apparaissent sur des chaines supérieur à 12 caractères, je ne sais pas d'où cela provient) :
    echo "AT" | picocom -b 38400 --omap lfcrlf -qrx 1000 /dev/tty.usbserial-0001
    OK
    echo "AT+VERSION?" | picocom -b 38400 --omap lfcrlf -qrx 1000 /dev/tty.usbserial-0001
    +VERSION:4.0-20190815
    OK
  • Avec le sketch du HC06 et la console de l'Arduino IDE en la paramétrant avec une vitesse en accord avec celle définie dans Serial.begin(115200); et avec l'envoi de retour de chariot
Configuration du moniteur série

J'ai utilisé les commandes suivantes :

  • AT : réponse OK = vérification de la connexion
  • AT+VERSION? : version du firmware + OK
  • AT+ROLE? : interrogation du mode : maitre 1 ou esclave 0
  • AT+ROLE=0 : passage en mode escalve, un ordinateur se connecte sur le module pour qu'il recoive des ordres
  • AT+RESET : applique les changements ci dessus et redemarre le module. Il faut se reconnecter dessus en appuyant sur le bouton
  • AT+CMODE=1 : autorise n'importe quel appareil à s'appairer avec
  • AT+NAME? : le nom du module
  • AT+NAME=robot : configure le nom du module à robot. La réponse est OK
  • AT+UART? : retourne la vitesse
  • AT+UART=115200 : paramètre la vitesse à 115200 baud. La réponse est OK
  • AT+PSWD?: retourne le mot de passe
  • AT+PSWD=1234 : configure le mot de passe à 1234. La réponse est OK
  • realisations/arduino/hc05.txt
  • Dernière modification: 2023/12/03 22:26
  • par admin