PC a móvil a PC

Hace un tiempo desarrollé un gateway sms/mail/sms donde además del software, la pieza clave era esta:

El gateway esta dado de baja (tuvo demasiado éxito), sin embargo el móvil que aparece en la imágen lo sigo usando en algunos de mis proyectos (pronto sabreis por qué estoy escribiendo artículos sobre aparatos). Se trata de un siemens m35i que en su día me cargué la pantalla y lo destiné como modem gsm para poder enviar y recibir sms. Este se comunica con un cable de datos por el puerto serie con el ordenador. Como el cable tiene que usar el mismo compartimento que la fuente de alimentación del móvil y necesitaba tener los dos al mismo tiempo, conecté los pines donde se conecta la batería del móvil a un pequeño circuito con un L7805C y dos condensadores, funcionando todo ello con una fuente de alimentación de 12 voltios.

En este caso el móvil al ser un modem gsm (como la inmensa mayoría) se puede manejar con comandos AT, aunque algunos son característicos de los móviles (como el de mandar sms).

Para trabajar con el, en mi caso, tengo que abrir el puerto serie a 19200 baudios, 8 bits, ninguna paridad y un bit de stop.

En mi caso, siempre me interesa usarlo como transmisor/receptor de sms, por lo que leyendo un poco la documentación del móvil veo que para enviar sms se usa el comando AT+CMGS. Sin embargo mi móvil no permite mensajes de texto de forma directa, sino que necesita enviarlos en formato estandar PDU (también cuando muestra los recibidos). Buscando por ahí no he encontrado mucho código fuente (en java smstools) por lo que me hice una rutina en C para pasar de texto a PDU y viceversa:

28 comentarios en “PC a móvil a PC

  1. HUGONE

    No se como contactar contigo para que me ayudes con una cosa, mandame un mail a xxxxx y te cuento mi duda, vale? GRACIAS!

    Muy buenos tus post sobre las cosillas que haces. Una machine.

    Responder
  2. sistemasorp

    Pues si, pero en mi movil al menos no me lo permite, puesto que lanza un mensaje de ERROR. Es por ello que como el formato PDU es un estandar para todos los móviles lo use en el código.

    Responder
  3. sistemasorp

    Perdona Pinda, no había leido tu mensaje. ¿Es posible que no hayas abierto el puerto serie correctamente?. En mi caso (y en muchos) debes abrirlo a 19200 8N1.

    Ramiro, ¿podrías ser más específico?, ¿Que es lo que no llegas a hacer?

    Responder
  4. Anonymous

    ola a todos tengo un problema al comunicarme con un sonyericsson t230 consigo comunicarme mediante hyperterminal pero el movil entra en un bucle intentando chequear algo que desconozco y no para quieto para poder asi introducir los comandos at.
    sabe alguien algo al respecto?

    Responder
  5. Ru

    Muchas gracias por tu ayuda,pero la verdad es k no esty muy fino en linux.
    Me podrias facilitar alguna direccion donde descargarlo??

    Me seria de muchisima ayuda.Gracias

    Responder
  6. Ru

    Muchisimas gracias pero yo lo k kiero es poder programar el puerto serie y luegio configurarlo para que envie un sms desde un movi conectado a este.

    Gracias.

    Responder
  7. Alejandra Juarez D'Aquino

    Hola, estoy intentando enviar un sms a un puerto diferente del que esta por defecto en el telefono receptor, la idea es levantar una aplicacion midlet (j2me) y no encuentro la forma de hacerlo con los comandos at, Les agradeceria muchisimo su ayuda

    Responder
  8. Anonymous

    Sos un groso, muy bueno esto. Pero mira yo tengo un problemita, yo quiero con comandos AT enviar un sms a un midlet que escucha en un puerto, como especifico el puerto con los comandos AT o como puedo solucionar esto? hace dias que estoy y no me doy cuenta…

    El midlet esta dormido y se despierta con en mensaje,esta metido en la push registry.
    mi mail: ema_kuroas@hotmail.com
    mi nombre: Emmanuel Kurpas

    Responder
  9. Rafa

    Hola a todos, me gustaría saber si con estas herramientas puedo recibir sms mediante un módem gsm para depués cargar los datos recibidos en un archivo .csv o interpetarlos y publicarlos en una web, no tengo mucha idea de esto, alguien me puede decir qué es lo que necesitaría?
    Mi email es rafa5ma@hotmail.com por si alguien puede mandarme algo q me sirva.
    Saludos y gracias.

    Responder
  10. lionel marcos

    hola, tengo problemas con la comunicacion entre el celular y la pc, ya intene hacerlo con un sonyericcion t610 y t226 y no logro enviar nada al teerminal virtual, porfavor si me pudieran ayudar

    Responder
  11. Fernando Barros

    Interesantísimo tu artículo. Yo estoy intentando crear un sistema web que permita, al suceder un evento, que despache un sms de texto al usuario. Por eso me interesó tu post. ¿Me puedes aclarar un par de preguntas por favor?
    1.- Si la energía la metes directo a los pines de la batería ¿para que los 2 condesadores?. ¿Hay riesgo de pasar corriente al servidor?, ¿no puedo simplemente conectar los cables de adaptador de corriente directamente a los pines?
    2.- Si es necesario hacer el circuito, ¿que características debe tener?. No soy entendido en electricidad.
    3.- Naturalmente esta es una solución de prueba, pero luego de ello deseo programar el cron para que efectúe el despacho de SMS a varios usuarios. En ese caso ¿cuál es según tu la solución de hardware?
    4.- Finalmente, ¿es posible enviar una imagen?

    Muchas gracias por tu ayuda

    Responder
  12. Walter Delgado

    Hola, tengo una aplicacion en visualbasic 6 para enviar y recibir sms pormedio de un movil siemens c61, pero este modelo de movil solo admite formato PDU, y no se manejar este formato. Me encontre con tu web donde tienes en C, un codigo para hacer la convercion pdu a texto y viceversa. Mi solicitud de ayuda va en que si puedas tener un codigo en visual basic 6 para convertir texto a PDU y viceversa. Espero me puedas ayudar, Gracias de antemano

    Responder
  13. William

    Hola, sistemasorp me podria ayudar con un problema automatizacion de un proceso manual, este es el proceso: verificacion de saldo, en una base celular avio se marca *105# send, se espera y carga un menu donde hay que ingresar el numero de usuario se preciona send, carga menu denuevo pidiendo la clave y le da el saldo.
    como puedo hacer para controlar este proceso de executar esta peticion y como recibir la peticion del menu en el programa… si se pudiera comunicarse al correo cell_will@hotmail.com

    Responder
  14. Jorge Luis Castellar

    Hola que tal, como esta.

    Yo soy aficionado a la programacion de microcontrolador arduino, relativamente nuevo en esto. y por eso pido tu ayuda o colaboracion.

    tengo un arduino y un mobil siemens C66, y lo que quiero hacer es, prender un led y apagarlo cuando reciba un SMS (ON, OFF).

    yo le envio al mobil un SMS con la palaba : hola
    despues me voy al hiperterminal y ejecuto el comado AT+CMGL=1
    y me responde :

    0791751330510003040A81137024043100009011620161320A04E8373B0C

    La verdad soy neofito, tu disculpa.
    Lo que quiero hacer es que desde el Arduino yo armar un texto y mandarlo en formato PDU a un mobil, y poder leer desde arduino un mensaje SMS y poderlo interpretar que es lo que me dicen.

    El siemens C66 solo maneja PDU.

    agradeciendote tu colaboracion

    atte jorge castellar

    Responder
  15. hugone

    Por favor ¿puedes borrar el priumer comentario mio? ya no me interesa que siga para evitar que los bots indexen mi correo. Gracias

    Responder

Responder a hugone Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *