Pulsante di Accensione/Spegnimento con Led per RaspberryPi

Da lumacawiki.

Gestione Pulsante:

Pulsante collegato ai Pin 5-6


sudo nano /usr/local/bin/listen-for-shutdown.py

#!/usr/bin/env python

import RPi.GPIO as GPIO
import subprocess

GPIO.setmode(GPIO.BCM)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(3, GPIO.FALLING)

subprocess.call(['shutdown', '-h', 'now'], shell=False)

sudo chmod +x /usr/local/bin/listen-for-shutdown.py

sudo nano /etc/init.d/listen-for-shutdown.sh

# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

# If you want a command to always run, put it here

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting listen-for-shutdown.py"
    /usr/local/bin/listen-for-shutdown.py &
    ;;
  stop)
    echo "Stopping listen-for-shutdown.py"
    pkill -f /usr/local/bin/listen-for-shutdown.py
    ;;
  *)
    echo "Usage: /etc/init.d/listen-for-shutdown.sh {start|stop}"
    exit 1
    ;;
esac

exit 0


sudo chmod +x /etc/init.d/listen-for-shutdown.sh

sudo update-rc.d listen-for-shutdown.sh defaults


Adesso il pulsante collegato ai pin 5 e 6, accendera' o spegnera' il RPi.

Riferimento


Gestione LED:

Metodo 1:

Collegare il negativo del led (catodo, piedino corto) ad una resistenza da 330-Ohm. Collegare il positivo (anodo, piedino lungo) al pin 3,3V del RPi.


Metodo 2:

Collegare il negativo del led (catodo, piedino corto) ad una resistenza da 330-Ohm. Collegare il positivo (anodo, piedino lungo) al pin 0 (GPIO-17)

sudo nano /usr/local/bin/ledOn.sh

#!/bin/bash
gpio mode 0 out
gpio write 0 1
#gpio -g write 17 1

sudo chmod +x /usr/local/bin/ledOn.sh

sudo nano /usr/local/bin/ledOff.sh

#!/bin/bash
gpio mode 0 out
gpio write 0 0
#gpio -g write 17 0

sudo chmod +x /usr/local/bin/ledOff.sh

sudo nano /etc/init.d/controlloLed.sh

# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO 

case "$1" in
  start)
    echo "Accendo LED"
    /usr/local/bin/ledOn.sh &
    ;;
  stop)
    echo "Spengo LED"
    /usr/local/bin/ledOff.sh
    ;;
  *)
    echo "Usage: /etc/init.d/controlloLed.sh {start|stop}"
    exit 1
    ;;
esac

exit 0

sudo chmod +x /etc/init.d/controlloLed.sh sudo update-rc.d controlloLed.sh defaults

Metodo 3:

Collegare il negativo del led (catodo, piedino corto) ad una resistenza da 330-Ohm. Collegare il positivo (anodo, piedino lungo) al pin numero 8 (TXd) del RPi.

aggiungere la seguente riga a /boot/config.txt

enable_uart=1