Si estás buscando configurar tu módulo Bluetooth HC-05 de forma rápida y sencilla, ¡has llegado al lugar adecuado! En este artículo te explicaremos paso a paso cómo utilizar los comandos AT para configurar tu HC-05 según tus necesidades. ¡Sigue leyendo para descubrir cómo hacerlo!
Cualquiera que juegue con el módulo Bluetooth HC-05 tendrá que utilizar los llamados «comandos AT» en algún momento. Los comandos AT son comandos simples basados en texto que siguen al prefijo «AT» («AT» significa «Atención»). Estos comandos son similares a los utilizados en dispositivos módems antiguos. Al enviar comandos AT específicos al módulo HC-05, puede configurarlo u obtener información básica sobre él, como su nombre, velocidad en baudios, código PIN, función, etc.
En este tutorial, aprenderá a configurar el módulo HC-05 usando comandos AT para personalizar el módulo y adaptarlo a las necesidades de su proyecto.
Configurando el módulo HC-05
Para configurar el módulo HC-05, póngalo en modo comando y envíe comandos AT a través del puerto UART. En modo comando, todos los bytes ASCII enviados se interpretan como comandos. Después de realizar cambios, reinicie el módulo para aplicar la configuración. Si cambia los parámetros de configuración, se guardan hasta que los cambie nuevamente o realice un restablecimiento de fábrica.
La configuración predeterminada para el módulo HC-05 es:
- Nombre del dispositivo: HC-05
- Rol: esclavo
- Clave de acceso: 1234
- Parámetros de serie:
- Velocidad de transmisión: 38400 bit/s
- Bit de parada: 1 bit
- Bit de paridad: Ninguno
- Código de solicitud: 0x009e8b33
Conexión del módulo HC-05 a una PC
Si desea conectar el módulo HC-05 a una PC, tiene dos opciones.
- Puede utilizar un convertidor de USB a TTL que crea una conexión directa entre el módulo HC-05 y su PC. Este conversor sirve como puente entre el puerto USB de su PC y las señales seriales TTL que entiende el módulo HC-05.
- Alternativamente, puede utilizar Arduino como medio entre la PC y el módulo HC-05. En esta configuración, Arduino sirve como traductor, pasando comandos y datos entre la PC y el módulo HC-05.
Con convertidor USB a TTL
Conectemos su módulo HC-05 a su PC usando un convertidor de USB a TTL.
Conectar el módulo HC-05 a un convertidor USB a TTL es tan fácil como aplicar energía y cablear los pines seriales Rx y Tx. El Tx del módulo HC-05 se conecta al RXD del convertidor, el Rx a TXD, GND a GND y VCC a 5V.
Tenga en cuenta que el pin Rx del módulo HC-05 no tolera 5 V. Entonces, si usa un convertidor USB a TTL que opera a 5 niveles VI/O, necesita reducir la señal Tx del convertidor a 3.3V. Existen numerosas formas de lograr esto, pero la más sencilla es utilizar un divisor de resistencia. Una resistencia de 1K entre HC-05s Rx y TXD del convertidor y una resistencia de 2K entre HC-05s Rx y GND son completamente suficientes.
En resumen, estas son las conexiones:
Módulo HC-05 | Convertidor USB a TTL | Observaciones | |
VCC | VCC | – | |
Dimensiones | Dimensiones | – | |
TXD | receta | – | |
RXD | tx | Cuando utilice un convertidor de 5 V, utilice un convertidor de nivel. |
La siguiente imagen muestra el HC-05 conectado a la PC usando el convertidor USB a TTL FT232RL.
Con Arduino
De manera similar, puedes conectar el módulo HC-05 a un Arduino. El TXD del módulo HC-05 se conecta al D1 del Arduino, el RXD a D0, GND a GND y VCC a 5V.
¡Una vez más! El pin Rx del módulo HC-05 no tolera 5V. Entonces, si está utilizando un microcontrolador de 5 V como Arduino UNO, debe reducir la señal Tx de Arduino a 3,3 V utilizando un divisor de resistencia. Una resistencia de 1K entre HC-05s Rx y Arduinos D0 y una resistencia de 2K entre HC-05s Rx y GND son completamente suficientes.
En resumen, estas son las conexiones:
Módulo HC-05 | arduino | Observaciones | |
VCC | 5V | – | |
Dimensiones | Dimensiones | – | |
TXD | T1 (T1) | – | |
RXD | T0 | Si usa una MCU de 5 V, use un convertidor de nivel |
La siguiente imagen muestra cómo conectar el módulo HC-05 al Arduino Uno.
Si utiliza este método, asegúrese de cargar un boceto en blanco en el Arduino.
Cambiar al modo AT
Para cambiar al modo AT, siga estos pasos.
- Presione y mantenga presionado el botón en el módulo HC-05.
- Suministre energía al módulo.
- Ahora suelte el pulsador. Cuando el LED integrado comienza a parpadear con una diferencia de tiempo de aproximadamente 2 segundos, el HC-05 ha cambiado exitosamente al modo AT. De lo contrario, repita el proceso.
Tenga en cuenta que en modo AT, el HC-05 se comunica a una velocidad de 38400 baudios de forma predeterminada y el envío de «r» y «n» es obligatorio con cada comando.
Envío de comandos AT
Para enviar comandos AT, necesita un programa de terminal de Windows instalado en su PC que pueda comunicarse con el módulo HC-05 a través de UART. Para ello recomendamos utilizar el “Arduino Serial Monitor”. Sin embargo, también hay muchas otras opciones gratuitas (como PuTTY, Tera Term, etc.) que puedes probar.
Primero, inicie el IDE de Arduino.
Asegúrese de que el módulo HC-05 esté encendido y en modo AT. El LED integrado debería parpadear lenta y uniformemente.
Cuando conecte el HC-05 a su PC, será reconocido como un puerto COM. Abra el administrador de dispositivos y busque en el directorio «Puertos (COM y LPT)». Allí encontrarás un nuevo puerto.
Luego navegue hasta el IDE de Arduino Herramientas > Puerto y seleccione este puerto COM.
Abra el monitor serie mediante Herramientas > monitor seriey asegúrese de que la velocidad en baudios esté en la esquina inferior derecha 38400 y eso 'Tanto en Liga Nacional como en CR'está seleccionado. Esto significa que cuando se envían comandos al HC-05, se inserta una nueva línea al final y se realiza una devolución.
Ahora ingresa “EN”(sin comillas) en el cuadro de texto en la parte superior del monitor serie y haga clic en el botón Enviar. Ellos deberían «DE ACUERDO”como respuesta del módulo. Esto significa que la comunicación fue exitosa.
Ahora puede enviar comandos como los siguientes para obtener más información sobre su módulo:
¿EN+VERSIÓN? – Se imprime la versión del software.
¿EN+NOMBRE? – Imprime el nombre del dispositivo.
¿AT+ PSWD? – Imprime la clave de acceso.
Estos son comandos de lectura. También puedes enviar comandos de escritura como:
AT+NOMBRE=Parám1 – Establece el nombre del dispositivo en Param1. Tenga en cuenta que el nombre del dispositivo puede tener hasta 32 bytes de longitud y contener caracteres especiales.
Comandos AT HC-05
Para su información, aquí hay una lista de todos los comandos AT del HC-05.
EN
usar | Controlar |
Respuesta | DE ACUERDO |
parámetro | – |
Observaciones | – |
Ejemplo | EN DE ACUERDO |
EN+REINICIAR
usar | Reiniciar el módulo |
Respuesta | DE ACUERDO |
parámetro | – |
Observaciones | – |
Ejemplo | EN+REINICIAR DE ACUERDO |
¿EN+VERSIÓN?
usar | Obtener la versión del software |
Respuesta | +VERSIÓN:**** DE ACUERDO |
parámetro | – |
Observaciones | – |
Ejemplo | ¿EN+VERSIÓN? +VERSIÓN:2.0-20100601 DE ACUERDO |
EN+ORGL
usar | Restaurar el estado predeterminado |
Respuesta | DE ACUERDO |
parámetro | – |
Observaciones | El parámetro del estado predeterminado: 1. Tipo de dispositivo: 0 2. Código de consulta: 0x009e8b33 3. Modo de funcionamiento del módulo: modo esclavo 4. Modo de conexión: conéctese al dispositivo Bluetooth especificado 5. Parámetros de serie: Velocidad en baudios: 38400 bit/s; Bit de parada: 1 bit; Bit de paridad: Ninguno. 6. Contraseña: “1234” 7. Nombre del dispositivo: “HC-2010-06-01” |
Ejemplo | EN+ORGL DE ACUERDO |
¿AT+DIRECCIÓN?
usar | Obtenga la dirección Bluetooth del módulo |
Respuesta | +DIRECCIÓN:**** DE ACUERDO |
parámetro | – |
Observaciones | La dirección de Bluetooth se muestra de la siguiente manera: NAP: UAP: LAP (Hexadecimal) |
Ejemplo | ¿AT+DIRECCIÓN? +DIRECCIÓN:1234:56:abcdef DE ACUERDO |
¿EN+NOMBRE?
usar | Consultar nombre del dispositivo | |
Respuesta | Si tiene éxito: +NOMBRE:**** DE ACUERDO |
En caso de error: FALLAR |
parámetro | – | |
Observaciones | Valor predeterminado: “HC-05” | |
Ejemplo | ¿EN+NOMBRE? +NOMBRE:HC-05 DE ACUERDO |
AT+NOMBRE=Parám1
usar | Establecer nombre del dispositivo |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: nombre del dispositivo Bluetooth |
Observaciones | Longitud hasta 32 bytes. Admite caracteres especiales. AT+NOMBRE=”HC-05″ es lo mismo que AT+NOMBRE=HC-05 |
Ejemplo | AT+NOMBRE=miBluetooth DE ACUERDO |
AT+NOMBRER?Parám1
usar | Consultar el nombre del dispositivo Bluetooth remoto | |
Respuesta | Si tiene éxito: +NOMBRE:Parámetro2 DE ACUERDO |
En caso de error: FALLAR |
parámetro | Param1: Dirección del dispositivo Bluetooth remoto Param2: Nombre del dispositivo Bluetooth remoto |
|
Observaciones | La dirección de Bluetooth se muestra de la siguiente manera: NAP:UAP:LAP (Hexadecimal) | |
Ejemplo | ¿AT+NOMBRER?0002,72,od2224 +NOMBRE:Bluetooth DE ACUERDO |
¿EN+ROL?
usar | Rol del módulo de consulta |
Respuesta | +ROL:**** DE ACUERDO |
parámetro | – |
Observaciones | El resultado es un número donde: 0 -> esclavo 1 -> Maestro 2 -> bucle esclavo |
Ejemplo | ¿EN+ROL? +ROL=0 DE ACUERDO |
AT+ROL=Parám1
usar | Establecer función del módulo |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: Función del módulo: 0 -> esclavo 1 -> Maestro 2 -> bucle esclavo |
Observaciones | Rollo: Esclavo (predeterminado): conexión pasiva Slave Loop: conexión pasiva, recibe los datos del dispositivo maestro Bluetooth remoto y los envía de regreso al dispositivo maestro Maestro: consulta el dispositivo esclavo Bluetooth SPP cercano, establece una conexión positiva con él y configura una transmisión de datos transparente entre el dispositivo maestro y el esclavo. |
Ejemplo | EN+ROL=0 DE ACUERDO |
¿EN+CLASE?
usar | Tipo de dispositivo de consulta | |
Respuesta | Si tiene éxito: +CLASE:**** DE ACUERDO |
En caso de error: FALLAR |
parámetro | – | |
Observaciones | Predeterminado: 0 | |
Ejemplo | – |
AT+CLASE=Parám1
usar | Establecer tipo de dispositivo |
Respuesta | DE ACUERDO |
parámetro | – |
Observaciones | El tipo de dispositivo Bluetooth es un parámetro de 32 bits que especifica el tipo de dispositivo y el tipo admitido. Para consultar de forma rápida y eficaz el dispositivo Bluetooth personalizado desde otros dispositivos Bluetooth, el usuario puede configurar el módulo en un tipo de dispositivo Bluetooth no estándar, como por ejemplo: Por ejemplo, 0x1F1F (hexadecimal). |
Ejemplo | – |
¿AT+IAC?
usar | Consultar “Solicitar código de acceso” |
Respuesta | +IAC: **** DE ACUERDO |
parámetro | – |
Observaciones | Predeterminado: 9e8b33 |
Ejemplo | ¿AT+IAC? +IAC: 9e8b3f DE ACUERDO |
AT+IAC=Parám1
usar | Configure «Solicitar código de acceso». | |
Respuesta | Si tiene éxito: DE ACUERDO |
En caso de error: FALLAR |
parámetro | Parámetro1: Solicitar código de acceso | |
Observaciones | El código de acceso está configurado para escribir GIAC (Código de acceso de consulta general: 0x9e8b33) y se utiliza para buscar (o ser buscado por) todos los dispositivos Bluetooth en el área. Para consultar rápida y eficazmente el dispositivo Bluetooth personalizado desde (o ser interrogado por) los dispositivos Bluetooth en el área, el usuario puede configurar el código de acceso de consulta a un número de tipo diferente (no GIAC o LIAC), p. Por ejemplo, 9e8b3f. | |
Ejemplo | AT+IAC=9e8b3f DE ACUERDO |
¿AT+INQM?
usar | Consultar el modo de acceso. |
Respuesta | +INQM:***,***,*** DE ACUERDO |
parámetro | – |
Observaciones | La salida tiene el formato: modo de acceso a consulta, tiempo máximo de respuesta de los dispositivos Bluetooth, tiempo máximo de consulta limitado Predeterminado: 1, 1, 48 |
Ejemplo | AT+INQM +INQM:1, 9, 48 DE ACUERDO |
AT+INQM=Parám1, Param2, Param3
usar | Configuración del modo de acceso a consultas | |
Respuesta | Si tiene éxito: DE ACUERDO |
En caso de error: FALLAR |
parámetro | Parámetro1: Modo de acceso a consultas: 0 -> Estándar 1 -> RSSI Param2: La respuesta máxima de los dispositivos Bluetooth. Param3: el máximo del tiempo de consulta limitado |
|
Observaciones | Rango de tiempo limitado: 1-48 (tiempo correspondiente: 1,28 s-61,44 s) | |
Ejemplo | Configure el modo de acceso Consulta para que 1) haya un indicador de intensidad de la señal RSSI, 2) la consulta se detenga cuando respondan más de 9 dispositivos, 3) el tiempo limitado 48*1,28=61, 44 s sea: AT+INQM=1,9,48 DE ACUERDO |
¿AT+PSWD?
usar | Solicitar clave de acceso |
Respuesta | +PSWD:**** DE ACUERDO |
parámetro | – |
Observaciones | Predeterminado: “1234” |
Ejemplo | ¿AT+PSWD? +PSWD:1234 DE ACUERDO |
AT+PSWD=Parám1
usar | Establecer clave de acceso |
Respuesta | DE ACUERDO |
parámetro | Parámetro 1: clave de acceso |
Observaciones | – |
Ejemplo | AT+PWD=1234 (o AT+PSWD=”1234″) DE ACUERDO |
¿AT+UART?
usar | Consultar parámetros seriales. |
Respuesta | +UART=****, ****, **** DE ACUERDO |
parámetro | – |
Observaciones | La salida tiene el formato: velocidad en baudios, bit de parada, bit de paridad Predeterminado: 9600, 0, 0 |
Ejemplo | ¿AT+UART? +UART:115200,1,2 DE ACUERDO |
AT+UART=Parám1, Param2, Param3
usar | Establecer parámetros de serie |
Respuesta | +UART=Parám1, Param2, Param3 DE ACUERDO |
parámetro | Parámetro1: Velocidad en baudios: 4800 -> 4800 bits/s 9600 -> 9600 bits/s 19200 bps 38400 -> 38400 bps 57600 -> 57600 bps 115200 -> 115200 bits/s 230400 -> 230400 bits/s 460800 -> 460800 bits/s 921600 -> 921600 bps 1382400 -> 1382400 bits/s Parámetro2: Bit de parada: Parámetro3: bit de paridad: |
Observaciones | – |
Ejemplo | Establezca la velocidad en baudios en 115200, el bit de parada en 2 bits y el bit de paridad en paridad uniforme: EN+UART=115200,1,2 DE ACUERDO |
¿AT+CMODO?
usar | Modo de conexión de consulta |
Respuesta | +MODO C:**** DE ACUERDO |
parámetro | – |
Observaciones | El resultado es un número donde: 0 (predeterminado) -> Conecta el módulo a la dirección Bluetooth especificada 1 -> Conecta el módulo a cualquier dirección 2 -> bucle esclavo |
Ejemplo | ¿AT+CMODO? +CMODO:2 DE ACUERDO |
AT+MODOC=Parám1
usar | Establecer modo de conexión |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: Modo de conexión: 0 -> Conecte el módulo a la dirección Bluetooth especificada. 1 -> Conecte el módulo a cualquier dirección 2 -> bucle esclavo |
Observaciones | – |
Ejemplo | EN+MODOC=2 DE ACUERDO |
¿EN+UNIR?
usar | Consulta: vincular la dirección Bluetooth |
Respuesta | +ENLACE:**** DE ACUERDO |
parámetro | – |
Observaciones | La dirección de Bluetooth se muestra de la siguiente manera: NAP: UAP:LAP (Hexadecimal) |
Ejemplo | ¿EN+UNIR? +ENLACE:1234:56:abcdef DE ACUERDO |
AT+BIND=Parám1
usar | Establecer – Vincular dirección Bluetooth |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: dirección Bluetooth: debe estar vinculada |
Observaciones | Al escribir la dirección, debes utilizar comas y no dos puntos. |
Ejemplo | AT+BIND=1234,56,abcdef DE ACUERDO |
¿EN+POLAR?
usar | Consulta: pantalla LED de la unidad y estado de la conexión |
Respuesta | +POLAR=****, **** DE ACUERDO |
parámetro | – |
Observaciones | La salida tiene el formato: modo PI08, modo PI09 Predeterminado: 1, 1 |
Ejemplo | ¿EN+POLAR? +POLAR=0, 1 DE ACUERDO |
AT+POLAR=Parám1, Parám2
usar | Set – visualización del accionamiento mediante LED y estado de conexión |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: Modo PI08: 0 -> PI08 emite un nivel bajo y enciende el LED 1 -> PI08 emite nivel alto y se enciende Parámetro2: Modo PI09: |
Observaciones | – |
Ejemplo | PI08 genera un nivel bajo y enciende el LED, PI09 genera un nivel alto e indica una conexión exitosa: EN+POLAR=0, 1 DE ACUERDO |
AT+PIO=Parám1, Parám2
usar | Configurar la salida de puerto único PIO |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: número de puerto PIO (decimal): Parámetro2: Estado del puerto PIO: 0 -> nivel bajo 1 -> nivel alto |
Observaciones | El módulo Bluetooth HC-05 proporciona al usuario puertos (PI00~PI07 y PI010), que pueden utilizar puertos de entrada y salida adicionales externamente. |
Ejemplo | 1. El puerto PI010 genera un nivel alto: AT+PI0=10, 1 DE ACUERDO 2. Nivel bajo en la salida del puerto PI010: |
AT+MPIO=Parám1
usar | Configurar la salida multipuerto PIO |
Respuesta | DE ACUERDO |
parámetro | Param1: Combinación de máscara de números de puerto PIO (decimal) |
Observaciones | (1) Máscara de número de puerto PIO = (1< (2) Combinación de máscara de números de puerto PIO = (máscara de número de puerto PIO 1|máscara de número de puerto PIO 2|……) Ejemplo : |
Ejemplo | 1. Los puertos PI010 y PI02 emiten un nivel alto: AT+MPI0=404 DE ACUERDO 2. Salida de alto nivel del puerto PI04: AT+PI0=004 DE ACUERDO 3. Nivel de salida del puerto PI010 alto: AT+PI0=400 DE ACUERDO 4. Todos los puertos emiten un nivel bajo: EN+MPI0=0 DE ACUERDO |
¿AT+MPIO?
usar | Consultar entrada del puerto PIO |
Respuesta | +MPIO:**** DE ACUERDO |
parámetro | Parámetro1: valor del puerto PIO (16 bits) parámetro[0]=PI00 parámetro[1]=PI01 parámetro[2]=PI02 … parámetro[10]=PI010 parámetro[11]=PI011 |
Observaciones | – |
Ejemplo | – |
¿AT+IPSCAN?
usar | Consultar escaneo de página y consultar parámetros de escaneo |
Respuesta | +IPSCAN:****, ****, ****, **** DE ACUERDO |
parámetro | – |
Observaciones | El resultado tiene el formato: intervalo de tiempo de consulta, duración de la consulta, intervalo de tiempo de paginación, duración de paginación Predeterminado: 1024.512.1024.512 |
Ejemplo | ¿AT+IPSCAN? +IPSCAN:1234.500.1200.250 DE ACUERDO |
AT+IPSCAN=Parám1, Param2, Param3, Param4
usar | Establecer escaneo de página y consultar parámetros de escaneo |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: Intervalo de tiempo de la consulta Param2: Duración de la consulta Parámetro 3: Intervalo de tiempo de paginación Parámetro 4: Duración de las visitas a la página |
Observaciones | – |
Ejemplo | AT+IPSCAN=1234,500,1200,250 DE ACUERDO |
¿AT+OLIFEAR?
usar | Consulta: parámetros de energía SNIFF |
Respuesta | +SNIFF:****, ****, ****, **** DE ACUERDO |
parámetro | – |
Observaciones | La salida está en el formato: tiempo máximo, tiempo mínimo, tiempo de prueba, tiempo limitado Predeterminado: 0,0,0,0 |
Ejemplo | – |
¿AT+SENM?
usar | Consulta modo seguro y cifrado |
Respuesta | +SENM:****, **** DE ACUERDO |
parámetro | – |
Observaciones | La salida tiene el formato: el valor del modo seguro, el valor del modo de cifrado Predeterminado: 0,0 |
Ejemplo | – |
AT+SENM=Parám1, Parám2
usar | Configurar el modo seguro y el modo de cifrado | |
Respuesta | Si tiene éxito: DE ACUERDO |
En caso de error: FALLAR |
parámetro | Param1: el valor del modo seguro: 0 -> seg_mode0+apagado 1 -> modo_seg1+no_seguro 2 -> seg_mode2_service 3 -> seg_mode3_link 4 -> seg_mode_unknown Param2: el valor del modo de cifrado: |
|
Observaciones | – | |
Ejemplo | – |
AT+RMSAD=Parám1
usar | Eliminar el dispositivo autenticado de la lista de pares de Bluetooth |
Respuesta | DE ACUERDO |
parámetro | Parámetro1: dirección del dispositivo Bluetooth |
Observaciones | – |
Ejemplo | AT+RMSAD=1234,56,abcdef Aceptar | FALLIDO |
AT+RMAAD
usar | Eliminar todos los dispositivos autenticados en la lista de pares |
Respuesta | DE ACUERDO |
parámetro | – |
Observaciones | – |
Ejemplo | AT+RMAAD DE ACUERDO |
AT+FSAD=Parám1
usar | Busque el dispositivo autenticado en la lista de pares de Bluetooth | |
Respuesta | Si tiene éxito: DE ACUERDO |
En caso de error: FALLAR |
parámetro | Parámetro1: dirección del dispositivo Bluetooth | |
Observaciones | – | |
Ejemplo | AT+FSAD=1234,56,abcdef Aceptar | FALLIDO |
¿AT+ADCN?
usar | Recuperar la cantidad de dispositivos autenticados de la lista de pares |
Respuesta | +ADCN:**** DE ACUERDO |
parámetro | – |
Observaciones | – |
Ejemplo | ¿AT+ADCN? +ADCN:0 DE ACUERDO |
¿AT+MRAD?
usar | Obtenga la dirección Bluetooth del último dispositivo autenticado utilizado |
Respuesta | +MRAD:**** DE ACUERDO |
parámetro | – |
Observaciones | – |
Ejemplo | ¿AT+MRAD? +MRAD:0:0:0 DE ACUERDO |
¿EN+ESTADO?
usar | Obtenga el estado de funcionamiento del módulo Bluetooth |
Respuesta | +ESTADO:**** DE ACUERDO |
parámetro | – |
Observaciones | El resultado puede ser uno de los siguientes: “INICIALIZADO” -> estado inicializado “LISTO” -> Estado listo “PARABLE” -> estado emparejable “EMPAREJADO” -> estado emparejado “CONSULTA” -> Estado de la solicitud “CONECTANDO” -> estado de conexión “CONECTADO” -> Estado conectado “DESCONECTADO” -> estado desconectado “NUKNOW” -> estado desconocido |
Ejemplo | ¿EN+ESTADO? +ESTADO:INICIALIZADO DE ACUERDO |
EN+INICIACIÓN
usar | Inicializar la biblioteca de perfiles SPP | |
Respuesta | Si tiene éxito: DE ACUERDO |
En caso de error: FALLAR |
parámetro | – | |
Observaciones | – | |
Ejemplo | EN+INICIACIÓN DE ACUERDO |
¿AT+INQM?
usar | Consultar dispositivo Bluetooth |
Respuesta | +INQ:**** +INQ:**** … DE ACUERDO |
parámetro | – |
Observaciones | Cada resultado tiene la forma: +INQ: dirección Bluetooth, tipo de dispositivo, intensidad de la señal RSSI |
Ejemplo | AT+INQ +INQ:2:72:D2224,3E0104,FFBC +INQ:1234:56:0,1F1F,FFC1 +INQ:1234:56:0,1F1F,FFC0 DE ACUERDO |
AT+PAR=Parám1, Parám2
usar | Establecer pareja | |
Respuesta | Si tiene éxito: DE ACUERDO |
En caso de error: FALLAR |
parámetro | Param1: dirección Bluetooth del dispositivo remoto Param2: tiempo de conexión limitado (segundos) |
|
Observaciones | – | |
Ejemplo | Emparéjelo con el dispositivo Bluetooth remoto (dirección: 1234:56:abcdef), el tiempo limitado es de 20 segundos: EN+PAR=1234,56,abcdef,20rn DE ACUERDO |
AT+ENLACE=Parám1
usar | Conectar dispositivo | |
Respuesta | Si tiene éxito: DE ACUERDO |
En caso de error: FALLAR |
parámetro | Param1: dirección Bluetooth del dispositivo remoto | |
Observaciones | – | |
Ejemplo | Conéctese al dispositivo Bluetooth remoto (dirección: 1234:56:abcdef): AT+FSAD=1234.56,abcdef DE ACUERDO AT+ENLACE=1234,56,abcdef DE ACUERDO |
EN+DISCO
usar | separación |
Respuesta | Si la separación es exitosa: +DISCO:ÉXITO DE ACUERDO Si se pierde la conexión: +DISCO:LINK_LOSS DE ACUERDO Si no hay conexión SLC: +DISCO:NO_SLC DE ACUERDO Si se agota el tiempo de desconexión: +DISCO:TIEMPO DE ESPERA DE ACUERDO En caso de error de separación: +DISCO:ERROR DE ACUERDO |
parámetro | – |
Observaciones | – |
Ejemplo | – |
AT+ENSNIFF=Parám1
usar | Ingrese al modo de energía |
Respuesta | DE ACUERDO |
parámetro | Param1: dirección Bluetooth del dispositivo |
Observaciones | – |
Ejemplo | – |
AT+EXSNIFF=Parám1
usar | Salir del modo de energía |
Respuesta | DE ACUERDO |
parámetro | Param1: dirección Bluetooth del dispositivo |
Observaciones | – |
Ejemplo | – |
Configurando el HC-05 con comandos AT
Cualquier persona que esté experimentando con el módulo bluetooth HC-05 eventualmente tendrá que usar los llamados «comandos AT». Estos comandos son comandos simples basados en texto que siguen el prefijo «AT» («AT» significa ‘atención’). Estos comandos son similares a los utilizados con los antiguos dispositivos de módem. Enviando comandos AT específicos al módulo HC-05, puedes configurarlo o recuperar información básica sobre él, como su nombre, velocidad de baudios, código PIN, rol, y más.
Configurando el módulo HC-05
Para configurar el módulo HC-05, debes ponerlo en modo comando y enviar comandos AT a través del puerto UART. Mientras esté en modo comando, cualquier byte ASCII que envíes se interpretará como comandos. Después de realizar cambios, reinicias el módulo para aplicar la configuración. Cuando cambias los parámetros de configuración, se guardarán hasta que los cambies nuevamente o realices un restablecimiento de fábrica.
La configuración predeterminada para el módulo HC-05 es:
- Nombre del Dispositivo: HC-05
- Rol: Esclavo
- Código de Paso: 1234
- Parámetros Seriales:
- Velocidad de Baudios: 38400 bits/s
- Bit de Parada: 1 bit
- Bit Paridad: Ninguno
- Código de Consulta: 0x009e8b33
Conexión del Módulo HC-05 a una PC
Cuando se trata de conectar el módulo HC-05 a una PC, tienes dos opciones:
- Puedes usar un convertidor USB a TTL, estableciendo una conexión directa entre el módulo HC-05 y tu PC. Este convertidor sirve como puente entre el puerto USB de tu PC y las señales seriales de nivel TTL que el módulo HC-05 entiende.
- Alternativamente, puedes usar el Arduino como intermediario entre la PC y el módulo HC-05. En esta configuración, el Arduino actúa como un traductor, transmitiendo comandos y datos entre la PC y el módulo HC-05.
Con Convertidor USB a TTL
Conectar el Módulo HC-05 a un convertidor USB a TTL es tan fácil como aplicar alimentación y conectar los pines seriales Rx y Tx. El Tx del módulo HC-05 se conecta al RXD del convertidor, el Rx al TXD, GND a GND, y VCC a 5V.
Para resumir, las siguientes son las conexiones:
HC-05 Module | USB-to-TTL Converter |
---|---|
VCC | VCC |
GND | GND |
TXD | RXD |
RXD | TXD |
La imagen a continuación muestra el HC-05 conectado a la PC utilizando el convertidor USB a TTL FT232RL.
Con Arduino
De manera similar, puedes conectar el Módulo HC-05 a un Arduino. El TXD del módulo HC-05 se conecta al D1 del Arduino, el RXD al D0, GND a GND, y VCC a 5V.
Nuevamente, el pin Rx en el módulo HC-05 no es tolerante a 5V. Por lo tanto, si estás usando un microcontrolador de 5V como Arduino UNO, necesitas bajar la señal Tx del Arduino a 3.3V usando un divisor de resistencia. Una resistencia de 1K entre Rx del HC-05 y D0 del Arduino, y una resistencia de 2K entre Rx del HC-05 y GND, funcionará muy bien.
Para resumir, las siguientes son las conexiones:
HC-05 Module | Arduino |
---|---|
VCC | 5V |
GND | GND |
TXD | D1 |
RXD | D0 |
La imagen a continuación muestra cómo conectar el módulo HC-05 al Arduino Uno.
Entrando en Modo AT
Para entrar en modo AT, sigue estos pasos:
- Mantén presionado el botón de encendido en el módulo HC-05.
- Suministra energía al módulo.
- Suelta el botón de encendido ahora. Si el LED integrado comienza a parpadear con una diferencia de tiempo de aproximadamente 2 segundos, el HC-05 ha entrado con éxito en el modo AT; de lo contrario, repite el procedimiento.
Envío de Comandos AT
Para enviar comandos AT, necesitarás tener un programa de terminal de Windows instalado en tu PC que pueda comunicarse con el módulo HC-05 a través de UART. Para este propósito, recomendamos usar el «Monitor Serial de Arduino». Sin embargo, también hay muchas otras opciones gratuitas (como PuTTY, Tera Term, etc.) que puedes explorar.
Para comenzar, abre el IDE de Arduino.
Asegúrate de que el módulo HC-05 esté encendido y en modo AT. El LED integrado debería estar parpadeando lentamente y de forma constante.
Cuando conectes el HC-05 a tu PC, será reconocido como un puerto COM. Abriendo el administrador de dispositivos y buscando en el árbol de «Puertos (COM y LPT)», encontrarás un nuevo puerto.
Luego, en el IDE de Arduino, ve a Herramientas > Puerto y elige ese puerto COM.
Abre el Monitor Serial a través de Herramientas > Monitor Serial, y asegúrate de que la velocidad de baudios en la esquina inferior derecha esté configurada en 38400 y la opción ‘Ambos NL y CR’ esté seleccionada. Esto significa que cuando envías comandos al HC-05, agregarán un salto de línea y retorno al final.
Ahora escribe «AT» (sin comillas) en el cuadro de texto en la parte superior del Monitor Serial y haz clic en el botón de Enviar. Deberías ver «OK» como respuesta del módulo. Esto significa que la comunicación es exitosa.
Ahora puedes enviar comandos como los siguientes para obtener más información sobre tu módulo:
- AT+VERSION? – Imprime la versión de software.
- AT+NAME? – Imprime el nombre del dispositivo.
- AT+PSWD? – Imprime el código de paso.
Estos son Comandos de Lectura. También puedes enviar Comandos de Escritura como:
- AT+NAME=Param1 – Establece el nombre del dispositivo como Param1.
Aquí hay una lista de todos los Comandos AT del HC-05 para tu referencia:
(Aquí se incluiría la lista completa de comandos AT del HC-05. Se mostraría en una tabla o lista desordenada, dependiendo del formato deseado).
Ahora, con estos conocimientos sobre cómo configurar el módulo HC-05 con comandos AT, puedes personalizar el módulo según los requisitos de tu proyecto. ¡Diviértete experimentando!
Gracias por la info, ahora me siento más seguro de poder configurar mi HC-05 con estos comandos AT. ¡Buena explicación!
Interesante tutorial, muy útil para configurar mi HC-05. ¡Gracias por compartir!
¡Excelente tutorial! Gracias por explicar de manera clara y sencilla cómo configurar el HC-05 con comandos AT. ¡Muy útil! 👍🏼