Control a traves de la linea telefonica

Buenas a todos, hoy posteo por primera vez en el foro de I+D. Espero que se reviva un poquillo porque por aqui no postea ni cristo, pero bueno yo por lo menos aportare mi granito de arena.

Me voy a estrenar subiendo un proyecto que hice con un amigo para un laboratorio de la carrera. Ya esta "terminado", pero da mucho pie a seguir investigando sobre el si os interesa el tema. Lo de terminado va entrecomillado porque este tipo de cosas nunca se terminan, siempre se le pueden añadir nuevas funcionalidades, depurar su funcionamiento, etc. Ademas con las prisas el codigo que utilizamos para el PIC nos quedo algo tosco (es lo que pasa cuando buscas contrareloj que funcione algo).
Hablando del codigo, esta escrito en c y usamos el compilador ccs para generar el hex.

El tema es que mediante una interfaz hardware comunicamos la linea telefonica con una entrenadora y a la vez esta con una serie de dispositivos que podremos controlar desde cualquier telefono (en nuestro caso fueron led, pero podria ser una PS2 sin ningun problema;)). Inicialmente programamos para encender y apagar dispositivos, pero la versatilidad del invento es mucho mayor; se puede llegar a subir y bajar la temperatura del aire acondicionado por ejemplo con añadir un emisor a la entrenadora, etc.

En fin un proyecto con PIC de por medio que me parece que puede ser interesante. La interfaz con la linea tambien tiene su historia, yo me hice un telefono con la que entregamos XD. En fin, echarle un vistazo y si a alguien le interesa y/o tiene alguna duda que no tenga reparos en preguntarme.

PD:La entrenadora usa un PIC16F877. No la hicimos nosotros, la diseño el club IEEE de la ETSIT, si alguien quiere construirla yo tengo la info necesaria asi que no tiene mas que pedirlo.

Adjuntos

Le he echado un vistazo pero me cuesta entender como funcionaría (soy torpe). Es decir, como lo enchufarias al aire acondicionado?? [agggtt]
El tema es:

Disponemos de 3 elementos: La placa de control con el PIC, una interfaz hardware para la linea telefonica y los dispositivos que queremos controlar.

Entonces la interfaz hardware adapta las señales de la linea para controlar la placa de control desde cualquier telefono multifrecuencia y esta ultima se encarga de manejar los dispositivos que tenga conectados.

La interfaz tiene varios modulos. Los mas importantes son:
- El detector de tonos, cuya salida esta permanentemente a 1 y pasa a 0 cuando existe tono de llamada (cada ring del telefono seria un 0). Esto nos permite detectar una llamada y decirle a la placa de control que ciere el bucle de abonado, nos permite incluso contar el numero de tonos (rings) para descolgar despues de 5 tonos por ejemplo.

- El duplexor, que se encarga de cerrar el bucle y de introducir y extraer datos de la linea.

- Decodificador multifrecuencia. Este modulo es el que abre el gran abanico de posibilidades, permite detectar los pares de tonos correspondientes al numero pulsado. La historia es que tu llamas, la interfaz le dice a la placa de control que estas llamando y esta le dice a la interfaz que descuelgue. Entonces una vez iniciada la comunicacion, cada numero que pulses en el telefono desde el que llamas es reconocido por la interfaz que se lo envia a la placa de control.

La placa de control a su vez gobierna los aparatos que queremos controlar. Si te lo curras mucho, puedes controlar un emisor de infrarrojos y mandarle a la tele, al aire acondicionado o a la cadena de musica cualquier orden (pero para eso antes hay que ver como se comunican el aire acondicionado y el mando).

Espero haberme expresado con claridad
Oooh

Saludos
La verdad es q el funcionamiento no parece muy complicado, simplemente realizas una llamada a un telefono conectado a una interfaz, esta interfaz (no se si espera un numero de tonos o si descuelga a la primera) descuelga el telefono, y inicia una conversacion, en la q solo se puede utilizar un codigo de tonos
(en el programa creo haber entendido q solo se han implementado cuatro estados lo q solo daria la posibilidad de controlar cuatro dispositivos o cuatro elementos de un dispositivo) bueno, el caso es q si le hablas no hara nada
solo respondera a los tonos telefonicos, y cada una de las teclas te introducira en unos menus q al final sacaran un uno logico o un cero por una patilla del pic. De esta manera podras activar o desactivar cualquier aparato conectado al puerto del microcontrolador.

La verdad es q me interesa mucho este tema, pero uno de los proyectos q tengo q abordar antes de entrar en el telecomando y la domotica, es construir un telefono, con capacidad de marcar por tonos y por pulsos, de contestar una llamada y de monitorizar el estado de la linea, sip, me intersaria mucho una especie de cronologia de tensiones y caracteristicas de la linea, desde q esta esperando llamada, hasta q cuelgas despues de haber hablado.
Parte de la interfaz esta muy relacionada con un telefono.
Lleva varios componentes similares a los de un telefono. El gancho seria el interruptor que pulsas con el auricular cuando cuelgas, y su funcion es dejar el bucle abierto (los cables al aire para que no pase corriente) o cerrarlo que equivale a conectarlo al duplexor. El duplexor se encarga de que pasen mas de 6mA que equivale a descolgar y tambien sirve para introducir y extraer las señales de la linea (tanto tonos como audio) a traves de los amplis (solo hay que poner un altavoz en el de salida y un micro en el de entrada). Con eso ya tendrias un telefono con el que recibir llamadas.
Solo le faltaria el teclado para marcar junto con un generador de pares de tonos (en la memoria tienes una tabla con las equivalencias entre pares de tonos y numeros, la empresa Mitel creo que fabrica integrados para esto).

En cuanto a las caracteristicas de la linea, tensiones, corrientes y demas lo tienes tambien en ese documento.

Sobre el funcionamiento del invento solo aclararte una cosa. El gancho en este caso es un rele de forma que si meto un 1 descuelga y con un 0 cuelga, asi que podemos controlar esto con el PIC pero no es la propia interfaz la que hace las operaciones.
La interfaz solo se encarga por asi decirlo de traducir el lenguaje de la linea a la entrenadora.

Me alegra que te interese esto, si necesitas mas informacion no dudes en preguntarme.

Un saludo.
Hola.

Quería hacerte una pregunta:
¿El aparato en cuestión envía confirmación al usuario de que ha recibido la orden? Mediante un pitido o mensaje como el de bienvenida, porque si estás fuera de casa te gustaría saber (por lo menos a mi sí) ha recibido algo. En el caso de pulsación incorrecta en lugar de no hacer nada también estaría bien notificarlo. Son solo sujerencias en cuanto a la interfaz de usuario, porque con el hardware tampoco es que esté muy relacionado...

Enga, un saludo ;)
La interfaz lleva un integrado (ISD2532 creo que era) que es capaz de almacenar 32 segundos de audio en forma de varios mensajes. Despues de haberlos grabado se puede reproducir el mensaje deseado dependiendo de la situacion (hay una biblioteca para eso).
Si, eso ya lo ví, pero todavía no está implementada en la función de C más que la bienvenida, ¿no?
La libreria tiene varias funciones. La primera de ellas es reproducir, la segunda ir al mensaje numero x y la ultima ir al mensaje 0.

De esta forma, tu reproduces lo que quieres cuando quieres. Hay un mensaje de bienvenida, hay un mensaje de contraseña correcta y otro de contraseña incorrecta, tambien hay uno que pide operaciones, otro de despedida, otro que indica el agotamiento del tiempo de espera, etc. Todo depende de lo que grabes en el ISD y del programa que hagas.

En este caso se reproducen varios mensajes (en concreto 8 diferentes creo) no solo el de bienvenida.
Aaaaa... es que las librerías no las había mirado (no se tú, pero a mí el mirar programas de otros me cuesta mucho...).
Era por indagar un poquito más en el tema ;)

Interesante...
9 respuestas