Archivos de la categoría ‘X-10’

h1

Maneja mi maqueta on-line

22 Abril 2009

Bueno, después de tanto anunciar la “gran sorpresa”, ¡aquí la tenéis!
Que yo controle a través de arduino las luces, no es suficiente, quiero demostraros que vosotros mismos podéis hacerlo y que es realmente sencillo. Esto quizá os certifique lo fácil que puede llegar a ser tener tu propio sistema domótico y controlar las luces de toda tu casa estando en cualquier lugar con acceso a internet. Para ello he montado esta pequeña maqueta y tenéis acceso para encender y apagar las luces que queráis, os invito a que manejéis mi maqueta estéis donde estéis. Me sentiré gratificado viendo los leds de encenderse y apagarse.

He instalado aquí en mi casa la maqueta y he lanzado Mister House con mis librerías, tengo una camara web enfocando a la maqueta y podréis ver los cambios en las luces al manejar la casa con Mister House.

La dirección es: http://opendomotica.no-ip.biz/ a la derecha se encuentra Mister House y a la izquierda una foto que se actualiza más o menos cada 2 segundos el estado de la maqueta.

Para los que no conozcan Mister House pueden empezar a utilizarlo rápidamente dandole a Lights Aplicances > FloorPlan View y pinchando encima de la bombilla correspondiente que queramos enceder o apagar.

Dejaré el ordenador encendido con la maqueta para que podáis utilizarlo, espero que no se vaya la luz.

Un saludo a todos y espero vuestros comentarios.

ACTUALIZADO (23/4/2009): La exposición de la maqueta ha sido todo un éxito, no hace ni 24 horas de la publicación y ya hay 135 personas que la han manejado. Las impresiones de la gente parecen muy buenas, hay mucha gente interesada, a todos gracias.

ACTUALIZADO (28/04/2009): He apagado la maqueta después de casi una semana, los resultados han sido bastante buenos, aprovecho para seguir avanzando ahora. Si alguien quiere verla en funcionamiento, que me escriba que se la pongo encantado.

h1

Descripción del protocolo X10 publicado

25 Enero 2009

Tal y como dije he redactado todo lo que he aprendido del protocolo X10 y lo he dejado en la forja.  El estudio de este protocolo es complejo, no por la dificultad de este, sino porque la información se encuentra muy dispersa y no encontramos un buen manual en español que nos lo describa.

Ahora los que quieran estudiarlo lo tendrán un poco más fácil.

Url de descarga:

https://forja.rediris.es/docman/view.php/414/761/X10.pdf

En breve tendré el de Arduino listo, buen provecho.

h1

¿Dónde comprar módulos de X-10?

28 Diciembre 2008

En esta actualización hago referencia a alguna de las muchas páginas donde se pueden adquirir módulos de X10, aunque basta con hacer una simple búsqueda en google. Pongo las que me han parecido mas significactivas.

En español:

En inglés:

Viendo estas páginas podemos observar lo que ya os comentaba en unos post atras sobre la diferencia de precios entre comprar X10 dentro o fuera de España. También como conclusión vemos la cantidad de aplicaciones disponibles bajo este protocolo.

Felices fiestas  a todos.

h1

Estudio del protocolo (V) Tipos de instrucción

21 Diciembre 2008

Ahora vamos a analizar los tipos de instrucción que podemos manejar con el protocolo.

  • Start Code: Código que indica que se va a empezar la comunicación siempre es el mismo y es 1110
  • All Lights Off: Código encargado de apagar todas las luces.
  • All Lights On: Código encargado de encender todas las luces.
  • Extended Data(analog): se sigue de bytes que pueden representar información analógica (después de una conversión A/D). No debe haber separación entre los bytes de datos, ni entre el código de datos extendidos y datos reales. El primer byte se puede utilizar para indicar cuántos bytes de información le seguirán.
  • Extended Code: es similar a los Datos Extendidos: bytes que siguen Extend Code (sin separación entre bytes), pueden representar códigos adicionales. Esto permite al diseñador expandirse más de los 256 códigos actualmente disponibles
  • Hail Request: Hail Request o petición de Saludo se transmite para ver si existen otros transmisores X-10 dentro del rango de escucha. Esto permite al OEM asignar un Código de Casa diferente si se recibe un mensaje de ”Hail Acknowledge” o Aceptación de Saludo.
  • Hail Acknowledge: Código para aceptación de saludo.
  • Pre-Set Dim: Código encargado de fijar los niveles de iluminación. En una instrucción Pre-Set Dim o de Atenuación Preestablecida, el código D8 representa el máás significativo de los niveles y H1, H2, H4 y H8 representa al menos los 4 menos significativos.
  • Status = on: Código encargado de marcar el estado a encendido.
  • Status = off: Código encargado de marcar el estado a apagado.
  • Status Request: Código encargado de pedir el estado de la solicitud.
h1

Estudio del Protocolo (IV) Problemas

17 Diciembre 2008

Desgraciadamente, hay algunos problema con X10 que lo hacen ineficiente para aplicaciones serias. El primero es que el tiempo de respuesta de los módulos X10 es largo, y si hay mensajes extendidos , o hay colisiones entre dispositivos -varios dispositivos intentando acceder simultáneamente al mismo canal-, tendremos tiempo de respuesta que pueden llegar a los muchos segundos. Esto se soluciona haciendo zonas independientes dentro de la casa, filtrando señales X10 entre ellas, y teniendo más de un interfaz con X10.

El segundo problema es muy molesto,  y tiene mala solución. Según aumentamos los dispositivos X10 (y no son necesarios demasiados disopsitivos para que comience este fenómeno)  , la distancia hamming entre códigos de identificación válidos de dos dispositivos reales disminuye. En la práctica, la probabilidad de que el ruido haga saltar de un código válido de la casa a otro código válido de dispositivo aumenta. La solución es similar al problema de los retrasos, pero mientras que un problema puntual de atrasos es asumible, un problema de estas características puede ser peligroso.  Por ello se han desarrollado interfaces domóticos más robustos como EIBus.

El tercer problema tiene muy mala solución. X10 es una marca registrada y en teoría hay un único fabricante de circuitos integrados que soportan X10. Además los elementos X10 son caros en España y no se pueden comprar a Estados Unidos por la diferencia de tensión -60Hz 120 V frente a 50Hz y 220V.

h1

Estudio del protocolo (III)

8 Diciembre 2008

Para seguir con el estudio del protocolo vamos a analizar las posibles complicaciones que puedan surgir para establecer la comunicación de dos elementos vía protocolo X-10. Por lo tanto vamos a analizar las colisiones y las inteferencias de la línea eléctrica.

Colisiones

El protocolo X10 estándar, vigente desde 1978, no recoge ningun tipo de protocolo de acceso al medio, como podría ser CSMA/CD [1]. Sin embargo, el protocolo X10 extendido bidireccional, que ahora empieza a surgir en los nuevos módulos, sí dispone de un protocolo de acceso al medio CSMA [2].

Este sistema hace que un emisor “escuche” la linea eléctrica para saber si en el momento de transmitir ya está transmitiendo otro emisor. En este caso, esperará un tiempo prudencial para volver a intentar transmitir.

Los nuevos Micromódulos X10, son bidireccionales y utilizan este protocolo que, por otra parte, permite conocer el estado del receptor en caso de ser también bidireccional.

Es interesante resaltar que en EEUU los módulos bidireccionales han sido un fiasco comercial, ya que a la gente no le interesa la bidireccionalidad (que es mas cara, lógicamente) sino la práctica, facilidad de uso, y desde luego el económico precio de la tecnología X10.

Interferencias en la línea eléctrica

Partimos de la idea de que la transmisión de señales de pulsos a alta frecuencia a través de la red eléctrica puede verse afectada por interferencias. Las fuentes típicas que producen interferencias son aparatos eléctricos como TV, VCR, equipos de sonido, ordenadores, monitores, transformadores e incluso los cables preparados con filtros tienen la tendencia de depositar ruido eléctrico sobre los cables de la red. Muchos de los nuevos aparatos electrónicos que se utilizan para uso domiciliario utilizan circuitos para evitar sus ruidos eléctricos. Cuando esto ocurre contrariamente envían dicho ruido a la red eléctrica. El aparato eléctrico que está generando dicho ruido no tiene necesariamente que estar encendido pues artefactos tales como computadoras o TV siguen encendidos en ‘’stand by” cuando se apagan.

El problema que presenta este ruido que encontramos en la línea eléctrica, puede ocasionar atenuación o bloqueo de las señales que sean emitidas o recibidas en los dispositivos X-10. Esto puede ocasionar efectos no deseables en las instalaciones, como puede ser el encendido aleatorio de los módulos receptores o tener algun transmisor y algún receptor muy próximos y aún así no tener suficiente señal debido a dicho ruido eléctrico.

Todos estos problemas se solucionan con la utilización de filtros que atenúan las señales de frecuencia diferente a 120 Khz. En la figura 15 se muestra la instalación de uno de estos dispositivos que además sirve como acoplador de fase en sistemas trifásicos.

color9

[1] CSMA/CD: siglas que corresponden a Carrier Sense Multiple Access with Collision Detection (en español, Acceso Múltiple con Sensado de Portadora y Detección de Colisiones), es una técnica usada en redes Ethernet para mejorar sus prestaciones.

[2] CSMA: Carrier Sense Multiple Access (Acceso Múltiple por Detección de Portadora).

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.