Table des matières:

OldMan et Bluetooth2 : 4 étapes
OldMan et Bluetooth2 : 4 étapes

Vidéo: OldMan et Bluetooth2 : 4 étapes

Vidéo: OldMan et Bluetooth2 : 4 étapes
Vidéo: 🔥 Всё-всё-всё про лямбда-зонды! Зачем нужен этот хитрый кислородный датчик? 2024, Juillet
Anonim
OldMan et Bluetooth2
OldMan et Bluetooth2

Donc, ce Lazy Old Geek (L. O. G.) a finalement obtenu un module Bluetooth HC05 d'AliExpress.com. J'en ai commandé un après avoir écrit ce Instructable:

www.instructables.com/id/OldMan-and-Blueto…

Eh bien, j'ai passé plusieurs heures à essayer de faire fonctionner cela en mode commande sans succès. J'ai même détruit un module HC05 (appliquant probablement de mauvaises tensions) et j'ai donc dû en acheter un autre.

ASTUCE: le mode de commande communique avec le module HC05 ou HC06 lui-même. Le mode de communication parle à un autre appareil Bluetooth.

Ce que j'ai trouvé, c'est beaucoup de différences entre HC05 et HC06. Le HC05 peut être maître ou esclave, le HC06 est esclave uniquement. Fondamentalement, un maître peut parler à un esclave, deux esclaves ne peuvent pas se parler. Les HC05 et HC06 ont des commandes différentes. Le HC05 doit être configuré matériellement pour passer en mode commande, il peut avoir différents débits en bauds pour la communication et le mode commande.

Le HC06 est toujours en mode communication et commande. Le réglage du débit en bauds pour l'un changera l'autre.

ASTUCE: Gardez une trace de cela car je ne l'ai pas fait et j'ai eu quelques problèmes.

ASTUCE: différents HC05 et HC06 peuvent être différents de ceux que j'ai reçus.

Le HCO6 exécutera des commandes, mais n'affichera pas toujours les résultats modifiés, par ex. changement de nom.

Étape 1: Évaluation/modification

Évaluation/modification
Évaluation/modification
Évaluation/modification
Évaluation/modification
Évaluation/modification
Évaluation/modification

Ci-joint un schéma HC05 similaire au mien. Deux différences que je connais sont qu'il y a une résistance de 2,2K entre PIO11 (34) et la broche EN et que le régulateur de 3,3v est un boîtier à 3 broches et n'a pas de broche CE. La photo ci-jointe est un schéma balisé de ce que je pense avoir.

À des fins de programmation, ce qui est important, c'est que la broche 34 Key soit connectée à la broche EN via une résistance de 2,2K. (Il est également connecté au bouton-poussoir, l'autre côté est connecté à 3.3V)

Le HC05 d'origine nécessite une alimentation de 5 V bien qu'il fonctionne avec des signaux de 3,3 V, j'ai donc modifié mon HCO5 pour utiliser 3,3 V à la place. J'ai retiré le régulateur 3,3 V et lancé un cavalier de la broche VCC directement à 3,3 V. Ceci est montré sur le schéma modifié et mon image HC05 modifiée.

Soit dit en passant, le jeu de commandes HC05.pdf ci-joint contient des informations précieuses sur l'utilisation du HC05. Malheureusement, il n'est pas très convivial.

Étape 2: Programmation du HC05

Programmation du HC05
Programmation du HC05
Programmation du HC05
Programmation du HC05

J'ai décidé que le moyen le plus simple d'utiliser le HC05 était de le connecter à l'un de mes adaptateurs série CP2102 3.3V comme je l'ai fait dans Old Man And Bluetooth Instructable avec un HC06. Voir photo et schéma.

ASTUCE IMPORTANT: Pour alimenter le HC05 en mode commande, la broche PIO11 (34) doit être élevée avant que 3,3 V ne soit appliqué. La broche EN de mon HC05 est connectée à PIO11 via une résistance de 2,2K, il suffit donc de la lier à 3,3V. Le schéma montre cela comme les broches du programme, mais placez simplement un cavalier de 3,3 V à la broche EN. Assurez-vous de le faire avant de mettre sous tension. Sur le mien, vous pouvez savoir si vous êtes en mode commande car la LED HC05 clignotera lentement. S'il clignote rapidement, cela signifie que vous êtes en mode couplage et que vous devez réessayer.

ASTUCE: Le HC05 en mode commande parle toujours à 38 400 bauds. Toutes les commandes sont en majuscules et doivent être suivies d'un CR et d'un LF. (Ceci est différent du HC06)

ASTUCE: Le format de la commande est très strict. Utilisez toujours des capuchons. Ils commencent tous par "AT" Suivez-les exactement, vous ne pouvez pas ajouter d'espaces là où ils ne sont pas affichés.

Démarrez Arduino. Allez dans « Outils » « Port » et sélectionnez le port Com auquel le CP2102 est connecté.

Ouvrez le moniteur série. Vers le bas de cette fenêtre, sélectionnez "Both NL and CR" et "38400 baud". (NL signifie New Line qui est le même que LF qui est Line Feed).

Vers le haut, il y a une case à côté du bouton Envoyer, cliquez dessus.

Sur votre PC, activez le verrouillage des majuscules

Tapez AT

La grande fenêtre devrait afficher « OK ».

Vous communiquez en mode commande

Quelques commandes qui fonctionnent sur la mienne

À

AT+RESET

AT+VERSION ?

AT+NOM ?

AT+ADDR ? ADDR:98D3:31:F5CB41

AT+NAME=BT1 Cela change le nom en BT1

AT+RLE ? 0 = Esclave 1 = Maître

Étape 3: HC06 revisité

HC06 revisité
HC06 revisité

L'une des principales différences entre le HC05 et le HC06 est que le HC05 peut être maître ou esclave alors que le HC06 est uniquement esclave. Cela signifie que vous pouvez parler entre un HC05 et un HC06. Cependant, il existe de nombreuses autres différences.

Alors que j'aurais pu utiliser un Arduino pour configurer mon HC06, j'ai choisi d'utiliser un CP2102 3.3v. Voir l'image

Connexions

CP2102 HC06

Terre Terre

Vcc Vcc

TXD RXD

RXD TXD

C'est fondamentalement le même que le HC05 sauf que mon HC06 n'a que quatre broches.

Mon CP2102 est modifié pour fournir 3.3V

Mon HC06 est modifié pour accepter 3.3V

Le CP2102 USB est connecté à mon PC. Sur mon PC, j'utilise l'IDE Arduino.

Sélectionnez le « port » approprié et ouvrez le moniteur série.

Sur mon HC06, la LED rouge clignote rapidement, ce qui indique qu'il est prêt à s'appairer mais peut également recevoir des commandes.

Certaines de ces informations proviennent de Martyn Currey:

www.martyncurrey.com/arduino-and-hc-06-zs-0…

Donc chaque type de HC06 peut être différent, le mien renvoie la VERSION linvorV1.5

Pour mon HC06 (et probablement tous), il n'y a pas de procédure spéciale pour le mettre en mode commande. Apparemment, s'il n'est pas couplé, vous pouvez toujours envoyer des commandes via le port série.

ASTUCE: vous ne pouvez envoyer de commandes à aucun module Bluetooth (à ma connaissance) via Bluetooth.

Ouvrez le moniteur série

Cliquez sur la première case en bas de Serial Monitor et réglez sur "pas de fin de ligne"

Initialement, mon débit en bauds était de 9600 bauds

Sur votre PC, activez le verrouillage des majuscules

Dans le top case tapez AT

Tapez Entrée ou appuyez sur le bouton « Envoyer »

L'écran devrait afficher OK

ASTUCE: Si vous n'obtenez pas de confirmation, cela peut être dû au fait que le débit en bauds a été modifié ou qu'il est différent. Vous pouvez en essayer plusieurs, jusqu'à ce que vous trouviez, espérons-le, le bon.

REMARQUE: En envoyant plusieurs commandes, les données de réponse ne passent pas à la ligne suivante. Vers le bas, vous pouvez cliquer sur Effacer la sortie.

Commandes qui fonctionnent pour moi:

Réponse de commande

AT+VERSION OKlinvorV1.5

AT+NAMEFred renvoie OKsetname

(Il ne vous dit pas le nom mais s'il est connecté par Bluetooth, il apparaîtra.)

REMARQUE: si vous modifiez le nom, l'ancien nom s'affichera sur votre smartphone jusqu'à ce que vous vous déconnectiez et reconnectiez.

AT+PINxxx Je ne l'ai pas essayé. La valeur par défaut est 1234

AT+BAUD8 Change le débit en bauds à 115200

La réponse est le débit en bauds, par ex. 115200

(Après avoir modifié le débit en bauds, vous devez modifier le débit en bauds du moniteur série à 115 200 pour envoyer d'autres commandes.

Options de débit en bauds

1 1200

2 2400

3 4800

4 9600 (par défaut)

5 19200

6 38400

7 57600

8 115200

9 230400

Un 460800

B 921600

C 1382400

REMARQUE: je n'ai pas essayé plus de 8 115 200. J'ai entendu parler de personnes essayant des taux plus élevés avec de mauvais résultats.

Les autres commandes censées fonctionner mais non testées:

AT+PN pas de contrôle de parité (par défaut)

Contrôle de parité impaire AT+PO

Contrôle de parité paire AT+PE

IMPORTANT: À ce stade, je vous suggère de choisir un nom unique et de le mettre. Je vous suggère également de décider du débit en bauds auquel vous souhaitez communiquer, de le mettre et de marquer votre HC06 avec.

Étape 4: Configuration de HC05 à HC06

Ok, ce Instructable m'a été le plus utile:

www.instructables.com/id/How-to-Configure-…

Ma configuration:

ESCLAVE recherche d'adresse

HC06 avec CP2102 (automatiquement en mode commande)

Branchez le câble USB CP2102 pour alimenter le HC06.

La LED HC06 doit clignoter rapidement (mode Pairing).

Sur votre smartphone, ouvrez les paramètres

Aller au Bluetooth

Rechercher un nouvel appareil

Si vous voyez quelque chose comme HC06 ou le nom que vous lui avez donné, sélectionnez-le.

Vous verrez très probablement une chaîne de chiffres comme 00:12:09:27:19:13, c'est probablement ça.

Notez cette adresse. (Le numéro est son adresse unique)

Sélectionnez-le

Lorsqu'on vous demande un code PIN, tapez 1234.

Le nom doit être affiché.

Si vous n'avez toujours pas l'adresse, sous « Périphériques précédemment connectés », sélectionnez le nom.

Cliquez sur Info, l'adresse devrait s'afficher. Écris le.

S'il ne s'affiche pas, quittez la configuration et ouvrez l'application Bluetooth Terminal HC-05.

Sous Appareils jumelés, recherchez le nom, l'adresse doit être en dessous, notez-le.

Configuration de l'esclave

Si le voyant HC06 ne clignote pas, éteignez et rallumez pour le remettre en mode d'appairage.

Démarrer Arduino

Sous « Outils » « Port » Sélectionnez le bon port Com

Ouvrir le moniteur série

Au bas de cette fenêtre

Sélectionnez « Pas de fin de ligne » et « 9600 bauds »

MAÎTRE

HC05 avec CP2102 réglé en mode commande (EN ponté haut)

Branchez le câble USB du CP2102 au PC

J'ai découvert que je pouvais ouvrir deux Arduinos

Sur le deuxième Arduino, sélectionnez le bon port Com pour HC05

Ouvrir le moniteur série

Au bas de la fenêtre

Sélectionnez « Both NL&CR » et « 38400 bauds »

Ce qui suit est de ce qui précède Instructable

Configuration principale

Les commandes AT requises pour définir la configuration:

RÉPONSE DU COMMANDEMENT Ce qu'il fait

AT+ROLE=1 OK Définir HC05 comme maître

AT+CMODE=1 OK Se connecter à une adresse spécifique

REMARQUE: L'adresse HC06 est probablement formatée comme ceci 00:12:09:27:19:13

La commande BIND attend ce 0012, 09, 27193 (vous enlevez les deux points, prenez les quatre premiers chiffres, puis la virgule, les deux chiffres suivants, puis la virgule, puis les six derniers chiffres)

AT+BIND=0012, 09, 271913 OK Se connecte/se lie avec HC06

(Au fait, AT+BIND? répond avec +BIND:12:9:271913)

(Vous voulez que la vitesse de communication du HC05 soit la même que celle du HC06) par exemple:

AT+UART=115200, 0, 0 OK Débit en bauds 115200 (1 bit d'arrêt, pas de parité)

Pour tester les communications:

Retirez le cavalier HC05 EN, éteignez et rallumez.

Lorsque les deux sont connectés, la LED HC05 clignotera deux fois toutes les quelques secondes, la LED HC06 restera allumée en continu.

Réglez les deux ports com sur le même débit en bauds (quel que soit votre configuration)

Réglez les deux sur « Both NL&CR »

Tapez quelque chose sur Serial Monitor1, Serial Monitor2 devrait l'afficher.

Tapez quelque chose sur Serial Monitor2, Serial Monitor1 devrait l'afficher.

Félicitations, vous communiquez via Bluetooth

Maintenant, l'Instructable ci-dessus a quelques croquis sur la façon d'utiliser les modules avec Arduino. Pour ce Instructable, je ne vais pas approfondir cela.

Conseillé: