Blog 11

From BitWizard WIKI
Jump to: navigation, search


Clock based On/off system

In this post I am going to work with crontab. What I am going to show is how you can make it possible to turn a light on or off on special times. I made this as some anti-criminal technique. So, that when I am away the lights are still on at night or day in the house. With that the house doesn't look like a house that has nobody in it.

For this system I am of course going to try if it works with shorter times otherwise I have to wait 8 hours for a lamp to get on or off.

So when I start the code I plan it 1 minute in the future.

I already made a lamp go on and off in blog 02. So I am going to use that same way for turning on and off the lamp.

Working with crontab has to all be done manually:

crontab -e 

has to be done to open crontab for editing

I then have to put this in to make it work to turn the light on at 13:19 and turn the light off at 13:20:

#  mm hh dom mon dow command 
19 13 * * * /usr/local/bin/gpio write 3 1 
20 13 * * * /usr/local/bin/gpio write 3 0 

To read a certain part:

crontab -l |grep bin/gpio 

( With -v you can also let the other parts without bin/gpio appearing.

For the people who don't understand:

  • 1 (mm)Minute 0-59
  • 2 (hh)Hour 0-23 (0 = midnight)
  • 3 (dom)Day 1-31
  • 4 (mon)Month 1-12
  • 5 (dow)Weekday 0-6 (0 = Sunday)

So the text from my is now saying:

gpio write 3 1 at 13:19
gpio write 3 0 at 13:20

To manually change it in the command line:

( echo "#  mm hh dom mon dow command" ; echo '19 13 * * * /usr/local/bin/gpio write 3 1' ;  echo '20 13 * * * /usr/local/bin/gpio write 3 0' ) |  crontab 

( You can of course also use it as alarm clock, then you only have to change the command to the location of the audio file you want to play.)


manual Display Alarm