#!/bin/bash # Configurazione # Cartella dei file cartella=/home/pi/pistampa/idee # PIN per la lettura del pulsante pulsante=18 # PIN per l'alimentazione del pulsante alimentazione=23 # Numero di cicli per spegnimento spegnimento=100 # Da qui in poi non toccare se non si sa cosa si fa # funzioni stampa() { # Questa funzione usa l'opzione -R di sort per randomizzare l'output. #lpr $(ls ${cartella} | sort -R | tail -n1) # Debug cat $(ls ${cartella} | sort -R | tail -n1) } # Inizializzazione echo "${pulsante}" > /sys/class/gpio/export echo "${alimentazione}" > /sys/class/gpio/export echo "in" > /sys/class/gpio/gpio${pulsante}/direction echo "out" > /sys/class/gpio/gpio${alimentazione}/direction echo "1" > /sys/class/gpio/gpio${alimentazione}/value contatore=0 while true; do if [[ $(cat /sys/class/gpio/gpio${pulsante}/value) -eq 1 ]]; then # Il bottone è premuto. let "contatore += 1" else # Il bottone non è premuto. if [[ ${contatore} -gt 0 ]]; then # Se il contatore è maggiore di zero, il pulsante è stato premuto # per un certo periodo di tempo ma ora non lo è più if [[ ${contatore} -gt ${spegnimento} ]]; then # Se il contatore ha superato il tempo di spegnimento, esco dal # loop. break else # Se non ha superato il tempo di spegnimento, stampo quindi # annullo il contatore stampa contatore=0 fi fi fi done # Faccio pulizia sui PIN echo "${pulsante}" > /sys/class/gpio/unexport echo "${alimentazione}" > /sys/class/gpio/unexport # Infine spengo il raspberry poweroff