Foro de elhacker.net

Comunicaciones => Hacking Mobile => Mensaje iniciado por: Gospel en 20 Junio 2005, 16:37 pm



Título: [Bluetooth] Comandos AT
Publicado por: Gospel en 20 Junio 2005, 16:37 pm
Los comandos AT

Los comandos AT son instrucciones codificadas que conforman un lenguaje de comunicación entre el hombre y un terminal modem.
En un principio, el juego de comandos AT fue desarrollado en 1977 por Dennis Hayes como un interfaz de comunicación con un modem para así poder configurarlo y proporcionarle instrucciones, tales como marcar un número de teléfono. Más adelante, con el avance del baudio, fueron las compañías Microcomm y US Robotics las que siguieron desarrollando y expandiendo el juego de comandos hasta universalizarlo.
Los comandos AT se denominan así por la abreviatura de attention.

Aunque la finalidad principal de los comandos AT es la comunicación con modems, la telefonía móvil GSM también ha adoptado como estandar este lenguaje para poder comunicarse con sus terminales. De esta forma, todos los teléfonos móviles GSM poseen un juego de comandos AT específico que sirve de interfaz para configurar y proporcionar instrucciones a los terminales. Este juego de instrucciones puede encontrarse en la documentación técnica de los terminales GSM y permite acciones tales como realizar llamadas de datos o de voz, leer y escribir en la agenda de contactos y enviar mensajes SMS, además de muchas otras opciones de configuración del terminal.

  3.4.1. Notación de los comandos AT

El envío de comandos AT requiere la siguiente estructura:

· Petición:

(http://www.codeproject.com/ce/IrdaMobile/ATcommand.gif)
<CR> ... Carriage return

· Respuesta correcta:

(http://www.codeproject.com/ce/IrdaMobile/ATresponse.gif)
<CR> ... Carriage return
<LF> ... Line feed


· Respuesta incorrecta:

(http://www.codeproject.com/ce/IrdaMobile/ATerror.gif)
<CR> ... Carriage return
<LF> ... Line feed



  3.4.2. El juego de comandos AT específico para telefonía móvil GSM

Código:
    GSM AT COMMAND SET

    Call Control

ATA       Answer Command
ATD       Dial Command
ATH       Hang Up Call
ATL       Monitor Speaker Loudness
ATM       Monitor Speaker Mode
ATO       Go On-Line
ATP       Set Pulse Dial as Default
ATT       Set Tone Dial as Default
AT+CSTA   Select Type of Address
AT+CRC    Cellular Result Codes



    Data Card Control Commands

ATI       Identification
ATS       Select an S-register
ATZ       Recall Stored Profile
AT&F      Restore Factory Settings
AT&V      View Active Configuration
AT&W      Store Parameters in Given Profile
AT&Y      Select Set as s Powerup Option
AT+CLCK   Facility Lock Command
AT+COLP   Connected Line Identification Presentation
AT+GCAP   Request Complete Capabilities List
AT+GMI    Request Manufacturer Identification
AT+GMM    Request Model Identification
AT+GMR    Request Revision Identification
AT+GSN    Request Product Serial Number Identification



    Phone Control Commands

AT+CBC    Battery Charge
AT+CGMI   Request Manufacturer Identification
AT+CGMM   Request Model Identification
AT+CGMR   Request Revision Identification
AT+CGSN   Request Product Serial Number Identification
AT+CMEE   Report Mobile Equipment Error
AT+CPAS   Phone Activity Status
AT+CPBF   Find Phone Book Entries
AT+CPBR   Read Phone Book Entry
AT+CPBS   Select Phone Book Memory Storage
AT+CPBW   Write Phone Book Entry
AT+CSCS   Select TE Character Set
AT+CSQ    Signal Quality



    Computer Data Card Interface Commands

ATE       Command Echo
ATQ       Result Code Suppression
ATV       Define Response Format
ATX       Response Range Selection
AT&C      Define DCD Usage
AT&D      Define DTR Usage
AT&K      Select Flow Control
AT&Q      Define Communications Mode Option
AT&S      Define DSR Option
AT+ICF    DTE-DCE Character Framing
AT+IFC    DTE-DCE Local Flow Control
AT+IPR    Fixed DTE Rate



    ServiceAT+CLIP   Calling Line Identification Presentation

AT+CR     Service Reporting Control
AT+DR     Data Compression Reporting
AT+ILRR   DTE-DCE Local Rate Reporting



    Network Communication Parameter Commands

ATB       Communications Standard Option
AT+CBST   Select Bearer Service Type
AT+CEER   Extended Error Report
AT+CRLP   Radio Link Protocol
AT+DS     Data Compression



    Miscellaneous Commands

A/        Re-Execute Command Line
AT?       Command Help
AT*C      Start SMS Interpreter
AT*T      Enter SMS Block Mode Protocol
AT*V      Activate V.25bis Mode
AT*NOKIATEST Test Command
AT+CESP   Enter SMS Block Mode Protocol



    SMS Commands SMS Text Mode

AT+CSMS   Select Message Service
AT+CPMS   Preferred Message Storage
AT+CMGF   Message Format
AT+CSCA   Service Centre Address
AT+CSMP   Set Text Mode Parameters
AT+CSDH   Show Text Mode Parameters
AT+CSCB   Select Cell Broadcast Message Types
AT+CSAS   Save Settings
AT+CRES   Restore Settings
AT+CNMI   New Message Indications to TE
AT+CMGL   List Messages
AT+CMGR   Read Message
AT+CMGS   Send Message
AT+CMSS   Send Message from Storage
AT+CMGW   Write Message to Memory
AT+CMGD   Delete Message



    SMS PDU Mode

AT+CMGL   List Messages
AT+CMGR   Read Message
AT+CMGS   Send Message
AT+CMGW   Write Message to Memory


  3.4.3. Documentación de los comandos AT más interesantes

Todos los comandos han sido testeados con éxito utilizando un Nokia 8310.

Notación empleada:
Comando AT: [Definición técnica]
- Funcionalidad del comando
- Sintaxis: Petición | Respuesta
- Respuesta obtenida al testear el comando con Nokia 8310

## Comandos de Llamada ##

ATD: [Dial Command]
- Inicia una llamada telefónica
- Sintaxis:  ATD64612345 para una llamada de Datos.
                 ATD64612345; para una llamada de Voz. (Importante la notación ';')
                 ATD>"Gospel"; para llamar al contacto almacenado en la agenda con el texto asociado Gospel.


## Comandos de Operador ##

AT+CCFC: [Call Forwarding Number]
- Gestiona el Desvío de Llamadas. Permite redireccionar llamadas entrantes a otro número de teléfono.
- Sintaxis: AT+CCFC=<razón>,<modo>,<número>,<tipo>,<clase>,[<subaddr>,<satype>,[<time>]]
  <razón> Razón por la cual entra en acción el desvío de llamada.
     0 - incondicional
     1 - si teléfono ocupado
     2 - si no obtiene respuesta
     3 - si inalcanzable
     4 - todos los desvíos de llamadas
     5 - todos los desvíos de llamadas condicionales
  <modo> Estado del desvío de llamada.
     0 - desahabilitado
     1 - habilitado
     2 - query status
     3 - registro
     4 - erasure (borrado)
  <número> Cadena de texto con el número de teléfono destino del desvío de llamada. Se especifica en el formato indicado en el campo <type>
  <tipo> Tipo de código de dirección de teléfono:
     145 - para código internacional +
     129 - en otro caso
  <clase> Código que representa la clase de información que contiene la llamada a desviar.
     1 - voz
     2 - datos
     4 - fax
     7 - cualquier clase (por defecto)
  <time> Tiempo en segundos a esperar antes de desviar la llamada.
     1..30 (por defecto, 20)
  <status> Estado de la opción desvío de llamadas. (Sólo en respuesta AT)
     0 - no activo
     1 - activo
- Ejemplo: Implementación del comando en Blooover: "AT+CCFC=0,3,\"+4913377001\",145,7\r"
  Vemos que utiliza los siguientes parámetros:
  <razón> = 0, incondicional
  <modo> = 3, registro
  <número> = +4913377001 (German Windows XP Activation Hotline)
  <tipo> = 145, formato de código internacional
  <clase> = 7, cualquier clase de información a desviar


## Comandos de Control del Teléfono ##

AT+CPAS: [Phone Activity Status]

1) AT+CPAS=?
- Muestra la implementación del comando.
- Sintaxis: AT+CPAS=? | +CPAS: (lista de estados soportados)
    0 - Ready (Encendido pero inactivo)
    1 - Unavailable (No disponible)
    2 - Unknown (Desconocido)
    3 - Ringing (Llamada entrante en proceso)
    4 - Call in progress (Llamada saliente en proceso)
    5 - Asleep (Dormido)
- Respuesta: +CMGD: (0,2,3,4)

2) AT+CPAS
- Informa del estado de actividad del teléfono.
- Sintaxis: AT+CPAS | +CPAS: <estado>
- Respuesta: +CPAS: 0, en estado normal de inactividad.
                     +CPAS: 3, si el teléfono atacado está sonando a causa de una llamada entrante.


AT+CBC: [Battery Charge]
- Devuelve el estado de carga de la batería.
- Sintaxis: AT+CBC | +CBC: <bcs>, <bcl>
   <bcs> = 0 indica que el teléfono está conectado a una batería.
   <bcl> = 0 indica que el teléfono tiene la batería agotada.
             = 1..100 indica el porcentaje de carga que aún queda por agotar.
- Respuesta: +CBC:0,56


AT+CGMI: [Request Manufacturer Identification]
- Petición de identificación del Fabricante (Marca del teléfono).
- Sintaxis: AT+CGMM | <fabricante>
- Respuesta: Nokia Mobile Phones


AT+CGMM: [Request Model Identification]
- Petición de identificación del modelo de teléfono.
- Sintaxis: AT+CGMM | <modelo>
- Respuesta: Nokia 8310


AT+CGSN: [Request Product Serial Number Identification]
- Petición de identicación del número de serie del producto.
- Sintaxis: AT+CGSN | <IMEI>
- Respuesta: 1234567890etc


AT+CSQ: [Signal Quality]
- Devuelve el estado de calidad de la señal de cobertura.
- Sintaxis: AT+CSQ | +CSQ: <rssi>,<ber>
   <rssi> = 0 indica -113 dBm o menos
              = 1 indica -111 dBm
              = 2..30 indica -109..-53 dBm
              = 31 indica -51dBm o más
              = 99 indica desconocido
   <ber> = 99 indica porcentaje desconocido
- Respuesta: +CSQ: 13,99


AT+CPBS: [Select Phone Book Memory Storage]

1) AT+CPBS?
- Informa de los dispositivos de memoria que soporta el teléfono para almacenar las distintas listas de contactos.
- Sintaxis: AT+CPBS? | +CPBS: "XX", donde "XX" se sustituye por el dispositivo de almacenamiento:
   "SM"  - SIM phonebook list [Lista de contactos de la agenda SIM]
   "TA"  - TA phonebook list [Lista de contactos del terminal]
   "LD"  - SIM last dialing list [Lista de números marcados]
   "DC"  - Dialled call list [Lista de llamadas realizadas]
   "RC"  - ME received calls list [Lista de llamadas recibidas]
   "MC"  - ME missed call list [Lista de llamadas perdidas]
   "EN"  - Emergency number list [Lista de números de emergencia]
   "FD"  - SIM fix dialing list
   "MT"  - ME + SIM conbined list
   "ON"  - SIM o ME own number list
- Respuesta: +CPBS: "SM"

2) AT+CPBS="XX"
- Selecciona por defecto uno de los dispositivos de memoria que soporta el teléfono para almacenar las distintas listas de contactos.
- Sintaxis: AT+CPBS="XX", donde "XX" se sustituye por el dispositivo de almacenamiento:
   "SM"  - SIM phonebook list [Lista de contactos de la agenda SIM]
   "TA"  - TA phonebook list [Lista de contactos del terminal]
   "LD"  - SIM last dialing list [Lista de números marcados]
   "DC"  - Dialled call list [Lista de llamadas realizadas]
   "RC"  - ME received calls list [Lista de llamadas recibidas]
   "MC"  - ME missed call list [Lista de llamadas perdidas]
   "EN"  - Emergency number list [Lista de números de emergencia]
   "FD"  - SIM fix dialing list
   "MT"  - ME + SIM conbined list
   "ON"  - SIM o ME own number list


AT+CPBR: [Read Phone Book Entry]

1) AT+CPBR=?
- Informa del tamaño de la agenda de contactos.
- Sintaxis: AT+CPBR=? | +CPBR: <(1-n)>,<nlen>,<tlen>
   <(1-n)> indica el rango de índices que la agenda puede contener.
   <nlen> indica la longitud máxima permitida para un número de teléfono.
   <tlen> indica la longitud máxima permitida para el texto asociado a ese número (nombre del contacto).
- Respuesta: +CPBR: (1-150),48,14

2) AT+CPBR=<indice>
- Leer una entrada de la agenda de contactos.
- Sintaxis: AT+CPBR=<indice inicial> [,<indice final>] | +CPBR: <índice>, <número>, <tipo>, <texto>
   <índice> indica el índice de la agenda de contactos.
   <número> indica el número de teléfono almacenado en el índice.
   <tipo> indica el tipo de tipo de número de teléfono. Por defecto, 129 o 145 si incluye el prefijo internacional +.
   <text> indica el texto asociado al número de teléfono, normalmente, el nombre del contacto.
- Respuesta a AT+CPBR=8: +CPBR: 8,"646123456",129,"Gospel"

Nota: Para leer todas las entradas de la agenda, basta con preguntar por el tamaño de la agenda, almacenarlo en una variable int PhoneBookSize y lanzar un bucle FOR preguntando por cada índice:
for (int n = 1; n <= PhoneBookSize; n++)
{
   Enviar("AT+CPBR=%d", n);
}


Combinación de AT+CPBS;+CPBR [Leer una entrada de una lista de contactos seleccionada]
- Primero elegimos la lista de contactos a la que queremos acceder, y luego leemos una entrada por su índice.
Sintaxis: AT+CPBS="XX";+CPBR=<índice>, donde "XX" se sustituye por el dispositivo de almacenamiento:
   "SM"  - SIM phonebook list [Lista de contactos de la agenda SIM]
   "TA"  - TA phonebook list [Lista de contactos del terminal]
   "LD"  - SIM last dialing list [Lista de números marcados]
   "DC"  - Dialled call list [Lista de llamadas realizadas]
   "RC"  - ME received calls list [Lista de llamadas recibidas]
   "MC"  - ME missed call list [Lista de llamadas perdidas]
   "EN"  - Emergency number list [Lista de números de emergencia]
   "FD"  - SIM fix dialing list
   "MT"  - ME + SIM conbined list
   "ON"  - SIM o ME own number list
- Ejemplo de Respuesta a AT+CPBS="DC";+CPBR=2: +CPBR: 1,"646123456",129,"Pepito" (Visualizamos el último contacto al que hemos llamado).
          AT+CPBS="MC";+CPBR=1: +CPBR: 1,"646987654",129,"Jaimito" (Visualizamos la última llamada perdida).


AT+CPBF: [Find Phone Book Entries]
- Devuelve la entrada de la agenda de contactos cuyo texto asociado a un número contiene la cadena alfanumérica proporcionada.
- Sintaxis: AT+CPBF="textoaencontrar" | +CPBR: <índice>, <número>, <tipo>, <texto>
   "textoaencontrar" es case-sensitive, así que cuidado con el uso de mays.
   <índice> indica el índice de la agenda de contactos.
   <número> indica el número de teléfono almacenado en el índice.
   <tipo> indica el tipo de tipo de número de teléfono. Por defecto, 129 o 145 si incluye el prefijo internacional +.
   <text> indica el texto asociado al número de teléfono, normalmente, el nombre del contacto.
- Respuesta a AT+CPBF="Pepito": +CPBF: 19, "646987654",129,"Pepito"


AT+CPBW: [Write Phone Book Entry]
- Escribe una entrada en la agenda de contactos.
- Sintaxis:    AT+CPBW = <índice>, <número>, <tipo>, <texto>
   <índice> indica el índice de la agenda de contactos donde se creará la entrada de contacto. Si no se proporciona índice, se añade la entrada en el primer hueco libre.
   <número> indica el número de teléfono almacenado en el índice.
   <tipo> indica el tipo de tipo de número de teléfono. Por defecto, 129 o 145 si incluye el prefijo internacional +.
   <text> indica el texto asociado al número de teléfono, normalmente, el nombre del contacto.
Nota: Si únicamente se proporciona el campo del índice (omitiendo el resto de campos), la entrada de la agenda asociada a ese índice se borrará.
- Ejemplo para crear un nuevo contacto: AT+CPBW=,"696224466",129,"Jaimito"


## Comandos de SMS ##

[Próximamente...]


  3.4.4. Documentación técnica

http://us.share.geocities.com/unrayodesoul/bluehack/AT_Command_Set_For_Nokia_GSM_And_WCDMA_Products_v1_1_en.pdf (http://us.share.geocities.com/unrayodesoul/bluehack/AT_Command_Set_For_Nokia_GSM_And_WCDMA_Products_v1_1_en.pdf)

http://us.share.geocities.com/unrayodesoul/bluehack/AT_Command_Set_For_Nokia_GSM_Products.pdf (http://us.share.geocities.com/unrayodesoul/bluehack/AT_Command_Set_For_Nokia_GSM_Products.pdf)



3.5. Aplicaciones prácticas de los comandos AT

  3.5.1 Interacción de los comandos AT

Normalmente, es posible conectarse a un teléfono móvil GSM a través de un cable de serie o infrarrojos, y establecer una sesión de comandos AT.

Como se puede observar en la siguiente captura, establecemos comunicación con el teléfono móvil y enviamos por consola los comandos AT. Para cada comando AT, el teléfono móvil nos responde con el resultado de la ejecución del comando y con un OK.

(http://zaerik.iespana.es/bluetooth/AT.PNG)

  3.5.2 Aplicación práctica de intercambio de comandos AT por Infrarrojos con un teléfono móvil

Para ilustrar el siguiente ejemplo, vamos a presentar un proyecto de Daniel Strigl @ codeproject.com. Se trata de una herramienta que permite la comunicación por Infrarrojos entre un PC/Pocket PC y un teléfono móvil.

Infrared Communication with your Mobile Phone by Daniel Strigl
http://codeproject.com/ce/irdamobile.asp (http://codeproject.com/ce/irdamobile.asp)

El programa implementa mediante comandos AT las siguientes operaciones:
- Obtener el fabricante del móvil: AT+CGMI
- Obtener el modelo del móvil: AT+CGMM
- Obtener la lista de contactos de la agenda:
     Varios comandos AT:
     · AT+CPBS="SM"               //Selecciona el dispositivo de almacenamiento
     · AT+CPBR=?                    //Obtiene el tamaño de la agenda y lo guarda en int nPhoneBookSize
     · for (int n = 1; n <= nPhoneBookSize; n++)
       {
             AT+CPBR=n              //Obtiene el contacto de índice n
       }

En la página oficial del proyecto podéis encontrar tanto el desarrollo para PC (Windows) como para Pocket PC ARM(Windows Mobile). Para poder descargarse tanto los fuentes como los binarios es necesario estar registrado (gratuitamente) en www.codeproject.com

    3.5.1.1. El diseño de la aplicación.

La aplicación consta de los siguientes campos:

(http://images5.theimagehosting.com/IrDAMobileInterfaz.jpg)

    3.5.1.2. La aplicación en acción.

Los pasos para ejecutar la aplicación son:

1) Activar la comunicación IrD en el teléfono móvil.
2) Alinear los puertos infrarrojos de la Pocket PC y del teléfono móvil.
3) Seleccionar el puerto de transmisión. En nuestro caso, deberíamos seleccionar el puerto COM3, que es el especificado para comunicaciones IrD en Pocket PC.
4) Pulsar Read... para que comience la comunicación.
5) Al momento, la aplicación irá recibiendo la marca y modelo del teléfono móvil, así como los contactos de la agenda uno por uno.

(http://images5.theimagehosting.com/IrdaMobile.jpg)



Título: Comandos AT
Publicado por: PaTeDiT en 7 Abril 2007, 16:30 pm
Recién comprado mi móvil.. aquí va mi primera aportación:

Quizás mucho os hayáis preguntado qué hacer una vez hemos realizado, por ejemplo, el ataque Bluebug. Aquí van algunos de los comandos AT disponibles en terminales GSM.

A NIVEL GENERAL

Snapshot de ejemplo:

(http://img413.imageshack.us/img413/2568/snapshot1js6.th.png) (http://img413.imageshack.us/my.php?image=snapshot1js6.png)

Aquí comento en cada caso lo que se ha hecho:

· AT. Comprobamos que se pueden mandar comandos AT

· AT+CGMM. Identificación del modelo del móvil.

· AT+CGMI. Fabricante.

· ATI. Marca y modelo del móvil.

· AT+CGSN. Número IMEI.

· AT+CBC. Cantidad de batería (en ese momento lo acababa de cargar, se nota eh?  :P

· AT+CSQ. Cantidad de señal que recibe.

· AT+CFUN=0. El móvil está encendido

· AT+CFUN=1. El móvil está apagado......... Vaya.. antes estaba encendido, ¿qué es eso de Disconnected  :rolleyes: ?

Hasta ahora.. poco interesante :P

AGENDA DE TELÉFONO


Veamos la siguiende captura:

(http://img148.imageshack.us/img148/5341/snapshot2cj3.th.png) (http://img148.imageshack.us/my.php?image=snapshot2cj3.png)

· AT+CPBR=?. En este caso nos ha devuelto:
- (1-300) : Significa que el límite de contactos que pueda tener son de 300. En este caso es porque en mi móvil había puesto la agenda predeterminada la de la SIM. Si pongo la del teléfono es número es considerablemnte mayor... xD
- 80 : Cantidad de "numeritos" que se le pueden poner a un contacto en su teléfono
- 62 : Número de caracteres que se le puede poner al nombre de un contacto Ejemplo:Jose Alfredo Pinzón Aurelio de Todos los Santos (y aún no me he pasado del límite..)

· AT+CPBS="SM". Esto signifcia que apartir de ahora estaremos trabajando con la SIM.

· AT+CPBR=2. Muestra la entrada 2 de la SIM.
- "     " : Es el número de teléfono..
- 129 : Significa que se le asigna el prefijo nacional (+34 en este caso)
- "ElNombre"

· AT+CPBR=1,4. Muestra desde la entrada 1 a la 4.

· AT+CPBF="Julia". Busca el nombre Julia en la SIM. Nos dice que está en la entrada 3.

· AT+CPBS="DC". Esto significa que a paritr de ahora estaremos trabajando con las LLamadas Realizadas.

· AT+CPBR=1. Muestra la entrada 1 de las Llamadas Realizadas. Nos añade en este caso la fecha y hora.

· AT+CPBS="RC". Esto significa que a partir de ahora estaremos trabajando con las Llamadas Recibidas.

· AT+CPBR=1. Muestra la entrada 1 de las LLamadas Recibidas.

· AT+CPBS="MC". Esto significa que a paritr de ahora estaremos trabajando con las LLamadas perdidas...

Si queremos jugar con la memoria del teléfono:
AT+CPBS="ME"


¿Se puede escribir entonces una entrada en la agenda SIM?

La respuesta es sí.
Cambiamos a la SIM con
AT+CPBS="SM"
O bien a la memoria del teléfono con
AT+CPBS="ME"

Y escribimos:
AT+CPBW=,"912252525",129,"ElNOmbreDeLaPersona"

SMS

· AT+CMGF=?. Nos puede devolver un 1, un 0 o los dos. Esto significa que:
->Si es un 0, el móvil permite trabajar con los mensajes con texto en modo PDU.
->Si es un 1, el móvil permite trabajar con los mensajes con texto.

· AT+CMGF=1. Cambiamos el modo de trabajar al modo 1.
Algunos terminales como los Sony Ericsson, sólo permiten trabajar con el modo 0.

              a) Trabajando en modo texto

· AT+CMGL=?. Los estados en los que el móvil trabaja. Del 0 al 4 son:
"REC UNREAD" --> En la Bandeja de Entrada y sin leer.
"REC READ" --> En la Bandeja de Entrada leídos.
"STO UNSENT"--> En la Bandeja de Salida y sin enviar
"STO SENT" --> En la Bandeja de Salida y enviados
"ALL" --> Todos

Ahora podremos cambiar a cada estado con:
· AT+CMGL="SEC READ". En este caso nos devolverá los mensajes de la Bandeja de Entrada y leídos.

· AT+CMGR=2. Leeremos la entrada 2 de los mensajes en la Bandeja de Entrada.

· AT+CMGD=3. Borraremos el SMS con índice 3 !!


¿Se puede escribir ahora mensajes?

Pues sí mi pequeño padawan, y de la siguiente forma:

AT+CMGW="666666666"

Con esto, nos devolverá su respuesta y podremos escribir el texto.

Código:
AT+CMGW="666666666"
> Mensaje que queramos escribir y que va a ser guardado en la Bandeja de Salida.
A continuación, presionamos CONTROL+Z

Nos devolverá después el índice del mensaje.


...¿No se podrán enviar sms noo?

Efectivamente xD
De la misma forma que antes, sólo qu el comando ahora cambia un poco:

Código:
AT+CMGS="666666666"
> El mensaje del texto a enviar
Y pulsamos de nuevo CONTROL+Z

Interesante,¿eh?

              b) Trabajando en modo PDU

Para esto, cambiaremos el modo de trabajo con: AT+CMGF=0

Ahora, a la hora de mandar SMS no será lo mismo...

En este caso, los sms se mandarían de esta forma:

Código:
AT+CMGS=32
>0691658998005001000481090000001A69B7F90D60B3C3EEF7D

En el mensaje que se escribe, ya viene incluido el número de teléfono al que se quiere enviar, la longitud del mensaje,etc..

Aconsejo no usar esta forma...

De todas maneras, si queréis más información de cómo convertir texto para enviarlo por PDU:

http://www.dreamfabric.com/sms/
http://www.nerdlabs.org/projects/pduconv.php

Si es necesario, puedo explicar este método más detenidamente, pero no creo que este sea muy popular, por lo que he decido no tratarlo. Aconsejo usar siempre el primer método!

Un saludo!!


Título: Re: Comandos AT
Publicado por: Gospel en 7 Abril 2007, 17:30 pm
Buen resumen...

Algo parecido pero a nivel más teórico posteé yo hace tiempo
http://foro.elhacker.net/index.php/topic,83970.msg346518.html#msg346518

Por cierto, te has dejado el más popular:
Citar
ATD: [Dial Command]
- Inicia una llamada telefónica
- Sintaxis:  ATD64612345 para una llamada de Datos.
                 ATD64612345; para una llamada de Voz. (Importante la notación ';')
                 ATD>"Gospel"; para llamar al contacto almacenado en la agenda con el texto asociado Gospel.

y el más malvado:
Citar
AT+CCFC: [Call Forwarding Number]
- Gestiona el Desvío de Llamadas. Permite redireccionar llamadas entrantes a otro número de teléfono.
- Sintaxis: AT+CCFC=<razón>,<modo>,<número>,<tipo>,<clase>,[<subaddr>,<satype>,[<time>]]
  <razón> Razón por la cual entra en acción el desvío de llamada.
     0 - incondicional
     1 - si teléfono ocupado
     2 - si no obtiene respuesta
     3 - si inalcanzable
     4 - todos los desvíos de llamadas
     5 - todos los desvíos de llamadas condicionales
  <modo> Estado del desvío de llamada.
     0 - desahabilitado
     1 - habilitado
     2 - query status
     3 - registro
     4 - erasure (borrado)
  <número> Cadena de texto con el número de teléfono destino del desvío de llamada. Se especifica en el formato indicado en el campo <type>
  <tipo> Tipo de código de dirección de teléfono:
     145 - para código internacional +
     129 - en otro caso
  <clase> Código que representa la clase de información que contiene la llamada a desviar.
     1 - voz
     2 - datos
     4 - fax
     7 - cualquier clase (por defecto)
  <time> Tiempo en segundos a esperar antes de desviar la llamada.
     1..30 (por defecto, 20)
  <status> Estado de la opción desvío de llamadas. (Sólo en respuesta AT)
     0 - no activo
     1 - activo
- Ejemplo: Implementación del comando en Blooover: "AT+CCFC=0,3,\"+4913377001\",145,7\r"
  Vemos que utiliza los siguientes parámetros:
  <razón> = 0, incondicional
  <modo> = 3, registro
  <número> = +4913377001 (German Windows XP Activation Hotline)
  <tipo> = 145, formato de código internacional
  <clase> = 7, cualquier clase de información a desviar

Vaya, no sabía que los nuevos SonyEricsson ímplementaban todos los bloques de comandos AT: el básico, el de agenda y el de sms. Hoy en día es dificil encontrar modelos que soporten todos los comandos AT. Los nokia con symbian, por lo general, no soportan el bloque de sms pero sí el de agenda, los nokia sin symbian, por lo general, no soportan el de agenda pero sí el de sms. Los Windows Mobile sólo soportan ATI y ATD para llamadas de voz, nada más.

Saludos


Título: Re: Comandos AT
Publicado por: PaTeDiT en 7 Abril 2007, 17:35 pm
Vaya, yo que me lo quería currar y se me olvidó el de la llamada de datos y voz, que sale en todos los ejemplos xDD

El que no conocía era el del desvío, muy bueno.

Lo de los SMS en SonyEricsson he de decir que sólo aceptan el modo PDU, pero no me deja leerlos, solo enviar :P

Aún así, deje ahí constancia de ello por si acaso xD

Qué exito he tenido ...  :-[


Título: Re: Comandos AT
Publicado por: Gospel en 7 Abril 2007, 22:05 pm
No te deja listar los mensajes recibidos con AT+CMGL="REC READ"?? Que raro... Bueno, mira que en tu caso, al trabajar solo en modo PDU deberías sustituir REC READ por el número correspondiente. Al enviar AT+CMGL=? te debería devolver los posibles estados: 0-4 o algo así... Cada código se asigna a una bandeja: recibidos y leidos, recibidos pero no leidos, escritos sin enviar, enviados, etc.

Es muy raro que te deje ver las opciones del bloque de sms pero no te deje acceder a ellos, aunque sea en modo PDU y luego tengas que traducirlos. Muy buenos los links a traductores PDU-texto.

Saludos


Título: Re: Comandos AT
Publicado por: PaTeDiT en 8 Abril 2007, 16:00 pm
Sí, eso ya lo probé.

Cambiando el código que se asigna al número. Lo que ocurre es que en mi sony no me deja acceder a los mensajes para leerlos :P


Título: Re: Comandos AT
Publicado por: Gyn en 12 Abril 2007, 19:30 pm
Hola a todos! He leido vuestros mensajes y, he de admitir, que no entiendo mucho del tema, pero quizás me podáis ayudar. Según he visto, se pueden desviar las llamadas del móvil siguiendo los pasos indicados más abajo. Pero, ¿es posible desviar sólo las llamadas de 1 número de teléfono en concreto? O no existe esa posibilidad?
Gracias por la ayuda!
(Por cierto, tengo un Sony Ericsson)


Título: Re: Comandos AT
Publicado por: Gospel en 12 Abril 2007, 21:27 pm
Pues leyendo la sintaxis parece que no...

Mira más a fondo en algún PDF con comandos AT. Yo tengo un par en mi web.

Citar
AT+CCFC: [Call Forwarding Number]
- Gestiona el Desvío de Llamadas. Permite redireccionar llamadas entrantes a otro número de teléfono.
- Sintaxis: AT+CCFC=<razón>,<modo>,<número>,<tipo>,<clase>,[<subaddr>,<satype>,[<time>]]
  <razón> Razón por la cual entra en acción el desvío de llamada.
     0 - incondicional
     1 - si teléfono ocupado
     2 - si no obtiene respuesta
     3 - si inalcanzable
     4 - todos los desvíos de llamadas
     5 - todos los desvíos de llamadas condicionales
  <modo> Estado del desvío de llamada.
     0 - desahabilitado
     1 - habilitado
     2 - query status
     3 - registro
     4 - erasure (borrado)
  <número> Cadena de texto con el número de teléfono destino del desvío de llamada. Se especifica en el formato indicado en el campo <type>
  <tipo> Tipo de código de dirección de teléfono:
     145 - para código internacional +
     129 - en otro caso
  <clase> Código que representa la clase de información que contiene la llamada a desviar.
     1 - voz
     2 - datos
     4 - fax
     7 - cualquier clase (por defecto)
  <time> Tiempo en segundos a esperar antes de desviar la llamada.
     1..30 (por defecto, 20)
  <status> Estado de la opción desvío de llamadas. (Sólo en respuesta AT)
     0 - no activo
     1 - activo
- Ejemplo: Implementación del comando en Blooover: "AT+CCFC=0,3,\"+4913377001\",145,7\r"
  Vemos que utiliza los siguientes parámetros:
  <razón> = 0, incondicional
  <modo> = 3, registro
  <número> = +4913377001 (German Windows XP Activation Hotline)
  <tipo> = 145, formato de código internacional
  <clase> = 7, cualquier clase de información a desviar


Título: Re: Comandos AT
Publicado por: PaTeDiT en 12 Abril 2007, 21:46 pm
De hecho, ¿se puede hacer físicamente con un móvil?


Título: Re: Comandos AT
Publicado por: stradivariuss en 25 Junio 2007, 15:28 pm
buenas a todos...
mi pregunta os puede parecer tonta pero para alguien como yo que no tiene ni idea os aseguro que no lo es.
los comando a at que mandais al otro dispositivo lo haceis desde la ventana cmd. de windosw?? o es un programa especial<
y otra curiosidad,tiene que estar emparejado con el dispositivo al cual mandas los comandos at??
un saludo


Título: Re: Comandos AT
Publicado por: Gospel en 25 Junio 2007, 17:20 pm
http://foro.elhacker.net/index.php/topic,83981.0.html


Título: Re: Comandos AT
Publicado por: stradivariuss en 28 Junio 2007, 11:15 am
 :-*hola he estado leyendo pero no me aclaro a ver si me podeis ayudar.

he leido que en windows para mandar lo comando at lo tienes que hacer desde el hiperterminal pero no lo encuentro,dicho sea de paso es el xp y ademas a ver si me recomendais lectura para ver la base de bluetooth como funciona y todos los comandos que se pueden enviar de at y otros si los ubiera para dispositivos moviles, de antemano gracias.


Título: Re: Comandos AT
Publicado por: Gospel en 28 Junio 2007, 17:13 pm
Juas... no encuentras el hyperterminal en Windows y estás preguntando por comandos AT? De q vas chaval?

No te lo mereces porque no te has molestado en buscar, pero bueno...

Comandos AT
http://bluehack.elhacker.net/proyectos/comandosat/comandosat.html

Ejecución de comandos AT desde Linux y Windows
http://bluehack.elhacker.net/proyectos/vulnerabilidades/bluebug/desdePC/desdePC.html


Título: Re: Comandos AT
Publicado por: stradivariuss en 29 Junio 2007, 19:41 pm
buenas tardes.. :D
En primer lugar agraderte  gospel la información que mé pasas,pero támbien te quiero decir que la chuleria de:

"juas chaval.de que vas" sobra y en segundo lugar tu información me sigue sin aclarar donde esta la hiperterminal de windows.

Por último perdón por no ser un crak como tú en esto, de nuevo un cordial saludo.


Título: Re: Comandos AT
Publicado por: Gospel en 29 Junio 2007, 21:20 pm
http://www.google.es/search?hl=es&q=hyperterminal+windows+inicio

ya te vale, no hace falta ser ningún crack. Sólo hace falta buscar en google.


Título: Re: Comandos AT
Publicado por: stradivariuss en 30 Junio 2007, 15:07 pm
Muchas gracias gospel,espero qué mi próxima pregunta te lo ponga màs complicado.


Un saludo. :P


Título: Re: Comandos AT
Publicado por: Haegl en 5 Julio 2007, 17:28 pm
Realmente interesante :P .. preegunta.. que celulares aceptan comandos at? o sea marcas, y modelos, :S estuve buscando un rato pero aun no encuentro nada.. y preguntar no mata :D .. de todas maneras seguire buscandoo
ah.. quiero uno realmente barato   :P ..
no se si el motorola c118 o el samsung sgh-c266 (creo ques asi) aceptan comandos at..
que mas.. ah si.. :S tiene que tener comunicacion serial.. en el peor de los casos puede ser por usb. pero seria mas dificilpara mi controlarlo..
bueno.. gracias en adelanto :P
P.D. ya se que este foro es para bluetooth.. pero..  :-[ una ayudadita :P


Título: Re: Comandos AT
Publicado por: mogu en 10 Julio 2007, 12:31 pm
La mayoria de los moviles permiten comandos AT ya depende del fabricante el permitir determinados comandos AT.


Título: Re: Comandos AT
Publicado por: darck__angel en 20 Julio 2007, 01:42 am
hola, pues despues de batallar un poquito logre conectrame a mi telefono  :D la pregunta es, cuando quiero leer los mensajes del telfefono en la pc si los despliega pero en formato hexadecimal o algo asi, como le hago para que aparezca en texto normal??? ;D



Título: Re: Comandos AT
Publicado por: Gospel en 20 Julio 2007, 09:05 am
Estás en modo PDU, para pasar a modo texto:

AT+CMGF   Message Format
Código:
AT+CMGF=1

Saludos


Título: Re: [Bluetooth] Comandos AT
Publicado por: hijocker en 16 Noviembre 2007, 02:51 am
Hola a todos.

Tengo una duda con los comandos AT. Sabe alguien si hay algun comando que te devuelva el numero de telefono de quien te llama? He visto que hay comandos que te dicen si hay una llamada entrante pero no se como puedo obtener el numero.

Gracias.


Título: Re: [Bluetooth] Comandos AT
Publicado por: hijocker en 17 Noviembre 2007, 21:23 pm
Solucionado !!!

Para quien le interese:

at+clip=1

 ;D ;D ;D ;D


Título: Re: [Bluetooth] Comandos AT
Publicado por: ElWuilMeR en 25 Diciembre 2007, 21:38 pm
Hoy me e puesto a estudiar a el BT INFO y pues e visto que puedo implatar mis propios codigos AT....

Cuando estoy conectado al mobil remoto puede personalizar comandos personales AT... E incluso editarlos..


Tambien escuche que por windows se puede por el HyperTerminal pero mi duda mi computadora tiene que poseer bluetooth para que pueda usar el HyperTerminal con mi telefono mobil y asi usar los comandos AT.. (Por usb se puede  :-[ Tonta pregunta pero hay le damos)...


Lo otro para encender el mobil... Remotamente es de la siguiente forma:

ENCENDER:  "AT+CFUN=0"
APAGAR:       "AT+CFUN=1"


De esa manera o cual seria...

Y es super interesante me lei 4 veces el tema jejeje para lograr entenderlo y pues cuando me puse a practicar con el mobil pues vi la opcion y me interese mas en los comandos AT que wuao que son super...


Venga un Saludo y espero me saquen de duda...

PD: Habeces de tanto conectarse se pega, solo apagen los dos y listo...


Título: Re: [Bluetooth] Comandos AT
Publicado por: pepechip en 31 Marzo 2008, 16:36 pm
hola.
Soy nuevo en el foro, y me parece formidable la informacion facilitada sobre los comandos AT.
Yo desearia controlar la llamada y colgar mediante un microcontrolador, por lo que necesitaria conocer dichos codigos pero en un diagrama similar a este.
gracias

 (http://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Bmc.png/600px-Bmc.png)


Título: Alguien que me de una referencia de como escribir un comando AT?
Publicado por: gaboxl42 en 2 Julio 2008, 03:52 am
Hola a todos...al igual tambien yo soy mas o menos nuevo en esto.

Es decir, tengo el programa BT INFO en mi Nokia 5700 con Symbian S60 y lo utilizo muchisimo para hacer bluesnarf, pero siempre he tenido la curiosidad de como agregar mas comandos AT. En el programa, viene la opcion para agregar mas, pero no se como escribir el comando, asi que les pido que porfavor alguien me de un ejemplo con alguno de los comandos en la pagina 1,como lo escribirian a la hora de agregarlo al programa de BT INFO, por que no se como es el formato cuando escribes un comando (si tiene que llevar saltos de renglon y en que orden deben de ir laos numeros y letras).

Espero que me puedan ayudar y saludos a todos.


Título: Re: [Bluetooth] Comandos AT
Publicado por: Alesiter en 15 Julio 2008, 17:25 pm
tengo una duda, con los comando at se puede hacer lo mismo que por la interfaz de usuario del celular? o existen cosas que solo se pueda hacer mediante comandos at?

Lo que pretendia hacer es crear algun programa usando comandos AT para que cuando me llamen desde un "numerp privado" se pueda descifrar y lograr saber cual es el numero desde el q me llaman,se podra hacer eso con comandos at?


Título: Re: [Bluetooth] Comandos AT
Publicado por: SirGraham en 15 Julio 2008, 18:59 pm
Hola,

Eso me temo que eso no lo puedes hacer ni con comandos AT, ni con ninguna funcion del terminal, ya sea en Java o en C++ (Symbian o Windows Mobile).

La razon es que cuando sale "numero privado", "desconocido" o "oculto" es debido que el operador "no manda ese numero". No hay nada que descrifar. Al terminal no le llega el numero de origen por que el operador no se lo manda.

Revisa un poco como funciona la funcion de Caller ID tanto en GSM como en telefonia fija. Veras que de forma local (en el terminal) no puedes realizar esa operativa.

Saludos,
Sir Graham.


Título: Re: [Bluetooth] Comandos AT
Publicado por: Alesiter en 15 Julio 2008, 21:02 pm
entonces mediante los comandos AT se puede hacer exactamente lo mismo que por el menu del celular?


Título: Re: [Bluetooth] Comandos AT
Publicado por: SirGraham en 16 Julio 2008, 20:38 pm
Hola,

No. Pudes hacer algunas cosas, pero no todas las que puede hacer el movil.

Los comandos AT han ido creciendo desde su primera implementacion por Haydes. Otra cosa es que tengas funcionalidad para todo el telefono.

Saludos,
Sir Graham.


Título: Re: [Bluetooth] Comandos AT
Publicado por: Alesiter en 23 Julio 2008, 00:10 am
Citar
Hola,

No. Pudes hacer algunas cosas, pero no todas las que puede hacer el movil.

Los comandos AT han ido creciendo desde su primera implementacion por Haydes. Otra cosa es que tengas funcionalidad para todo el telefono.
entonces q cosas se pueden hacer con los comandos at q no se puedan hacer desde el menu del celular?


Título: Re: [Bluetooth] Comandos AT
Publicado por: SirGraham en 23 Julio 2008, 07:45 am
Hola,

Es que no es lo mismo. Por ejemplo sacar el IMSI. Eso no lo puedes hacer desde los comandos que comentas.

No hay una relacion son cosas diferentes y cambian por cada fabricante.

Saludos,
Sir Graham.


Título: Re: [Bluetooth] Comandos AT
Publicado por: Guillee2 en 16 Septiembre 2008, 21:04 pm
Hola. Primero, les agradezco y los felicito por toda la informacion interesante de este hilo.

Tengo un Siemens C55, que estoy conectando a la compu, y segun responde con uno de los comandos, tiene MODO PDU para los mensajes de texto.
El tema es que no se como leer los mensajes (ademas de que para escribir es un buen lio tambien).
Esto lo estoy utilizando para un proyecto de la universidad, donde despues voy a conectar el celular a un microprocesador, por lo que tambien me seria util si alguien sabe decirme si algun otro modelo de celular que se pueda conseguir barato me es util para esto.
Saludos


Título: Re: [Bluetooth] Comandos AT
Publicado por: SirGraham en 17 Septiembre 2008, 10:04 am
Hola,

Quizas para un proyecto de la UNI, te sea mas comodo usar una cosa concreta: un modem GSM tipo Wavecom. Estos suelen soportar los modos texto en el envio de SMS (mas facil de manejar).
Te digo esto por que los proyectos de la UNI no suelen tener una implementacion comercial por lo que no requieren una compatibilidad con las plataformas de moviles del mercado

Nosotros,en cambio, siempre usamos PDU, por que es mucho mas compatible entre los moviles y/o este tipo de moviles. Pero tenemos que hacerlo asi por necesidad. Si no te quieres complicar, puedes obviar esto mediante el modem Wavecom.

Ademas estos modems tiene una puerta serie estandard, que con un MAX232 es facilmente manejable desde un microcontrolador: PIC, ATMEL o lo que se te haya ocurrido utilizar...

Saludos,
Sir Graham.


Título: Re: [Bluetooth] Comandos AT
Publicado por: Guillee2 en 17 Septiembre 2008, 15:22 pm
El tema es que esos modems son caros, y exeden nuestro presupuesto. Para hacerlo sin gastar mucha plata (ya que no es un proyecto con fines comerciales sino que didacticos) lo tenemos que hacer si o si con un celular.

El que estamos utilizando es un Siemens C55, y ya logramos la conexion con la pc, intercalando un max232. Con varios de los comandos AT que probamos funciona.

Vos sabrias decirme como son los comandos para leer un mensaje recibido, ademas de otros comandos que me sean utiles.
La idea es que desde el micro se pueda dar marcha y parada a una maquina desde el celular, con un sms.


Título: Re: [Bluetooth] Comandos AT
Publicado por: carlosespinoza en 24 Febrero 2009, 21:21 pm
Hola a todos, soy nuevo en el foro, me gusto mucho y me sirvio mucho mas el post, pero tengo un problema...

estoy haciendo un programa para leer sms y que los conteste automaticamente, uso un SE K550i, pero solo puedo leer los mensajes guardados, no los de la bandeja de entrada ni los de salida, por mas que cambio el modo no siempre me manda el mismo mensaje :huh:

Si quieren les puedo pasar mi programa, creo que es bueno  :rolleyes:

alguien sabra como cambiar a leer los mensajes de bandeja de entrada???

Saludos  :D