Automatizado de iluminación usando DMX y Perl (5 / 6 paso)

Paso 5: Software

Todos mi otros domótica (seguridad, calefacción, energía, cctv etc..) se escribe (mal en partes) con perl.
Este proyecto de iluminación no es diferente, aunque representan mis primeros intentos de utilizar servicios web.
Para los servicios web que he usado Apache 2.x y el módulo SOAP:: Lite para perl, para realmente hablar de serie al controlador DMX, he utilizado el módulo de perl Device::SerialPort.
Todo el lote funciona en Redhat Linux llamar los servicios web de mi aplicación domótica real como esto: (Nota Esto es una parte de un programa mucho más grande)

# Luces de apagado si no hay movimiento para diez minutos y movimiento más recientemente en el pasillo
#
Si ($epoch - $in11_lastmove > 600 & & $in11_lastmove < $in23_lastmove & & $kitchenlights == 1) {}
& send_lights_soap(1,0);
$kitchenlights = 0;
}

La subrutina actual se llama es aquí:

Sub send_lights_soap {}

$soap_response = SOAP:: Lite
-> uri ('http://192.168.101.172/Lights')
-> a proxy ('http://192.168.101.172/cgi-bin/lights')
-> Enviar ('$_ [0]', '$_ [1]');

$res = $soap_response -> resultado;
}

Y como este es un servicio web, el serial interfaz y web servicio código real Reside en otra maquina en mi red, el código de servicio web tiene este aspecto:

#! / usr/bin/perl - w

uso SOAP::Transport::HTTP;
SOAP::Transport::http::cgi
-> dispatch_to('Lights')
-> mango;

# Llamada como -> uri ('http://192.168.101.172/Lights')
# -> proxy ('http://192.168.101.172/cgi-bin/lights')
# -> send ("", "")
paquete de luces;
Sub enviar {}

Use Device::SerialPort;
mi $port = Device::SerialPort -> new("/dev/ttyS0");

$port -> baudrate(9600); $port -> parity("none");
$port -> handshake("none"); $port -> databits(8);
$port -> stopbits(1); $port -> read_char_time(0);
$port -> read_const_time(1);

mi ($class, $channel, $intensity) =

# enviar datos
$port -> write (paquete "C", $channel);
$port -> write (paquete "C", $intensity);
Sleep(1);

$port -> close();

retorno "hecho! He utilizado $class con chn $channel e i $intensity ";
}

Código bastante sencillo, estoy seguro que estarás de acuerdo, y lo mejor de todo, porque corre webservices, puedo repartidos estos nodos por red y llamarlos por fácilmente.
Además usted puede haber notado como la mayoría de las personas que he RFC1918 dirigido mi red, pero con una regla NAT adecuada, estos servicios pueden fácilmente llamar de cualquier parte con conexión a internet, lo que significa que puedo controlar mi iluminación, calefacción etc... desde cualquier lugar (incluso un GPRS o 3G teléfono!)

Artículos Relacionados

Control de su sistema de iluminación usando el teléfono inteligente

Control de su sistema de iluminación usando el teléfono inteligente

Ahora puede controlar su sistema de luz en tu hogar usando tu teléfono inteligente escribiendo un carácter el LED se encienda o apaguePaso 1: La idea del proyectoLa idea del proyecto es prueba de que puede controlar su sistema de iluminación del hoga
Controlador DMX de frambuesa Pi y Pure Data: un arte animado llama instalación

Controlador DMX de frambuesa Pi y Pure Data: un arte animado llama instalación

Que quería trabajar con un Raspberry Pi desde que salió, fue muy emocionante cuando un amigo Jean Margret Thomas me pidió que ayudarla con una escultura de luz que quería crear. Jean Margret es un diseñador de iluminación y su diseño llamada para un
Tiras de LED de DMX

Tiras de LED de DMX

Alrededor del perímetro de nuestro anillo de circo tenemos 17 vallas, decorados con tiras de LED RGB. Quería controlar el resto de nuestra iluminación con DMX.DMX es un estándar industrial para comunicación con equipos de iluminación. Wiki de DMXBusc
DMX Ardweeny nodo

DMX Ardweeny nodo

Hola Instructable... ERS,He colocado en el estándar de la industria de iluminación de DMX como mi protocolo de control de general como exploro el mundo de las luces blinky.  Este método de control universal es eléctricamente robusto, radio transmisib
Actualizar su iluminación refrigerador

Actualizar su iluminación refrigerador

Un par de años atrás, el BF y me regresaron a casa de unas costosas vacaciones en el desierto para aprender que compresor de refrigerador de puerta francesa de nuestros pantalones de lujo había mordido el polvo, naturalmente justo después de que la g
El Photobooth DIY con Control de iluminación

El Photobooth DIY con Control de iluminación

Este es un tutorial sobre cómo construir tu propio Photobooth. Mi amigo tenía una boda proximamente y necesitaba un Photobooth. Alquiler de photobooth ir a cualquier lugar de $500 - $1500 por lo que decidimos hacer nuestro propio y de ahí nació otro
MX3 - profesional LED Panel

MX3 - profesional LED Panel

lo siento por esta desaparición, tuve que anular la publicación como otras cosas no vivo :-(Por favor voten por mí en los concursos :-D Gracias¿Recuerde que este ¿Y este Bueno esta es la tercera generación y mucho mejor, LED display.Doe de vid de DAT
Purpleheart Ouija colgante con incrustaciones de arcilla de polímero

Purpleheart Ouija colgante con incrustaciones de arcilla de polímero

este es mi segundo proyecto tematizado de la Ouija, esta vez utilizando madera purpleheart (Peltogyne), que es una madera naturalmente púrpura que proviene de las regiones tropicales de América Central y del sur. Nunca había trabajado con madera purp
Knob Lighting

Knob Lighting

Para hacer una iluminación usando pasta de papel*una estructura (con cualquier material que usted quiere)*papel* pegamento* pintura en aerosol* 2 mediados de tazones de fuente de tamaño* una mesa de mezclas* un taladro (para abrir los agujeros)Paso 1
Moon Rock

Moon Rock

Este proyecto fue inspirado por los colores diferentes de luz a través de la noche de la luna. Esto puede usarse como una noche de luz, que indica la hora con el color. He utilizado 96 NeoPixel anillo para crear este efecto, también es programable co
Control de Arduino invernadero - humedad y temperatura

Control de Arduino invernadero - humedad y temperatura

Este proyecto regula la humedad y la temperatura de cualquier efecto invernadero mediante el uso de calentadores y ventiladores. Tutoriales adicionales se añadirán con el tiempo de riego automatizado e iluminación, entre otras cosas.Todo se hace a tr
Decoración del dormitorio

Decoración del dormitorio

este es mi primer instructable. Ya hice todas las cosas hace mucho tiempo, pude no muestro los circuitos. Pero todavía traté de elaborar todo lo necesario para crear las cosas tan claramente como sea posible.Deja tus sugerencias y comentarios y quisi
El devorador de teléfono

El devorador de teléfono

se trata de un calcetín que protege su teléfono contra impactos. Hice la primera de ellas porque estaba buscando un regalo original y hecho a mano para el cumpleaños de mi mamá. Se ve como un monstruo que se come a su teléfono.Paso 1: Necesita:-calce
Broche lagartija

Broche lagartija

Cómo crear un broche lagarto usando alambre, abalorios pequeños y un botón de abrigo viejo.Paso 1: Materiales y herramientas necesarias para el proyecto1.) 14 trozos de alambre en 8" largo cada una (20 ga se utilizó alambre de arte, 7 de dos colores