Guía sintetizada de comandos AT GSM+BT

En esta guía te daremos una vista rápida de los orígenes de los famosos comandos AT y una síntesis de los más útiles y comúnmente utilizados para módulos bluetooth y módulos GSM.

Historia
Todo comenzó en 1981, cuando Dennis Hayes diseñó un lenguaje de comandos para sus módem Smartmodem 300, que consistían en una serie de comandos de texto para establecer parámetros de configuración y parámetros de conexión, al ser tan fáciles de recordar e implementar en módems similares, esta serie de comandos se implementó en varios sistemas de comunicación más, hasta nuestros tiempos.

Esta serie de comandos de texto también se le conoce como AT commands o Comandos AT, dónde «AT» viene de «attention».

Sintaxis básico
Basándonos en los comandos AT para un módem GSM, información aplicable para varios módulos bluetooth, GSM y GPS.
Un comando AT tiene el formato de «AT<x><n>», o «AT&<x><n>», donde «<x>» es el comando específico y «<n>» son los argumentos para ese comando.

Tipos de comandos AT y sus respuestas

Comando para probarAT+<x>=?Este comando retorna la lista de parámetros y rangos de valores establecidos con el comando correspondiente para escribir o por procesos internos.
Comando para leer AT+<x>? Este comando retorna el valor establecido actual del parámetro o parámetros.
Comando para escribir AT+<x>=<…>Este comando establece los parámetros que se pueden definir por el usuario.
Comando para ejecutar AT+<x>Este comando lee parámetros que no se pueden modificar, afectados únicamente por el dispositivo.

Tabla obtenida de Quectel

Cómo combinar varios comandos AT en una sola línea
Puedes poner varios comandos AT en la misma línea, usualmente no necesitas volver a añadir el prefijo «AT» mas que una sola vez al principio, recuerda usar un punto y coma «;» como delimitador de cada comando.

IMPORTANTE – ¡Para comandos sucesivos deberás esperar la respuesta del dispositivo antes de enviar otro!

Comandos AT más utilizados para módulos GSM

Un shield GSM LTE de Sparkfun
ComandoDescripción
AT&FReestablecer los parámetros de fábrica
AT&VMostrar la configuración actual
AT&WGuardar los parámetros establecidos en el perfil del usuario
AT+GMISolicitar la información del fabricante
AT+GSNSolicitar el número identificador IMEI del dispositivo (International Mobile Equipment Identity)
AT+GMMObtener el modelo del dispositivo
AT+GMRObtener la versión del firmware del dispositivo
A/Repite el último comando
ATAResponde la llamada entrante
ATD><N>Llama al número guardado en memoria
ATDLLlama el último teléfono marcado
ATHSe desconecta de la conexión actual
ATLEstablecer el volumen de la bocina monitor
ATTEstablecer la llamada de pulsos

Comandos AT más utilizados para módulos HC-05 y HC-06

HC-05 (maestro/esclavo)
Módulo usado ampliamente en la escena maker, bluetooth convertidor serial, puede funcionar como maestro y esclavo, usualmente tiene 6 pines:

PinNombreDescripción
1Habilitar/keyEste pin se utiliza para cambiar el modo de funcionamiento, modo de datos (poner en bajo), modo comandos AT (poner en alto)
2VCCPin de alimentación 5VDC
3Tierra (GND)Pin de tierra
4TX – TransmisorPin transmisor serial
5RX – ReceptorPin receptor serial
6EstadoPin que muestra el estado de la conexión, parpadea dos veces lento con una conexión activa, parpadea rápido cuando la conexión no está activa
7LEDLED de estado, está conectado al pin 6 de estado.
8BotónConectado directamente al pin 1, si se presiona justo antes de energizar el módulo entrará en modo de comandos AT.
Obtenida de Components 101

Comandos AT más comunes para el módulo HC-05

ComandoDescripción
ATComando de prueba, así puedes verificar si la comunicación es bidireccional, el módulo responderá con un «OK»
AT+STATE?El módulo responderá con el estado actual
AT+RESETComando para reiniciar el módulo
AT+VERSION?Comando para obtener la versión del firmware del módulo
AT+ORGLReestablece el módulo a valores de fábrica
AT+ADDR?Dirección física alfanumérica del módulo
AT+NAME=<N>Establece el nombre bluetooth del módulo, usa AT+NAME? para conocer el nombre del módulo actual
AT+ROLE=<N>Establece el rol de operación, usa 0 para definir modo esclavo, 1 para modo maestro y 2 para modo esclavo-repetido; en este modo el módulo reenvía todo lo que recibe de la conexión bluetooth
A+PSWD=<N>Establece el PIN numérico de 4 dígitos para el emparejamiento bluetooth, el predeterminado es 1234, para conocer el pin actual usa AT+PSWD?
AT+UART=<N1>,<N2>,<N3>Establece los parámetros de la comunicación serial, N1 es el número de baudios a utilizar en la conexión, N2 es el bit de paro a utilizar en la comunicación y N3 es la paridad de la conexión, para conocer los valores definidos usa AT+UART?
AT+IRQ Escanea y muestra la dirección física los dispositivos cercanos
AT+BIND=<N>Establece la dirección física bluetooth a la cual el módulo se conectará al encenderse
AT+CMODE=<N> Usa 0 para conectar a la dirección física definida con AT+BIND previamente, 1 para conectarse a cualquier dirección dentro de la cobertura del módulo o 2 para modo esclavo-repetido

HC-06 (esclavo)
Tiene menos pines que su hermano mayor HC-05, funge de la misma manera; como módulo convertidor bluetooth a serial, únicamente puede funcionar como esclavo y posee 4 pines:

PinNombreDescripción
1RX Pin receptor serial
2TX Pin transmisor serial
3GND Pin de tierra
4VCC Pin de alimentación 5VDC

Comandos AT más comunes para el módulo HC-06

ComandoDescripción
AT Comando de prueba, así puedes verificar si la comunicación es bidireccional, el módulo responderá con un «OK»
AT+BAUD<X>Configura la velocidad en baudios de comunicación, reemplaza <X> con el número correspondiente: 1->1200 baudios, 2->2400, 3->4800, 4->9600 (el que viene de fábrica), 5->19200, 6->38400, 7->57600 y 8->115200 baudios
AT+NAMEnombreEstablece el nombre bluetooth del módulo, el módulo responde con «OKname», límite de 20 caracteres
AT+PINxxxxEstablece el pin de emparejamiento (4 dígitos numéricos), el módulo responde con OKsetpin, el pin de fábrica es 1234. Este pin se mantiene aunque el módulo se desconecte de la alimentación
AT+VERSIONObtiene la versión del firmware del módulo

Comandos AT Bluetooth obtenidos de las hojas de datos del fabricante Wavesen.

Comentarios