
Comunicación de Perl con Arduino por puerto serie
22 Marzo 2009Despué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