Archivos de la categoría ‘Perl’

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

Librería de interconexión V1.0

27 Marzo 2009

Ya está aquí, tanto la librería de Arduino como la de Mister House, además de una configuración inicial de una casa utilizando integramente Arduino.

La dirección de la descarga es:

http://forja.rediris.es/frs/download.php/1210/Libreria-V1.0.zip

Y podéis encontrar las siguientes carpetas:

  • Arduino: donde se encuentra la librería con la que se debe programar a Arduino.
  • MisterHouse: donde se encuentran los directorios:
    • bin:  se encuentra mh.private.ini como se comentaba en el manual de Mister House este archivo es de configuración.  Además de otros parámetros se define el puerto al que estará conectado Arduino.
    • code: se encuentra una esquema de una casa controlado con un sólo Arduino.
    • lib: se encuentra la libería necesaria para la conexión entre Mister House y Arduino.
  • Programación de Arduino:  se encuentra un ejecutable llamado instalador, que se encarga de programar el Arduino indicando la configuración necesaria previamente realizada con Mister House.

Me gustaría hacer un manual detallado de instalación un poco más ilustrado.

Espero las impresiones :)

h1

Comunicación de Perl con Arduino por puerto serie

22 Marzo 2009

Después de haberme leído algunos tutoriales de Perl y el libro de O’Reilly me considero satisfecho con el nivel adquerido. Ahora es momento de demostrar los conocimientos. Como habíamos creado un pequeño programa para Arduino que esperaba que llegara por puerto serie un ‘H’ para encender un led, ahora vamos a hacer el programa en Perl que envíe esa ‘H’.

#!/usr/bin/perl -w
use strict; #Esta linea es para hacer obligatorio la declaracion de variablesuse
use Device::SerialPort; # Declaramos el Modulo para manejo de puertos
my $serial = Device::SerialPort->new(“/dev/ttyUSB0″) || die “No se pudo abrir el puerto”; # configuracion del Puerto serial USB
$serial->baudrate(9600); # Velocidad del Puerto o Razon de Bits(9600)
$serial->write_settings; #
# Envio de Datos por el Puerto Serial
$serial->write(chr(’H’)); # Envio de un A al puerto serial.
delay(0.5);
sub delay{ # Funcion para dar una pausa
my $time=shift; # Variable que indica el tiempo(segundos), Con shift se recoje un parametro a
select(undef, undef, undef, $time); # Funcion Real que hace la pausa
}

El ejemplo está comentado pero para cualquier aclaración podéis utilizar los foros de OpenDomotica.

Para la descarga del archivo: puertoSerie.pl