Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

RE: Alarm clock

by Xavier (Novice)
on Feb 24, 2000 at 11:50 UTC ( [id://3976]=note: print w/replies, xml ) Need Help??


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 ;-)

Replies are listed 'Best First'.
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

      Is it Perl language code? I don't beleive!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://3976]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (6)
As of 2024-03-29 12:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found