Conjunto de comandos Hayes
# Conjunto de comandos Hayes

El conjunto de comandos Hayes es un lenguaje desarrollado por la compañía Hayes Communications que prácticamente se convirtió en estándar abierto de comandos para configurar y parametrizar módems. Los caracteres «AT», que preceden a todos los comandos, significan «Atención», e hicieron que se conociera también a este conjunto de comandos como comandos AT.
Un aparato que implemente el conjunto de comandos Hayes se considera compatible Hayes. Parte del conjunto de comandos Hayes fue incluido por la ITU-T en el protocolo V.25ter, actual V.250. La adopción de este estándar hizo el desarrollo de controladores específicos para distintos módems superfluo.
A partir de la versión 3.x de Windows el sistema operativo contaba con una implementación de controlador para módems compatibles con Hayes. Sin embargo, a partir de Windows 95 se desarrollaron controladores específicos para cada módem, así que la compatibilidad con Hayes dejó de ser importante y por esta razón cada vez menos módems la implementaron. Esto dificultó su uso en otros sistemas operativos, pues no resulta frecuente que haya controladores disponibles.

# Conjunto de comandos Hayes
## Comandos

En la especificación de los comandos, se especifica que deberán ser enviados en mayúsculas, aunque actualmente, casi todos los proveedores de módulos GSM admiten comandos en minúsculas

# Conjunto de comandos Hayes
## Comandos
### Básicos 123
#### AT

Este es el comando base de los comandos Hayes. Con él, comprobamos la disponibilidad del dispositivo, es una manera de conseguir comprobar que todo vaya bien
AT+CGMI=?

# Conjunto de comandos Hayes
## Comandos
### Básicos 123
#### vta

Para contestar una llamada, también se configura en respuesta automática. Si no hay ninguna llamada entrante, respondería así:

# Conjunto de comandos Hayes
## Comandos
### Básicos 123
#### ATB

Para elegir el estándar de comunicación, a la hora de iniciar la conexión. En un principio se diseñó para elegir la velocidad, 300 o 1200bps y más tarde los vendedores, al introducir mayores velocidades, lo utilizaron para establecer el máximo de velocidad. En la actualidad, la mayoría del los módems ignoran este campo, respondiendo OK para compatibilizar.

# Conjunto de comandos Hayes
## Comandos
### Básicos 123
#### ATD

Este Comando se usa típicamente para realizar una llamada.
ATDXXXXXXXXXXX;
Ejemplo:
ATD04261164440; (esta sería una llamada a un número móvil en Venezuela)
OK

# Conjunto de comandos Hayes
## Comandos
### Básicos 123
#### ATE

Activación/Desactivación del eco del módem
ATE0 desactiva el eco del módem
ATE1 activa el eco del módem

# Conjunto de comandos Hayes
## Comandos
### Básicos 123
#### ATH

Permite colgar la llamada actual

# Conjunto de comandos Hayes
## Comandos
### Básicos 123
#### ATL

Controla el volumen del altavoz del dispositivo. Los dispositivos con botones de volumen no disponen de este comando.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CBC

Batery Charge. Sirve para conocer el estado de la batería del teléfono, devolviendo los valores de estado y los niveles de batería.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CBST

El comando de escritura AT + CBST selecciona el servicio portador <nombre>, la velocidad de datos <velocidad> y el elemento de conexión <ce> que se utilizará cuando se originan llamadas de datos.
Test Command AT+CBST=? Response(s): +CBST: (list of supported<speed>s), (list of supported<name>s), (list of supported<ce>s) OK
Read Command AT+CBST? Response(s): +CBST: <speed>, <name>, <ce> OK
Write Command AT+CBST=<speed>[, <name>[, <ce>]] Response(s): OK ERROR

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CGMI

Para solicitar información sobre el fabricante del módem.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CGMM

Para solicitar información sobre el número de modelo del módem.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CGMR

Para solicitar información sobre la versión del firmware.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CGSN

Para solicitar el IMEI

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CCLK

Con este comando AT se consulta la fecha y hora en el módem o teléfono. Saldrá en el siguiente formato: YYYY/MM/DD,HH:MM:SS. El comando no posee parámetros.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CMGL

Listar todos los mensajes
AT+CMGL="ALL"

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CMGS

Nos permite indicar el número de teléfono al que se va a enviar el SMS o mensaje de texto.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CPIN

Este comando vale para introducir el pin, para saber si la SIM está a la espera del PIN, PUK O PH-PIN (Bloqueo del terminal a un móvil)

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CSCS

Para definir la codificación de caracteres a usar.

# Conjunto de comandos Hayes
## Comandos
### Extendidos
#### AT+CSQ

Este comando sirve para conocer la calidad del nivel de señal recibida por el dispositivo. Tabla equivalencias entre rangos CSQ y niveles de recepción en expresados en dBm.
Para no tener que llevar la tabla, se consigue mediante la siguiente fórmula: (Nivel CSQ x 2) - 113. El resultado es el nivel de recepción en dBm.
Nivel CSQ / Nivel de señal (dBm)