TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: EA7LN en 23 de Agosto de 2010, 20:24:49
-
Bueno tengo este proyecto casi terminado. Se trata de una alarma de varias zonas de deteccion independientes que ademas de hacer sonar una sirena, envia un sms a un movil, indicando que se ha producido una alarma en una zona concreta.
Al enviar el sms puede ocurrir que no se oiga el telefono por lo que ademas, quiero hacer una llamada para asegurar que me entero que la alarma se ha producido.
El problema es que el sms se envia perfectamente y la llamada tambien si se hacen independientes, pero si envio el sms y seguidamente hago la llamada, solo se envia el sms.
Doy 1 segundo de espera entre el sms y la llamada, pero no lo consigo.
Algo no estoy haciendo bien, pero no se lo que es.
Os pego parte del codigo por si me podeis ayudar.
Gracias de antemano.
If salon = 1 Then 'al activar el sensor lo indico en el lcd y lo mando a la subrrutina suena_alarma
Lcdcmdout LcdLine2Home
Lcdout " SALON ACTIVADO"
If conectado_ram = 1 Then
led_rojo = 1 'activo la salida de sirena porque el volumetrico no tiene retardo
Serout PORTC.6, 9600, "AT+CMGS=40", CrLf
WaitMs 500
Serout PORTC.6, 9600, "07914306090909F911000B914316594240F10000AA1DA069D1397D4A41416650DA0C82A641E6D3090A0EA9496B90F804", ctrlz, CrLf
WaitMs 1000
Serout PORTC.6, 9600, "ATD619524041;", CrLf 'Hago una llamada para asegurar que me entero de la alarma
sms = 1
memo1 = 1
Write 6, memo1
Gosub suena_alarma 'Si la alarma esta activada mando el programa para que suene la alarma
Else 'no hace falta
Endif
Endif
-
Buenas, no mire mucho el codigo pero te doy mi opinion respecto al problema y respecto al sistema:
Tengo un sistema conectado a la alarma del auto, gsm hecho son un SE t290 y un 16f876, los sms por lo menos aca en argentina a veces tienen demora sobre todo si las lines son de companias diferentes, yo lo tengo hecho asi, me manda un sms en caso de disparo de alarma y estoy pensando en cambiarlo para que haga una llamada.
Por otro lado si los sms andan bien lo que podes hacer es definirle un ringtone ID al numero de la alarma del auto para que suene por ejemplo una sirena en el movil cuando el sms prviene de ese numero (yo lo tengo asi) entonces cuando llega el mensaje suena todo lo que dure el ringtone y lo vas a escuchar hasta quizas mejor que una llamada por que tenes el ringtone mentalmente asociado a la alarma, me explico?
La comunicacion es bidireccional? osea, le podes enviar sms a la alarma para que realice operaciones?
Si todavia no lo hiciste te hago dos recomendaciones:
Podes usar tu numero de movil como filtro o por llamarlo de alguna manera "password" para agregarle un poco de seguridad.
Yo habia tenido un problema con esa parte que estoy tratando de recordar....
Ah, si, tenia problemas en la lectura de los mensajes por parte del pic, la solucion fue deshabilitar el eco del movil por que se repetian los caracteres y era imposible interpretarlos.
-
Hola.
Cuando se termina de enviar el SMS el módem responde con el string OK. Puedes usar eso para ingresar el siguiente comando respectivo a la llamada.
Saludos
-
Me centre en otra cosa y no opine sobre el problema, que flojo
Bueno ya MLO te dio la solucion, igualmente creo que el problema es que el envio de sms demora mas del tiempo que estas esperando antes de hacer la llamada, proba enchufando algun movil al pc y con el hiperterminal envia un sms para ver mas o menos cuanto tarda, pero si mal no recuerdo no es menos de un segundo
Saludos
-
Gracias a todos por responderme, ya lo tengo resuelto.
No se porque pero el modem del telefono no permite enviar un sms y hacer la llamada de forma inmediata.
Haciendo un Wait de 3 segundos funciona perfectamente.
Respondiendo a Tongaston, no he conseguido poder enviar ordenes a la alarma. No se como hacer para enviar un sms y que salga por el puerto Bluetooth del movil. Tambien he intentado descolgar la llamada y pulsar una secuencia de numero, como si mandara un código, pero en el hiperterminal no recibo nada.
Queria intentarlo porque además de conectar y desconectar la alarma, podria conectar el aire acondicionado, etc.
Saludos
-
no entiendo muy bien? bluetooth? estas haciendo la conexion pic-movil por bluetoth?
de ser asi no le veo el sentido por que el movil queda fijo conectado a la alarma, igual segun veo en el codigo lo manejas igual que si estuviera conectado por el puerto serial directamente.
Conectado al hipertermial recibis las respuestas del movil?, los "ok" por ejemplo.
Yo lo tengo conectado por el puerto serial, tanto el rx como el tx del movil
no se si esta bien lo que hago pero funciona hace mucho tiempo sin problemas, interrogo todo el tiempo al movil para ver si llego un mensje nuevo, si responde "no" no pasa nada, si responde si, comparo ese mensaje recibido con otros grabados en el pic y si concuerda conn alguno realiza la funcion asociada.
en realidad hay muchas mejores formas de hacerlo pero como fue lo primero que hize hace unos años cuando me meti en el mundillo de la electronica programable, me salio como pude, la verdad que no me enorgullece pero como funciona muy bien, quedo asi y nunca mas lo toque.
Estuve buscando el codigo para pasartelo asi lo usas como ejemplo pero debe estar en un DVD, si lo queres avisame, lo busco y te lo paso.
Saludos
-
Hola
Uno de los servicios BT que traen algunos celulares es un puerto serial virtual, con el cual se trabaja como si se trabajar con un puerto serial :D (valga la redundancia). Cada que envias un SMS salta un aviso por el puerto (debes activar la alerta), lo que podrias hacer es activar esa alerta de SMS entrante (+CNMI si mal no recuerdo) y leerla cuando llegue el SMS, de ahi solo es cuestion de decodificar el texto para realizar alguna funcion. Se puede hacer lo mismo para la llamada entrante (despliega el string RING y si activas el identificador de llamada entrante, te sale el numero desde el cual se esta realizando la llamada).
Reviso mas tarde cual es el comando para habilitar las banderas de entrada de SMS ... porque la verdad no me acuerdo :(
Saludos
-
Gracias Tongaston y MLO por vuestro interés.
Efectivamente trabajo por el modem Bluetooth del movil y conectado al Pic tengo un modulo bluetooh a la UART, pasa los datos series perectamente.
Cuando recibo una llamada en el móvil este me contesta con "RING", pero cuando recibo un sms no me manda nada.
El interrogar al móvil constantemente por si recibe un nuevo sms es buena idea, el problema es que no se como hacerlo.
He intentado con varios comandos AT relacionados pero no lo consigo, lo mismo no he utilizado el correcto o no le hago de la forma apropiada.
Si pudieras pasarme tu código para ver como lo haces, me vendria bien.
A falta de eso el proyecto está terminado. Estoy ahora diseñado la placa de circuito impreso para montar los componentes y dejarlo funcionando.
Ya os pasaré toda la información del proyecto por si alguien quiere montarlo. Tiene 4 zonas de alarma, 1 para detector de inundación y otra para detector de humos. El Pic todavia tiene entradas y salidas libres para poder ampliar.
Bueno lo dicho, si podeis pasarme el codigo o decirme como interrogar los sms, el proyecto quedará al 100%.
Saludos
-
El comando AT que se usa para asignar el aviso del SMS entrante es +CNMI (ya lo verifique y si es :) )
Al activar el flag, cuando entre un SMS, te avisará con un string, no se allá cual será ... acá envía la respuesta al comando: +CNMI: "xx",1 en donde xx es el lugar que has configurado el guardado del SMS (puede ser la SIM o el celular).
Saludos
-
Gracias MLO, lo que ocurre es que cuando llega un sms al celular, no envia ningún string.
¿Hay que enviar antes al celular el comando +CNMI?
-
Bueno tengo nuevos datos.
Desde el Hiperterminal envio cda 3 segundos el comando AT+CNMI y cuando llega un mensaje, el celular responde de la siguiente forma
+CMTI: "ME",8..
Indica que se almacena el sms en la memoria del telefono "ME" en la posición numero 8.
Hasta aqui perfecto, pero el telefono cuando quiero leer el mensaje con AT+CMGR=8, me responde OK pero no muestra el mensaje.
Tambien he probado a listar todos los mensajes con AT+CMGL="ALL" devuelve error. :5]
Creo que el telefono es mas testarudo que yo
-
Hola.
Pues ... :? .... raro, porque al enviar ese comando, se supone que debe mostrarte el mensaje, prueba setear la SIM como lugar para guardar los SMS
Saludos
-
mira te puedo cambiar un poco tu plan
desconosco como se trabaja con ethernet
y no se si pueda resultar mi propuesta
pero por lo menos aquii en mexico hay una pajuna que se llama JAGUARYOU
http://www.jaguaryou.com/
QUE DESDE ESTA PAGINA PUEDES MANDAR SMS GRATIS
echando a volar un poco la imajinacion seria que el pic por medio de ethernet se conecta a esta pajina y escriba el sms para despues mandartelo a tu movil
e probado con 2 compañías de telefonos aqui en mexico TELCEL Y MOVISTAR
la desventaja es que se tarda 5 minutos en enviar el sms aproximadamente
no se si la pajina funcione en españa tambien o sea cuestion de buscar una pajina similar a esta pero española
tal vez sea un disparate mi idea pero bueno aporto una idea mas
-
Hola bunas tardes soy nuevo en el foro, estoy trabajando en la comunicación entre el celular SE t290 y un pic (16F84A) por ahora solo estoy tratando de establecer la comunicacion, con el hiperterminal no tiene problemas pero el problema es cuando lo conecto al pic, este no reconoce nada, lo estoy haciendo en CCS uso #use rs232(baud=9600, xmit=Tx, rcv=Rx,INVERT) para el puerto serie, el pic con el hipertermianal anda bien, pero entre ellos no se comunican, queria saber como estan haciendo la conexión entre el pic y el cel "POR FAVOR AYUDAAA" tengo que terminarlo para la facu.....