Leer llamada entrante movil

Hola a todos,mientras espero que llegue la plaquita wifi para seguir con el otro proyecto que tengo en marcha, se me ha ocurrido hacer otro proyectito muy "simple" os lo explico a continuacion.

La idea es que mediante bluetooth, arduino se conecte a un smartphone o movil y al recibir una llamada entrante arduino lea el numero y si es el mismo al que el tiene memorizado encienda un led, si el numero que llama no es el que tiene memorizado no debe hacer nada.

Bien hasta aqui la idea esta clara, yo he hecho comunicaciones entre el movil android y arduino para encender y apagar un led pulsando un boton en la pantalla del smartphone y sin ningun problema, el caso es que para poder leer el tipo de llamada entrante etc... supongo que debo usar los comandos AT pero el problema es que cuando vinculo el PC al smartphone me dice que solo tiene puerto entrante, por lo que no puedo ver lo que envia a traves del hyperterminal, esta claro que el movil puede enviar el numero porque cuando lo llevo vinculado al coche, en la pantalla del coche me llega el numero que me llama, asi que no se porque no encuentro la manera de hacerlo con el PC.

A alguien se le ocurre algo??? Puede ser que el movil no reconozca comandos AT pero eso sería secundario porque el problema que tengo ahora es que no puedo "dar de alta" el puerto para poder comunicarme con el hyperterminal.

A ver si alguien me da un empujoncito para sacarme del agujero :slight_smile:

Eso es porque el coche se identifica con el perfil manos libres, handsfree.

fm:
Eso es porque el coche se identifica con el perfil manos libres, handsfree.

Sabes si se podria configurar el modulo bluetooth hc-006 con ese perfil??

No tengo ni idea si el módulo bluetooth ese soporta el perfil handsfree o incluso dial up conection. Todo apunta a que implementa un línea serie monda y lironda a la que seguramente podrás enganchar a la línea serie de modem y así poder gestionarlo vía comandos AT.

Gracias FM seguiré por ahí a ver si consigo algo, otras opciones serían estas

http://www.ebay.es/itm/150843323180?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_2962wt_1159

http://www.ebay.es/itm/GSM-Modem-Wavecom-Q2303A-Module-COM-RS232-AT-Commands-/270715637186?pt=LH_DefaultDomain_0&hash=item3f07e8cdc2#ht_1028wt_1159

Por la diferencia de precio creo que vale mas la pena la segunda, se ve mas "profesioná"

Si alguien conoce otra opción mas económica, se aceptan sugerencias!!

Saludos

A ver, yo desde programación si es android pienso que si se puede:
Crear una aplicación que corra en segundo plano para el movil y cuando reciba una llamada, este la compare con los numeros almacenados en la agenda y si está envia al arduino la orden de encender cualquier led.
Un Saludo
Jomagom

En eso no habia caido, como la idea era que por bluetooth se conectara a cualquier movil que permita comandos AT , no habia caido en la cuenta de que si es android se puede hacer lo que comentas, era por hacerlo mas generico pero es muy buena idea, me lo apunto. Gracias Gurus :smiley:

Ya he acabado el programa, realizado las pruebas y funciona perfectamente.
Al final compre el modem gsm y estoy a la espera de que me llegue, pero he realizado las pruebas con el serial monitor para formar las tramas que se recibirían del modem y funciona perfectamente.
El programa lee el valor del numero que esta llamando y si coincide con la lista de 5 números pregrabados, cuelga la llamada y acciona un led durante 1 seg.
Para realizar la lista en la agenda de 5 números, primero lo hice poniéndolo en el programa del micro pero, como ya sabeis, al final uno quiere mas y mas, asi que al final modifiqué el programa para que enviando un mensaje con un texto definido pudieras seleccionar en que memoria quieres grabarlo, asi si quiero modificar la agenda no tengo que desmontar nada, ni ir con el pc al sitio donde esta montado el sistema, simplemente enviando un SMS podriamos grabar el numero. Tengo que decir que logicamente los numeros los grabo en la Eeprom para evitar que si se va la tension estos se borren. El programa a quedado asi:

FUNCIONAMIENTO:
Al recibir una llamada se compara el numero de movil que esta llamando con una lista de 5 numeros predefinidos:

  • Si coincide con algún numero de la lista, cuelgo la llamada y enciendo led durante 1 segundo.
  • Si no coincide cuelgo para dejar el sistema libre para otra llamada pero no activo el led.

Para modificar la lista:
Envio un SMS con el texto "0", el sistema contesta con un mensaje en el que nos escribe la lista de los 5 números memorizados
Ejemplo del mensaje:
Envio "0" al número del modem XXXXXXXXX

El modem contesta:
La lista de numeros es:
Memoria 1: XXXXXXXXX
Memoria 2: XXXXXXXXX
Memoria 3: XXXXXXXXX
Memoria 4: XXXXXXXXX
Memoria 5: XXXXXXXXX
Centro de mensajes: XXXXXXXXX

Si envío un SMS con el texto "1 123456789" el modem grabará el numero 123456789 en la posicion de memoria 1, para grabar en otro numero de memoria simplemente es cambiar el primer numero por el numero de la memoria que queramos. Si ponemos un valor que sea >5 o <0 devolvería un mensaje de error.

Ejemplo del mensaje:
Envío "1 123456789" al numero del modem XXXXXXXXX

El modem contesta:
El numero 123456789 ha sido grabado en la posición de memoria 1 con exito!!

Ejemplo del mensaje erroneo:
Envío "6 123456789" al numero del modem XXXXXXXXX

El modem contesta:
La posición de memoria indicada no existe

Si quiero borrar algun numero bastara con hacer lo mismo que para grabar un numero pero poniendo como numero de telefono el "000000000"
Ejemplo del mensaje:
Envío "1 000000000" al numero del modem XXXXXXXXX

El modem contesta:
El numero 000000000 ha sido grabado en la posición de memoria 1 con exito!!

Perdón por el tostonazo que he soltado pero quería explicar bien el funcionamiento :wink:

Cuando reciba el modem y lo tenga todo montado, colgaré un video.

Aunque finalmente la llamada no es leida por bluetooth como era la idea principal, esto me sirve, ya que el hacerlo por bluetooth era para darle funcion a un movil viejo que tenia y no comprar ningun modem, pero lo importante es que el proyecto funciona y realiza su funcion, quería aprovechar para dar las gracias a los que me disteis el empujoncito.

Enhorabuena.
Ahora a por otro :wink:
Un Saludo
Jomagom

Muy buen trabajo, ya nos contarás que tal funciona todo.

Los reyes han llegado!!! ya tengo aquí el modem GSM para comenzar las pruebas :smiley:

Que pinta mas buena. Ya nos contaras!

que tal fue el modem? alguien lo usa en algun proyecto?
estoy peleandome con el siemens tc35 pero creo que lo voy a dejar por imposible y comprar uno de esos. la ventaja del siemens es que se acopla mejor para proyectos pero no consigo hacerlo funcionar.

recomendais el wavecom? hay modelos distintos o son todos iguales?

SergeGsx

Yo llevo utilizando un wavecom desde hace un par de años por lo menos en un sistema de monitorizacion y no te puedo poner pegas, muy bien.

El siemens que tu tienes es practicamente lo mismo, todos se configuran por comandos AT y el procedimiento es similar.

Wavecom hay con puerto serie y puerto USB, yo tengo el serie, para mi gusto mas versatil.

Si quieres abre un hilo con tu modem y con las pegas que encuentres que intentamos ayudarte pero funcionar te tiene que funcionar hasta con la terminal de windows.

http://deeea.urv.cat/public/PROPOSTES/pub/pdf/804pub.pdf

Un saludo.

PD: EN casa tengo uno haciendo de pasarela o gateway SMS con kannel.

Heke:
SergeGsx

Yo llevo utilizando un wavecom desde hace un par de años por lo menos en un sistema de monitorizacion y no te puedo poner pegas, muy bien.

El siemens que tu tienes es practicamente lo mismo, todos se configuran por comandos AT y el procedimiento es similar.

Wavecom hay con puerto serie y puerto USB, yo tengo el serie, para mi gusto mas versatil.

Si quieres abre un hilo con tu modem y con las pegas que encuentres que intentamos ayudarte pero funcionar te tiene que funcionar hasta con la terminal de windows.
SMS Tutorial: How to Use Microsoft HyperTerminal to Send AT Commands to a Mobile Phone or GSM/GPRS Modem
http://deeea.urv.cat/public/PROPOSTES/pub/pdf/804pub.pdf

Un saludo.

PD: EN casa tengo uno haciendo de pasarela o gateway SMS con kannel.

Gracias Heke,
He probado todo con el Siemens y nada, he probado con el arduino, con el pc, con el MAX232 que lleva integrado, con uno externo. NADA.
Hoy desesperado estaba midiendo tensiones y he hecho un corto entre negativo y 3.3V y el regulador ha echado humo. Sera reparable pero para mi ha sido la señal de dejarlo a un lado ya que he perdido mucho tiempo intentando hacerlo funcionar sin exito.
Como se comenta por otros posts, es posible que el modem este dañado por meterle señal directa desde el arduino. Se ve que algunos TC35 aceptan conexión directa y otros no.
Voy a comprar el Wavecom y en el futuro si me sobra tiempo volvere a intentarlo.
Require de MAX232 externo el wavecom, verdad? Tengo unos modulos pequeños de MAX232 de ebay.
Seria:
Arduino <----> MAX232 <-----> wavecom
?

gracias heke

Correcto. Arduino <----> MAX232 <-----> wavecom

Que lastima tu modem.

Se me olvidaba este enlace:
http://www.arduino.cc/es_old/Tutoriales/SMS

Pero primero de todo, cuando recibas tu modem trastealo desde el PC con un soft de terminal, yo empece con el termite (una terminal serie) y sin problemas.

Luego a la hora de conectarlo a arduino simplemente un cable null-modem y listo.

Ya nos contaras... y no tengas reparo en preguntar.

Un saludo.

Gracias una vez mas.
Si una lastima de modem pero es que he invertido demasiadas horas en hacerlo funcionar y estoy casi seguro que esta dañado, aunque el led de estado parpadea. Lo que me hace pensar que no funciona es que inserto la SIM y lo enciendo y llamo al numero de movil y me dice que esta apagado. Al margen queda la comunicación con un arduino o PC, si no se esta registrando en la red es que algo va mal de primeras. 25 euros a la basura shit !

Tengo algo de experiencia con los comando AT ya que en su dia consegui conectar un movil nokia al arduino, tambien con muchisimos problemas y muchas horas. Ahora busco algo facil que sea conectar y listo por lo que pillare por ebay el wavecom. Son todos iguales,no? o hay que mirar algo a la hora de elegir?

Cuando lo conecte al pc le tengo que quitar el MAX232 verdad?
es decir...

Arduino <----> MAX232 <-----> wavecom

o

PC <-----> wavecom

Con 3 cables (rx,tx y ground) ya que no requiere handshake, correcto?

gracias heke

Asi es.

Un wavecom fastrack RS232 tiene, valga la redundancia, puerto RS232, el mismo que el PC. Con lo cual, va directo.

Las plaquitas esas de ebay que llevan un MAX232 Son para convertir las señales TTL de la UART del arduino (5v) a señales compatibles con protocolo RS232 (+-12v).

Con lo cual directo al PC y cuando conectes al arduino, con la plaquita, ya que ademas, no tienes conector SUB-D mas que en la placa, no en el arduino.

A menos que tuvieras uno de los antiguos:

De todas formas, no es solo insertar la sim, primero compruebas que esta OK (AT), luego le cargas el PIN (AT+CPIN=1234 o el pin que tengas...) y lo compruebas (AT+CREG) y terminas comprobando que se ha registrado en red y puedes medir su señal de antena AT+CSQ

Lo he puesto a ojo igual me he equivocado en algun comando.

Luego te hago un volcado del mio...

Heke:
Las plaquitas esas de ebay que llevan un MAX232 Son para convertir las señales TTL de la UART del arduino (5v) a señales compatibles con protocolo RS232 (+-12v).

Esto me deja una duda. Mi placa MAX232 se alimenta por usb, es decir, 5V. Entonces como llega a los +-12V ?
![](http://i.ebayimg.com/t/RS232-To-TTL-Converter-Module-COM-Serial-Board-MAX232CPE-Transfer-Chip-w-Cable-/00/s/NjAwWDYwMA==/$(KGrHqV,!o8FBk(w(HlYBQdl9Qsnsg~~60_12.JPG)
http://www.ebay.com/itm/RS232-To-TTL-Converter-Module-COM-Serial-Board-MAX232CPE-Transfer-Chip-w-Cable-/400333649998?pt=LH_DefaultDomain_0&hash=item5d35beb84e

Antes haciendo pruebas medi y el arduino daba 5V, pero el Siemens TC35 daba 10V.

por lo que yo entiendo...

Arduino (TTL del UART: 5V) <----> MAX232 (5V a 12V) <-----> (+-12V RS232) Siemens TC35 (pines directos)
Arduino (TTL del UART: 5V) <----> MAX232 (5V a 12V) <-----> (+-12V RS232) wavecom

o

PC (+-12V RS232) <-----> (+-12V RS232) wavecom

Mira el esquema interno del MAX232:

Como veras tiene un convertidor para subir la tension.

Aunque te he dicho +-12v para RS232, te puedes encontrar un margen bastante amplio, si la memoria no me falla creo que podia llegar desde +-5v a +-15 inclusive, aunque no es lo normal.

Los 10v que has medido del tuyo, obviamente son señales RS232.

Esto es correcto:

Antes haciendo pruebas medi y el arduino daba 5V, pero el Siemens TC35 daba 10V.

por lo que yo entiendo...

Arduino (TTL del UART: 5V) <----> MAX232 (5V a 12V) <-----> (+-12V RS232) Siemens TC35 (pines directos)
Arduino (TTL del UART: 5V) <----> MAX232 (5V a 12V) <-----> (+-12V RS232) wavecom

o

PC (+-12V RS232) <-----> (+-12V RS232) wavecom
PC (+-12V RS232) <-----> (+-12V RS232) Siemens TC35