Mode de commande AT du module Bluetooth HC-05 et HC-06

MISE À JOUR DU 18 JUILLET: Vous pouvez maintenant entrer en mode AT du HC-05 en utilisant une carte Arduino, (arduino uno utilisé dans ce tutoriel)

MISE À JOUR 7 juillet: J'ai eu l'occasion de tester un module HC06. Ce guide couvre désormais également le module HC-06. :)

Avoir plusieurs modules Bluetooth avec le même nom peut être déroutant. Parfois, il peut être nécessaire de modifier les paramètres par défaut comme le débit en bauds ou le rôle maître / esclave du module. Ce guide montre comment entrer en mode de commande AT du module Bluetooth HC05 / HC-06 à l'aide du convertisseur USB vers TTL. Alternativement pour HC-05, vous pouvez utiliser une carte Arduino.

Exigences:

Module Bluetooth 1.HC-05 / HC-06 avec carte de dérivation.

2. convertisseur USB vers TTL: j'ai utilisé un convertisseur USB vers TTL PL2303HX. Tout autre convertisseur usb en ttl fera aussi l'affaire. / Carte Arduino, arduino uno utilisée dans ce tutoriel, d'autres cartes devraient fonctionner.

3. Arduino IDE / Tera Term: Il peut être téléchargé à partir d'ici ou si vous ne souhaitez pas télécharger Arduino, téléchargez Tera Term à partir d'ici.

Étape 1: Identifier votre module

La première chose que vous devez faire est d'identifier votre module. Il peut s'agir de HC05 ou HC06. Les deux modules ont la même fonctionnalité sauf le brochage. HC05 peut également agir à la fois comme maître et esclave tandis que HC06 fonctionne uniquement comme esclave. Il est difficile de faire la différence entre les deux uniquement en voyant. Une façon probable serait de vérifier l'arrière de la carte de dérivation. S'il a "JY-MCU" écrit au dos, c'est probablement un HC06. Le mien a écrit "ZS-040" et c'est un HC05. Et le module HC06 que j'ai testé avait un signe bluetooth derrière avec trois empreintes de pcb (voir figure2). Pour confirmer l'identité de l'appareil, vous pouvez mettre le module sous tension, rechercher un nouvel appareil sur votre ordinateur ou votre mobile et rechercher HC05 ou HC06 sur la liste des appareils trouvés.

Étape 2: Brochage et entrée en mode AT

PINS: Les broches trouvées sur la carte de dérivation sont,

CLÉ: Cette broche doit être tirée haut pour entrer en mode AT.
VCC: La plage indiquée est de 3, 6 à 6 volts. Pour être plus sûr, vous devez le connecter à 3, 3 volts.
GND: Terre.
RXD: broche d'entrée série.
Broche de sortie série TXD.
ÉTAT: Peut ou non être connecté à une broche. Suppose censément l'état de la connexion Bluetooth. Cette broche ne sera pas nécessaire.

Certaines des cartes de dérivation ont une broche EN ou même une broche WAKE UP au lieu d'une broche KEY. Aucun d'entre eux ne semble connecté à des broches de module. Mais cela n'a pas d'importance car nous n'en aurions pas besoin de toute façon.

Une fois que vous avez identifié le module, il est maintenant temps de passer en mode AT.
Pour HC05: Connectez la broche Rx du module Bluetooth à la broche Tx du convertisseur USB vers TTL et la broche Tx de Bluetooth à la broche Rx du convertisseur. Connectez également leur masse mais ne connectez pas encore le Vcc. Vous devrez d'abord raccourcir la broche de clé avec le Vcc. Connectez la broche de clé et le Vcc ensemble sur la planche à pain ou de toute autre manière. Une fois toutes les autres broches connectées, connectez le Vcc du module bt au Vcc du convertisseur USB vers TTL. Maintenant, le voyant du module clignote à un intervalle de 2 secondes. Cela signifie qu'il est entré en mode AT. Si le voyant clignote plus rapidement, le mode AT n'est pas entré. Déconnectez Vcc, vérifiez votre circuit et réessayez. Si cela ne fonctionne pas, il est possible que votre broche KEY du module ne soit pas vraiment soudée à la KEY de la puce principale, c'est-à-dire la 34e broche. Vous pouvez vérifier cela à l'aide d'un multimètre.

Si vous utilisez un arduino uno, connectez la broche Rx du module Bluetooth à la broche 11 d'Arduino Uno (supposément la même pour Arduino mega) et la broche Tx de Bluetooth à la broche 10 d'Arduino. Connectez également la broche clé du module à la broche 9 de l'arduino et la masse à la terre, mais ne connectez pas encore le Vcc. Vous devez d'abord mettre l'arduino sous tension, puis connecter Vcc comme vous l'avez fait dans le cas d'un convertisseur USB vers TTL.

Pour HC06: Connectez simplement le Rx du module au Tx du convertisseur usb-ttl et au Tx du module. Connectez la masse et Vcc. Le module est en mode AT. Vous ne l'avez pas vu venir, non? : P Il s'avère que le module HC06 est configuré en permanence pour être esclave et il est toujours en mode AT lorsqu'il n'est pas couplé à un autre appareil. Il n'y a donc pas de voyant de confirmation clignotant indiquant qu'il est en mode AT comme HC05. Mettez simplement le module sous tension et passez les commandes AT pour modifier les paramètres par défaut.

Présentation de la connexion:

HC05 USB vers TTL Arduino
Vcc Vcc Vcc
Broche Rx Tx 11
Tx Rx pin 10
Gnd Gnd Gnd
clé Vcc pin 9

HC06 USB vers TTL

Vcc Vcc
Rx Tx
Tx Rx
Gnd Gnd

Étape 3: si la broche de clé n'est pas présente ou n'est pas connectée

Uniquement pour HC05 : Comme indiqué précédemment, certains modèles de la carte de dérivation n'ont pas de broche de clé, ils ont plutôt une broche EN (activer) ou une broche WAKE UP qui peut ou non être connectée à une broche tout comme la broche STATE. Dans ce cas, vous devrez souder un fil à la 34e broche du module bt. J'ai soudé un en-tête mâle au mien, mais si vous ne pouvez pas souder ou si vous ne le souhaitez pas, vous pouvez simplement tenir un fil (l'extrémité pointue d'un fil de connexion mâle à mâle serait pratique) tout en connectant le Vcc à 5 volts. Une fois que le module bt est en mode AT, vous pouvez libérer le fil.

HC06 ne nécessite pas de broche de clé.

Étape 4: Configuration de la connexion

Pour HC05:

Une fois le module en mode AT, ouvrez Arduino. Allez dans outils> port série> sélectionnez le port com auquel votre convertisseur USB vers TTL est connecté (pour le savoir, allez dans le gestionnaire de périphériques de votre PC> ports (COM & LPT)). Ouvrez maintenant le moniteur série. Le module bt communique maintenant à une vitesse de transmission de 38400. Modifiez donc la vitesse de transmission à 38400 dans le coin inférieur droit du moniteur série. Remplacez également "aucune fin de ligne" par "NL et CR" trouvé juste à côté du débit en bauds.

Si vous n'avez pas Arduino IDE, téléchargez le terme Tera (qui est un excellent émaluateur de terminal). Terme ouvert Tera. Une fenêtre contextuelle s'ouvrira, sélectionnez Série et choisissez le port com auquel le convertisseur usb vers ttl est connecté. Appuyez sur ok et une connexion sera établie. Maintenant, allez dans configuration> port série> définissez le débit en bauds sur 38400. Après avoir configuré le débit en bauds, allez dans configuration> terminal> changez la nouvelle ligne en CR + LF dans le menu déroulant. Cochez également la case d'écho local sous newline. Maintenant, la configuration est terminée.

Si vous utilisez une carte arduino (UNO / MEGA), copiez-collez le code suivant, qui n'est qu'une modification de l'exemple de série de logiciel inclus dans les exemples d'arduino.

//////////////////////////////////////////////////// //////////////////////////////////////////////////// //////////////////

#comprendre

SoftwareSerial mySerial (10, 11); // RX, TX

void setup() {

Serial.begin (9600);

pinMode (9, SORTIE); digitalWrite (9, HIGH);

Serial.println ("Entrez les commandes AT:");

mySerial.begin (38400);

}

boucle vide ()

{

if (mySerial.available ())

Serial.write (mySerial.read ());

if (Serial.available ())

mySerial.write (Serial.read ());

}

//////////////////////////////////////////////////// //////////////////////////////////////////////////// ///////////////////////

Téléchargez le code sur la carte Arduino, une fois le code téléchargé, ouvrez le moniteur série, changez "aucune fin de ligne" en "NL et CR" en bas, fermez-le et déconnectez la carte Arduino de l'USB. Maintenant, reconnectez à nouveau arduino à usb, connectez le vcc du module bluetooth à arduino 5volt et ouvrez le moniteur série. Le voyant du module doit clignoter à l'intervalle de 2 secondes. Cela signifie qu'il est entré en mode AT. Vous êtes maintenant prêt à saisir les commandes AT.

Pour HC06:

Maintenant, il y a un petit inconvénient pour HC06, il n'attend aucun caractère de terminaison pour chaque entrée de commande AT. Au lieu de cela, il agit sur le caractère que vous avez entré après une seconde. Par conséquent, si vous n'êtes pas en mesure de terminer une entrée de commande en une seconde, elle sera ignorée. En raison de ce comportement, il peut être extrêmement dif fi cile d'effectuer une con fi guration d'entrée manuelle à l'aide du logiciel Windows Hyper-terminal. Un logiciel de terminal qui permet l'envoi par lots de plusieurs caractères doit être utilisé. J'ai trouvé que l'arduino fonctionne bien. D'un autre côté, si vous utilisez le terme Tera, vous devez écrire les commandes AT dans un bloc-notes, puis le copier-coller dans le terme Tera. Un clic droit sur la console de termes Tera collera automatiquement la ligne copiée et s'exécutera immédiatement.

Donc, une fois que le module est connecté au convertisseur usb-ttl et sous tension, ouvrez arduino, sélectionnez le port com usb-ttl, définissez le débit en bauds sur 38400. Aucun autre paramètre ne doit être appliqué contrairement au HC05. Et pour Tera therm, sélectionnez le port com approprié, allez dans configuration> port série> définissez le débit en bauds sur 38400, allez dans configuration> terminal> cochez la case d'écho local et tout est réglé.

Étape 5: Commandes AT

Pour HC05: Tapez "AT" (sans les guillemets) sur le moniteur série et appuyez sur Entrée. si "OK" apparaît alors tout va bien et le module est prêt à prendre la commande. Vous pouvez maintenant modifier le nom du module, récupérer l'adresse ou la version ou même réinitialiser les paramètres d'usine. Pour voir le nom par défaut, tapez AT + NAME. Le nom sera demandé, par défaut c'est HC-05 ou JY_MCU ou quelque chose comme ça. Pour changer le nom, tapez simplement AT + NAME = votre nom souhaité.

Voici une note importante, si la broche de la clé n'est pas haute, c'est-à-dire qu'elle n'est pas connectée à Vcc lors de la réception des commandes AT (si vous n'avez pas soudé le fil et l'avez relâché après que le module est entré en mode AT), il n'affichera même pas le nom par défaut après avoir donné le bon ordre. Mais vous pouvez toujours changer le nom par la commande mentionnée ci-dessus. Pour vérifier si le nom a vraiment changé, recherchez l'appareil depuis votre PC / mobile. Le nom modifié apparaîtra. Pour modifier le débit en bauds, tapez AT + UART = débit en bauds souhaité. Quittez en envoyant la commande AT + RESET.

Les commandes AT les plus utiles sont

AT: Vérifiez la connexion.
AT + NAME: Voir le nom par défaut
AT + ADDR: voir l'adresse par défaut
AT + VERSION: Voir la version
AT + UART: voir débit en bauds
AT + ROLE: Voir rôle du module bt (1 = maître / 0 = esclave)
AT + RESET: réinitialiser et quitter le mode AT
AT + ORGL: restaurer les paramètres d'usine
AT + PSWD: voir mot de passe par défaut

Des commandes AT plus détaillées sont données dans le 1er pdf.

Pour HC06: Sur le moniteur série arduino, tapez "AT" (sans les guillemets) et appuyez sur Entrée, "OK" confirmera le mode AT. Contrairement à HC05, vous ne pouvez pas voir le nom ou la vitesse de transmission par défaut. Vous ne pouvez que les changer. Pour modifier le type de nom AT + NAMEDESIRED NAME, notez qu'il ne doit pas y avoir d'espace entre la commande et le nom. Le module répondra OK votre nom de jeu. Par exemple, AT + NAMEPROTOTYPE définira le nom sur PROTOTYPE. Pour modifier la vitesse de transmission, tapez AT + BAUDX, où X = 1 à 9.

1 réglé à 1200 bps
2 à 2400 bps
3 réglé à 4800 bps
4 réglé à 9600 bps (par défaut)
5 réglé à 19200 bps
6 à 38400 bps
7 réglé à 57600 bps
8 réglé à 115200 bps
l'envoi de AT + BAUD4 définira le débit en bauds à 9600.

Pour Tera Term, notez les commandes ailleurs et collez-les sur la console en faisant un clic droit. Pas besoin d'appuyer sur Entrée. La commande sera exécutée immédiatement et confirmée.

Les commandes HC 06 AT sont limitées, tout ce que j'ai pu trouver est donné ici.

AT: vérifier la connexion
AT + NAME: changer le nom. Pas d'espace entre le nom et la commande.
AT + BAUD: changez la vitesse de transmission, x est le code de vitesse de transmission, pas d'espace entre la commande et le code.
AT + PIN: changer la broche, xxxx est la broche, encore une fois, pas d'espace.
AT + VERSION

Plus de détails dans le 2ème pdf.

Pièces jointes

  • HC-0305 serail module AT commamd set 201104 revision_2.pdf Télécharger
  • EGBT-045MS-046S Manuel du module Bluetooth rev 1r0.pdf Télécharger

Articles Connexes