Autor Tema: comunicación con wavecom me estoy volviendo loco  (Leído 4740 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
comunicación con wavecom me estoy volviendo loco
« en: 18 de Julio de 2013, 16:41:47 »
Hola amigos, después de mucho tiempo de tener aparcado el hobby hace un par de meses me preguntó mi suegro si podría hacer que la caldera de su casa del pueblo se podría encender remotamente. Muy chulo yo le dije que por supuesto, así que des enpolvé unas placas que me habían sobrado de otro proyecto y me puse manos a la obra.

Las placas llevan un 16f628a con un par de entradas con anti rebotes por hardware, una conexión onewire, seis relés de salida y la posibilidad de montar un rs232 o un rs422. Ideal ademas de ser una placa completamente verificada pues lleva funcionando en mi casa diez años controlando los toldos de la terraza así como leyendo la temperatura exterior y reportandola al sistema de domotica basado en un sistema de Crestron.

La idea era conectarlo a un terminal GSM de wavecom y controlarlo por SMS

El programa tampoco iba a ser tan diferente... pues JA!!!!! me está volviendo loco.

El cacharro funciona cuando le da la gana y ademas con recochineo.

Si simulo el wavecom desde el pc y mando las mismas cadenas de texto que recibiría en caso de recibir un SMS el programa no falla nunca pero si los mensajes llegan realmente del wavecom no funciona ni un 5% de las veces


Está hecho con picbasic pro 2.60.

EL CODIGO LO HE BORRADO POR TENER ERRORES QUE HARÍAN QUE SI OTRO QUISIERA USAR ALGUNA PARTE DE EL LE DIERA UN MONTÓN DE PROBLEMAS.

LO SUBIRE CUANDO LO TENGA MAS DEPURADO


Ni caso a los comentarios pues muchos de ellos están todavía del programa anterior.

Como podéis ver hay una rutina en ensamblador que recibe los caracteres del puerto serie y los guarda en un buffer circular que en este caso es de 80 bytes, aunque es ajustable mediante una constante. Aunque los mensajes recibidos del GSM son de 90 o mas caracteres el sistema es lo suficientemente rápido y lo parsea sobre la marcha sin llegar a llenarse.

El parseado de los caracteres recibidos está hecho con una maquina de estados y solo parseo los comandos que espero en este caso son los siguientes

CMTI - que es la indicación del modem de que ha recibido un SMS y en ese caso envío al modem la petición para leer el sms
temp - la solicitud de que reporte la temperatura
encen - para encender la caldera ( activar un relé )
apag - para apagar la caldera ( des activar el relé )

Pues el problema como digo es que si mando las cadenas de texto idénticas a las envía el modem al leer los sms ( las he capturado con un programa terminal ) desde un programa terminal funciona al 100%, pero si es la cadena real del modem no funciona ni por asomo.

He probado a bajar la velocidad de conexión con el modem pero no se porqué, cuanto mas la bajo peor funciona

Alguna idea antes de que haga el ridículo diciéndole a mi suegro que no lo consigo?





« Última modificación: 22 de Julio de 2013, 05:12:14 por MarquesSalsero »
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: comunicación con wavecom me estoy volviendo loco
« Respuesta #1 en: 18 de Julio de 2013, 18:01:43 »
No utilizo el basic que indicas pero he realizado la comunicación con un Wavecom y con un matrix y no he tenido problemas, en mi caso no tenia que descodificar los sms porque lo que se trabaja era de cambiar el estado de un rele mediante el llamado “toque telefónico” que no cuesta dinero. Cosiste en que la controladora solo responde a una lista de teléfonos que tiene pregrabada en memoria. Cuando recibe una llamada de uno de los teléfonos de la lista el modem cuelga y cambia el estado de un rele devolviendo un sms al remitente con los voltios de las entradas analógicas de prueba y el estado del rele. Posteriormente una vez terminado el periodo de pruebas lo que se hace es que se anula la auto respuesta de la controladora por sms para no gastar dinero. En mi caso no descodifique los sms porque no me era útil para esa aplicación pero una vez que envías los comandos AT al modem y los recibes correctamente no tiene mayor problema.
El método que describes es el correcto, exactamente con un ringbuffer y etc. Primeramente yo no llegue a trabajar con la controladora conectada al modem, primero enviaba los comandos AT desde el hyperterminal desde pequeños archivos de texto y observaba la respuesta, cuando todo iba bien pase a trabajar con el modem. Así que animo porque se puede hacer sin problemas.
Saludos desde Granada, España.

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
Re: comunicación con wavecom me estoy volviendo loco
« Respuesta #2 en: 18 de Julio de 2013, 18:39:35 »
El modem funciona correctamente y pasa los sms correctamente al programa, pero no entiendo porqué la misma cadena de texto enviada desde el terminal funciona y desde el modem no funciona.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: comunicación con wavecom me estoy volviendo loco
« Respuesta #3 en: 18 de Julio de 2013, 19:01:36 »
Pues la verdad que es raro, lo único que se me ocurre aparte de que se te este colando un carácter de control, es que tengas algún punto muerto después de interrogar al modem, ósea, que tengas un retraso a la hora de esperar los datos de respuesta del modem y, el modem los envíe demasiado pronto por lo que se te corrompe la cabecera mientras que con el pc el tema valla más lento y por eso no te falle.
Saludos desde Granada, España.

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
Re: comunicación con wavecom me estoy volviendo loco
« Respuesta #4 en: 19 de Julio de 2013, 08:20:44 »
Pues raro si es y por eso estoy tan despistado, incluso aunque perdiera los primeros caracteres de la trama cuando responde el modem con el contenido del sms, no me afectaría ya que el texto del sms llega al final y la trama no la analizo para nada, ni siquiera compruebo el numero de teléfono desde el que se envía el mensaje.

Voy a darle unas pocas vueltas mas durante este fin de semana a ver si encuentro algo.

Saludos
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
Re: comunicación con wavecom me estoy volviendo loco
« Respuesta #5 en: 19 de Julio de 2013, 15:50:48 »
Parece que el problema es el modem, he cogido otro prestado de un amigo y con ese si funciona bien.

El programa tenía otros errores de bulto pero no afectaban a esa parte en particular.

Sigo hacinedo pruebas y ya cuento algo
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: comunicación con wavecom me estoy volviendo loco
« Respuesta #6 en: 19 de Julio de 2013, 19:31:47 »
Ok, esperando para saber que tal va.
Saludos desde Granada, España.

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
Re: comunicación con wavecom me estoy volviendo loco
« Respuesta #7 en: 22 de Julio de 2013, 05:08:59 »
Definitivamente el problema es con el modem que tenía yo. he probado con otro wavecom y un siemens y funciona perfectamente despues de corregir otros problemas del programa.

Saludos
Hay 10 tipos de personas las que entienden binario y las que no