Problema comunicacion con telefono movil (serial)

Tengo un arduino mega desde hace unos dias, y estoy intentando comunicarlo con un movil (concretamente con un siemens S55) a traves de comandos AT. Lo hago a traves del Serial1, y veo lo que ocurre en el Serial (USB).

El codigo es :

#include <string.h> //Used for string manipulations
char incoming_char=0; //Will hold the incoming character from the Serial Port.
void setup()
{
//Initialize serial ports for communication.
Serial.begin(9600);
Serial1.begin(9600);
Serial.println(“Starting Communication…”);
}
void loop()
{
//If a character comes in from the cellular module…
if(Serial1.available() >0)
{
incoming_char=Serial1.read(); //Get the character from the cellular serial port.
Serial.print(incoming_char); //Print the incoming character to the terminal.
}
//If a character is coming from the terminal to the Arduino…
if(Serial.available() >0)
{
incoming_char=Serial.read(); //Get the character coming from the terminal
Serial1.print(incoming_char); //Send the character to the cellular module.
}
}

Pues bien, envio los comandos AT correctamente (lo se porque el movil hace lo que se le envia), pero no consigo recibir ninguna respuesta, que es lo interesante, pues la idea seria enviar un SMS al movil y que el arduino lo recoja y procese.

He probado conectando directamente el TX de uno al RX del otro y viceversa, ademas del GND., he intercalado resistencia de 1K en los de comunicacion (por si es problema de tensiones), y nada. Tambien he probado a distintas velocidades del puerto, y a la maxima (115200), obtengo un 0 de respuesta cada vez, en el resto nada.

Alguien me puede dar alguna pista sobre lo que puede pasar?

Gracias y saludos.

Hola buenos dias, segun tu codigo solo veo rutinas para esperar respuesta del movil pero nunca le solicitas nada al movil. Ojo si usted envia un SMS desde su movil eso es enviado por la red de celular no por el puerto serial del movil para que usted pued ver cosas como esa tiene que solicitarlo via serial y usando comando AT.

Saludos y estamos en contacto.

Gracias por la respuesta.

Segun lo veo en el codigo, cuando le envio al arduino por el puerto serial (USB al PC), un comando AT, este lo reenvia por el puerto Serial1 al telefono movil. Esto funciona correctamente, puesto que si envio un ATDTXXXXXXX; por la comunicacion serial, veo como el telefono llama al numero XXXXXXX.
El problema es que el telefono deberia responder a estos comandos, y el arduino lo reenviaria al Serial, por lo que lo deberia ver en el PC. Esto no ocurre, es como si no recibiera respuesta del movil a nada (excepto si esta a 115200, en cuyo caso recibo siempre un 0).

Está ahora mas claro mi problema? alguna solucion?

De todas formas, a ver si encuentro otro movil para probar (a ver si es cosa del siemens S55).

Saludos.

tambien hice lo mismo en su momento

cogí el codio de ejemplo del multi serial para MEGA, lo tienes en comunications y una modificacion sobre el mismo

void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // read from port 1, send to port 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.print(inByte, BYTE); 
  }
    // read from port 0, send to port 1:
    if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.print(inByte, BYTE); 
  }
}

con esto y el hiperterminal o el mismo terminal del IDE de arduino puedes enviar comandos al movil.

OJO, en arduino tienes que poner elmodo de transferencia abajo a la derecha de la ventana de comunicaciones en Carriege return ( retorno de carro)
este detalle hace que funcionen los comandos que le enviamos.

Para los siemenens, comando importante. ATE0 y ATE1, deshabilita y habilita el ECHO, lo mejor .. utilizarlo SIN ECHO.

un saludo

Pues el problema parece del movil Siemens S55, porque he probado con un SE T630 y funciona correctamente, envio y recibo los comandos AT del movil.

Otro tema será ver que le pasa al S55...

Gracias por las aportaciones.
Saludos.

alguien sabe que modelos van bien para este tema que a mi me interesa tambien
salu2

cualquier modelo desde la serie S25 a la serie 55 o 65 funionan,

tengo varios modelos, M55 , C65 , c65, .... todos lo modelos tienen un modem interno compatibles entre si, con losmismos comandos AT.

super simples de manejar, desde 10 eur por ebay, muy faciceles de manejar, ademas de mucha infoarmacion en internet

un saludo