Publicaciones

Configurar módulos BlueTooth HC-05 HC-06 y comandos AT

 

Configurar, Programar módulos BlueTooth HC-05, HC-06 y comandos AT


En la sesión anterior presentamos algunos conceptos básicos sobre las redes Bluetooth y las funciones que se suelen realizar con ellos. Presentamos el concepto de Master y Slave y configuramos el modulo HC-06 que solo podía trabajar en el modo Slave.


En esta sesión, vamos a utilizar su hermano mayor el modulo HC-05, que puede configurarse tanto como Master que como Slave, y que además dispone de bastante más parámetros de configuración y capacidades de interrogación.
El aspecto externo es bastante similar  y la mejor manera de diferenciarlos es por los pines el soporte, 4 para el HC-06 y 6 pines para el HC-05.



En la última sesión insistimos en que no hay diferencias hardware entre ambos modelos, pero sí que hay diferencias muy importantes en el firmware (La programación interna del módulo).
Además, mientras que el HC-06 entra en modo de programación en cuanto lo enciendes y mientras no haya nadie conectado por Bluetooth, el HC-05 es ligeramente más complicado de colocar en modo comandos y requiere una cierta manera de arrancado, concretamente requiere que el pin KEY, (Que no estaba conectado el caso del HC-06) este en HIGH cuando encendemos el modulo.
He visto bastante información he internet que recomendaba unos ciertos procesos para arrancar el modulo que siempre me han parecido confusos y tienden a despistar a los que se acercan al tema por primera vez.
Por eso hemos decidido implementar este procedimiento en un Sketch de Arduino, para que podamos correrlo cuando necesitemos programar el módulo.
El procedimiento normal con estos módulos, suele ser conectarlos, ver la configuración y reprogramarlos con nuestras preferencias. Después mantendrá la programación hasta que decidamos cambiarla.
Pero parece que el proceso da bastante guerra, así que vamos a ver si podemos ayudar.

Modo de conexión PC - Arduino -   BlueTooth

 


La conexión es muy sencilla aunque requiere algún cable:
Arduino - Módulo HC-05




Arduino - Módulo HC-06

Conversor USB-TTL - Módulo HC-05

Luego de la comunicación queda así:




Programa de control


Caso1: Sirve para Módulo de 5 ó 6 pines


 

Programando el Módulo con comandos AT - comandos

 

Test de comunicación


Lo primero es comprobar si nuestro bluetooth responde a los comandos AT
Enviar: AT
Recibe: OK
Si recibimos como respuesta un OK entonces podemos continuar, sino verificar las conexiones o los pasos anteriores.
  

Cambiar nombre de nuestro módulo HC-06


Por defecto nuestro módulo bluetooth se llama “HC-06” o “Linvor” esto se puede cambiar con el siguiente comando AT
Enviar: AT+NAME   Ejm: AT+NAMERobot
Respuesta: OKsetname     
El nombre puede ser de hasta 20 caracteres como máximo
  

Cambiar Código de Vinculación


Por defecto viene con el código de vinculación (Pin) “1234”, para cambiarlo hay que enviar el siguiente comando AT
Enviar: AT+PIN   Ejm: AT+PIN1465
Respuesta: OKsetPIN   
  

Configurar la velocidad de comunicación:


La velocidad por defecto es de 9600 baudios, para cambiarlo se hace uso del siguiente comando AT:
Enviar: AT+BAUD
Respuesta: OK
Donde equivale a una velocidad de  , los valores pueden ser:
Numero---baudrate
  1 ---------1200
  2 ---------2400
  3 ---------4800
  4 ---------9600
  5 ---------19200
  6 ---------38400
  7 ---------57600
  8 ---------115200
Ejemplo:
Enviar: AT+BAUD3
Respuesta: OK9600


Otros comandos AT de utilidad:

  
Obtener la versión del firmware:
Enviar: AT+VERSION
Respuesta: OK   Ejm: OKLinvor1.8

Configuración de Paridad (solo configurable para versiones V1.5 o superiores)

Sin Paridad (Este es el valor por defecto)
Enviar: AT+PN
Respuesta: OK NONE
Paridad Impar
Enviar: AT+PO
Respuesta: OK ODD
Paridad Par
Enviar: AT+PE
Respuesta: OK EVEN
  
Más Información
En la siguiente imagen podemos ver la secuencia de datos recibidos por el monitor serial en el mismo orden en que se listaron los comandos AT:

No tendría demasiado sentido revisar aquí todos los posibles comandos AT, y por eso he preferido mostrar media docena de ellos, los más típicos, para que podáis experimentar y configurar el modulo.
Aquí tenéis una lista con algunos comandos a los que más o menos he encontrado sentido (Porque hay montones que no tengo ni idea para que sirvan).

AT COMMAND LISTING
COMMANDFUNCTION
ATTest UART Connection
AT+RESETReset Device
AT+VERSIONQuery firmware version
AT+ORGLRestore settings to Factory Defaults
AT+ADDRQuery Device Bluetooth Address
AT+NAMEQuery/Set Device Name
AT+RNAMEQuery Remote Bluetooth Device’s
AT+ROLEQuery/Set Device Role
AT+CLASSQuery/Set Class of Device CoD
AT+IACQuery/Set Inquire Access Code
AT+INQMQuery/Set Inquire Access Mode
AT+PSWDAT+PINQuery/Set Pairing Passkey
AT+UARTQuery/Set UART parameter
AT+CMODEQuery/Set Connection Mode
AT+BINDQuery/Set Binding Bluetooth Address
AT+POLARQuery/Set LED Output Polarity
AT+PIOSet/Reset a User I/O pin

Para aquellos que sientan curiosidad por saber que más se puede hacer con los comandos AT (Alguien habrá, ¿No?), les remito a un documento de Instructables que incluye un listado mayor de ellos. La dirección es:
Cuando hayamos programado el modulo como deseemos, podemos retirar la conexión del pin rotulado como KEY y el HC-05 está listo para trabajar normalmente sin aceptar ya comandos AT.


Bajar Material de aquí
Share this Article on :
 
d Copyright Electrónica Net Andino 2006 | Design by Net Andino | Published by Editor de Templates | Powered by Net Andino .