#!/usr/bin/perl -w # Requires Device-Serial per module. use Device::SerialPort 0.05; my $RS232 = "/dev/cua00"; my $return; my $device = ""; my $value = ""; my $dummy; # Constructor & Basic Values my $ob = Device::SerialPort->new ($RS232) || die "Can.t open $RS232:$!"; $ob->baudrate (9600) || die "fail setting baudrate"; $ob->parity ("none") || die "fail setting parity"; $ob->databits (8) || die "fail setting databits"; $ob->stopbits (1) || die "fail setting stopbits"; $ob->handshake ("none") || die "fail setting handshake"; $ob->dtr_active (1) || die "fail setting dtr_active"; $ob->write_settings || die "no settings"; print "device loaded"; system "echo $$ > ./PIDrec"; for ($dummy=1; $dummy<11; $dummy++) { $return = $ob->input; sleep (0.2); unless ($return eq "") { print $return; ($device, $value) = split (/:/, $return, 2); print "New State on $device, State: $value\n"; system "echo $value > ./sl$device"; system "echo New State on $device, State: $value >> ./log"; $return = ""; } if ($dummy>7) { $dummy=0; } } undef $ob;