Archivo de Noviembre 2008

h1

Estudio del protocolo (II)

30 Noviembre 2008

Una vez que ya tenemos estudiado el canal físico que utiliza X10 vamos a avanzar un poco mas, viendo como hace para trasmitir este protocolo.

Estructura del mensaje:

Un mensaje completo en X-10 está compuesto por el código de comienzo (1110) o Start Code y puede usarse para alertar al producto O.E.M. del código que emitirá a continuación, seguido de la letra de la casa y por un código de control.

El código de comienzo se mantiene siempre igual.

El código de la letra de la casa, será el identificativo del elemento que queramos manejar. Este puede tener el mismo código que otro, lo que permite que una única instrucción sea recibida y ejecutada por todos los elementos con la misma identificación.

El código de control puede ser una dirección de una unidad o un código de comandos, dependiendo de si el mensaje es una dirección o un comando. La tabla 1 y 2 muestran los posibles valores de los código de casa y control.

Tabla1

tabla11

Tabla2

tabla21

Codificación de la transmisión:

Un uno binario es representado por 1 pulso de un milisegundo en el punto de corte cero y un binario 0 por la ausencia de 120 KHz.

El PL513 y TW523 modulan sus entradas (de OEM) con 120 KHZ, por lo tanto solo 1 paquete necesita ser aplicado a las entradas. Esto podemos verlo reflejado en la siguiente imagen.

img1

Este pulso de 1 milisegundo debería de hecho ser transmitido tres veces para coincidir con los puntos de cortes cero de las tres fases en un sistema de distribución de tres fases.

img21

El código de comienzo (1110) es el único que no se envía de forma complementaria 7 y es el único código que no cumple el salto cada 4 o 5 instrucciones.

img3

Inmediatamente después del código de comienzo se transmite la dirección de la casa o letra según se muestra en la figura . La tabla donde se muestra las letras es la tabla 1.

img4

Después de enviar el código de la letra enviamos la dirección de unidad o número. En la tabla 2

hacíamos referencia al código de control, formado por cuatro bits y a la ultima columna la habíamos

llamado sufijo, este bit lo utilizamos para que el código de control represente una dirección de unidad una orden de comando. Este sufijo será́ cero si lo que queremos mandar es una dirección de unidad y uno si queremos mandar una orden de comando.

img5

Debido al medio de transmisión utilizado los diseñadores del código X-10 decidieron transmitir dos veces cada uno de estos bloques de información para que el sistema ganara en fiabilidad.

img71

Estos 3 ciclos de margen son necesarios para que el receptor mueva los datos de sus registros en cada uno de los seis pasos por cero.

Una vez que el receptor ha procesado sus datos de dirección, está listo para recibir una orden de comando. Al igual que se había hecho al enviar la dirección, el bloque de datos del comando debe empezar por el código de comienzo, seguido del código de la letra y el código de control, finalmente irá el sufijo, teniendo que ser en este caso igual a 1 para que el código de control sea interpretado como un comando y no como una dirección por el receptor.

Y por último esta imagen reflejaría los ciclos totales para terminar con una transmisión completa.

img6

Con esto hemos terminado de estudiar como códifica el protocolo, ya queda menos para terminar el estudio de X10.

h1

Estudio del protocolo X10 (I)

23 Noviembre 2008

Después de unos días con un catarro, vuelvo a estar listo para seguir con el proyecto.He seguido buscando más información del protocolo, viendo las ventajas y las desventajas que tiene.

Estudiando el protocolo:

x10_300_logo

Aunque el uso de módulos de control domótico X10 sea muy extendido y que esta sea una de las principales ventajas de dicho protocolo, X10 es una marca registrada y que para utilizarla se necesita comprar un elemento a X10 Power House. Lo que quiere decir que si se quiere desarrollar módulos propios, necesitaremos interfaces de línea como son el PL513 y el TW523. Ambos ofrecen un uso efectivo de transmisión X-10 por la red eléctrica.

El PL513 es un transmisor y el TW523 es un transmisor/receptor. Los dos se conectan a la red eléctrica por una toma de corriente y al módulo (compatible con X10) por un cable RJ11 [1]. Ambas interfaces proporcionan un optoacoplador, una onda cuadrada de 60 hz, están sincronizadas al paso cero de la corriente eléctrica y permiten recibir código X-10. La diferencia entre estos 2 interfaces es que el TW523 podría ser una extensión del PL513, ya que este modelo además de recibir, permite emitir por dicho protocolo.

Los fabricantes generarán elementos que enviarán códigos X10 compatibles, sincronizados con el paso cero de la línea eléctrica. Mientras que el PL513 y el TW523 introducirá el código por la línea eléctrica. Teniendo de este modo el circuito de comunicaciones totalmente cerrado.

esquema1

Además de esta comunicación cableada tenemos la opción de implementar nuestras conexiones de manera inalámbrica, utilizando radiofrecuencia.

Aquí es donde entra en juego el RR501, este es un sistema de control remoto, utiliza como interfaz un transmisor/receptor (Transceiver). Que envía señales de radio frecuencia a otro nodo de la comunicación para enviar la señal a un elemento de control.

La manera de utilizar el RR501 es igual a la utilizada para los interfaces PL513 y PW523, se conecta directamente a una toma eléctrica para alimentarse, pero esta vez recibe código X10 de manera inalámbrica.

Por lo tanto, si unimos estas 2 tecnologías tanto los interfaces cableados PL513 y PW523, como el inalámbrico. Obtendremos un canal de comunicación con 2 vías.

esquema2

[1] El RJ-11 es un conector usado mayoritariamente para enlazar redes de telefonía. Es de medidas reducidas y tiene cuatro contactos como para soportar cables de hasta esa cantidad de hilos. Es el conector más difundido globalmente para la conexión de aparatos telefónicos convencionales, donde se suelen utilizar generalmente sólo los dos pines centrales para una línea simple o par telefónico

[2] Polling en computación hace referencia a una operación de consulta constante, generalmente hacia un dispositivo de hardware, para crear una actividad sincrónica sin el uso de interrupciones, aunque también puede suceder lo mismo para recursos de software.

Referencias:

[1] http://es.wikipedia.org/wiki/RJ11

[2] http://es.wikipedia.org/wiki/Polling

[3] http://sumanual.com/fullswf-X10.php?type=.SWF&file=SWF/X10/15-02-08-22-17-12-299&langue=es&img_width=792&img_height=612&cat=vide

h1

El objetivo del proyecto y presentación del protocolo

13 Noviembre 2008

El objetivo de este proyecto es conseguir una comunidad de personas interesadas en construir lo que sea una plataforma domótica libre, y que podamos entre todos hacer algo grande.

Sabemos de las necesidades de un sistema dómotico, pero no encontramos ninguna alternativa libre y barata de fabricar.

Para empezar vamos a realizar la librería que nos permitirá conectar al Arduino con el protocolo X10. Las razones por las que he elegido este protocolo las detallaré justo ahora, en la presentación del mismo.

Manos a la obra…

X-10, es un protocolo estándar para la transmisión por la línea eléctrica (en inglés Power Line Carrier). Fue introducido por primera lema no es del feed, es que cada entrada del blog esta vez en 1978 por Sears Home Controls System. Desde su aparición se han elaborado muchas versiones O.E.M. (empresas o personas que adquieren dispositivos al por mayor para ensamblarlas de forma personalizada) en distintas empresas fundamentalmente en Estados Unidos, aunque también en otros países como Canadá, Alemania, Holanda, Francia, Japón y Australia. Todas ellas compatibles entre sí.

Esto hace una ventaja clara a la hora de lanzar un nuevo producto que se comunique con este protocolo, ya que sabemos que tiene aceptación y que además está extendido y estabilizado en el mercado. Por lo tanto es una de las principales razones de por qué tendremos que empezar por aquí a la hora de diseñar nuestro sistema domótico.

Otra de las razones de por qué utilizar X-10 es que podemos utilizar una red eléctrica disponible en cualquier hogar para enviar nuestra información, con esto no necesitaremos tirar un cable para controlar una bombilla. En definitiva, si tenemos un toma de red eléctrica, tenemos una toma de red domótica.

Ahora que ya nos ha convencido el protocolo de comunicaciones, hay que informarse de como funciona internamente el protocolo, siguiente tarea a realizar.

La página que he utilizado para esta introducción ha sido básicamente la wikipedia ya que todavía no he encontrado otra fuente con más contenido.

Un saludo,

Juan Antonio.

h1

Hello World!

10 Noviembre 2008

Recien llegado de la universidad me encuentro con que me han aceptado en el 3er Concurso de Software Libre Universitario. En este me voy a enfrentar con el que será mi proyecto de fin de carrera de la Ingieniería Técnica Informática de Gestión. El proyecto trata de hacer una librería para la conexión de Arduinos y un PC vía protocolo X10.

Pero antes de empezar, las presentaciones, soy Juan Antonio Infantes Díaz y David Santo Orcero es quien dirige mi proyecto. La idea es preparar las herramientas necesarias para disponer de un entorno domótico libre. Para hacer esto vamos a disponer de las siguientes tecnologías:

  • Arduino: Hardware libre
  • Mister House: Software libre
  • La librería que será implementada en este proyecto, la cual será liberada bajo licencia GPL.

¿Qué necesitaré para empezar este proyecto?

  • Aprender perfectamente como funciona el protocolo X10.
  • Además de Mister House, ya que será el motor que envíe las instrucciones al Arduino.
  • Perl, ya que la Mister House está escrito en este lenguaje.
  • Programación de Arduinos.

Mucho camino por delante, muchas ganas de empezar.

Para terminar esta presentación suerte a todos mis compañeros de concurso, espero ver grandes proyectos :D

Enlaces:

  1. http://www.concursosoftwarelibre.org/0809/