#!/bin/bash # knop - Bekijk een pin van de Pi header en sluit de Pi af # wanneer deze lang genoeg ingedrukt wordt # # Versie 1.00 # # Copyright (C) 2017, Lieven, ON7LDS. All rights reserved # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # basis : http://crompton.com/hamradio/RPi2_halt_switch/ # hiervoor is de wiringpi bibliotheek nodig, doe: # apt-get install wiringpi #-------------------------------------------------- # Welke pin gebruiken ? # Kijk bij wiringpi als je een andere wil gebruiken PIN=29 #-------------------------------------------------- ps ax | grep "[g]pio wfi $PIN falling" > /dev/null if [ $? -eq 0 ]; then echo "Process is already running." exit 0 fi # Hoe lang toest ingedrukt houden (seconden) HOLDTIME=5 gpio mode $PIN in gpio mode $PIN up TIME1=1 while [ 1=1 ] echo "Toets monitoren ..." echo timer > /sys/class/leds/led1/trigger echo 100 > /sys/class/leds/led1/delay_on echo 1900 > /sys/class/leds/led1/delay_off gpio wfi $PIN falling do echo "Gedrukt ..." while [ `gpio read $PIN` -eq "0" ]; do echo $TIME1 $STATE echo 0 > /sys/class/leds/led1/brightness sleep 0.5 echo 1 > /sys/class/leds/led1/brightness sleep 0.5 let TIME1+=1 if [ $TIME1 -gt $HOLDTIME ]; then break 3; fi done TIME1=1 continue done echo timer > /sys/class/leds/led1/trigger echo 25 > /sys/class/leds/led1/delay_on echo 25 > /sys/class/leds/led1/delay_off /sbin/halt #/sbin/shutdown -h now