in reply to Alarm clock
I have something similar setup, albeit a mite more complex.
I, too, have X-10 setup but I also got a freebie motion detector.
I figured I might as well put it to some use, so I decided to
make an alarm clock (no, more alarm SYSTEM) that used it. The way
it is configured now, I have the motion detector near my computer
where it cannot see the bed (very well (I need to block its range a bit more)).
the alarm system is just a big ol'e perl script that gets activated
by a cron job and turns on a bunch of noisy/bright x-10 devices.
the catch is that it checks the motion detector until it actually
detects movment (as in I actually got up). the system also,
just to top things off, checks a list of holidays to see if it should
actually bother waking me up and best yet: checks for school closings (snow days).
now all i need to do is have it tilt up my bed, drop me through the floor
and into some nice, mechanical trousers. oh, wait, that's already been done ;-)
Re^2: Alarm clock
by Anonymous Monk on Dec 05, 2007 at 10:36 UTC
|
Any source code for that? It sounds great. I'm a bit far off but have this so far works fine, although incomplete....
#!/usr/bin/perl
$servertime = localtime (time);
$x = 0;
$Day = "Wed";
$Month = "Dec";
$Date = "5";
$Time = "10:15:30";
$Year = "2007";
$AudioFileName = "04 - Dido - Marys In India - EMG - www.elitemusic.e
+s.vg.mp3";
$Player = "xmms";
print ("\r\n \r\n \r\n");
print ("--------------------------------------------------------------
+--------------- \r\n");
print ("Welcome To Dans Perl Alarm Clock For Linux\r\n");
print ("Created by Dan Gibas - http://www.hygen.net\r\n");
print ("--------------------------------------------------------------
+--------------- \r\n");
print ("\r\n \r\n \r\n");
print ("Hit ENTER to continue setup...\r\n");
$Begin = <STDIN>;
print ("\r\n \r\n \r\n");
print ("Enter Alarm Day:\r\n\r\n");
print ("(Choose a number from 1 to 7)\r\n");
print ("1 = Mon\r\n");
print ("2 = Tue\r\n");
print ("3 = Wed\r\n");
print ("4 = Thu\r\n");
print ("5 = Fri\r\n");
print ("6 = Sat\r\n");
print ("7 = Sun\r\n");
$Day = <STDIN>;
print ("Enter Alarm Month:\r\n\r\n");
print ("(Choose a number from 1 to 12)\r\n");
print ("1 = Jan\r\n");
print ("2 = Feb\r\n");
print ("3 = Mar\r\n");
print ("4 = Apr\r\n");
print ("5 = May\r\n");
print ("6 = Jun\r\n");
print ("7 = Jul\r\n");
print ("8 = Aug\r\n");
print ("9 = Sep\r\n");
print ("10 = Oct\r\n");
print ("11 = Nov\r\n");
print ("12 = Dec\r\n");
$Month = <STDIN>;
if ($Day == 1){
$Day = "Mon";
}
if ($Day == 2){
$Day = "Tue";
}
if ($Day == 3){
$Day = "Wed";
}
if ($Day == 4){
$Day = "Thu";
}
if ($Day == 5){
$Day = "Fri";
}
if ($Day == 6){
$Day = "Sat";
}
if ($Day == 7){
$Day = "Sun";
}
if ($Month == 1){
$Month = "Jan";
}
if ($Month == 2){
$Month = "Feb";
}
if ($Month == 3){
$Month = "Mar";
}
if ($Month == 4){
$Month = "Apr";
}
if ($Month == 5){
$Month = "May";
}
if ($Month == 6){
$Month = "Jun";
}
if ($Month == 7){
$Month = "Jul";
}
if ($Month == 8){
$Month = "Aug";
}
if ($Month == 9){
$Month = "Sep";
}
if ($Month == 10){
$Month = "Oct";
}
if ($Month == 11){
$Month = "Nov";
}
if ($Month == 12){
$Month = "Dec";
}
print ("\r\n \r\n \r\n");
print ("--------------------------------------------------------------
+--------------- \r\n");
print ("Alarm activated! \r\n");
print ("Alarm will go off at: $Day $Month $Date $Time $Year \r\n");
print ("Alarm will play: $AudioFileName \r\n");
print ("[^c to quit] \r\n");
print ("--------------------------------------------------------------
+--------------- \r\n");
while ($x < 10) {
$servertime = localtime (time);
if ($servertime eq "$Day $Month $Date $Time $Year"){
$x = 100;
exec ("$Player \"$AudioFileName\"");
}
}
It uses a bit too much CPU but works...
more info here - http://www.hygen.net/blog/
Edit: g0n - code tags | [reply] [d/l] |
|
Is it Perl language code? I don't beleive!
| [reply] |
|