Ligando e desligando o Raspberry Pi com um botão pela GPIO

Comentei aqui que é possível ligar o RPi fechando temporariamente o pino 5 (GPIO3) para o terra. Com um simples programa em Python e o modulo RPi.GPIO instalado, podemos desligá-lo também da mesma forma.

Vimos aqui, aqui e aqui como trabalhar com a interface GPIO.

Utilizando o modulo subprocess.call em conjunto com as instruções de porta de entrada da GPIO, podemos fazer um programa como o abaixo. Onde através do modulo subprocess.call podemos rodar um comando bash pelo Python. Neste caso chamaremos o comando halt que desliga o RPi.

Temos duas formas de fazer, usando:

subprocess.call([“halt”])

ou

subprocess.call(“halt”, shell=True)

Caso precise executar um comando seguido de uma opção, como ls –alh use:

subprocess.call([“ls”, “-alh”])

ou

subprocess.call(“ls -alh”, shell=True)

Aqui o programa pronto:

 

 

Para o programa estar sempre rodando na inicialização do sistema, abra o arquivo /etc/rc.local como root em um editor de texto, e adicione a linha de execução como no meu exemplo abaixo. Não se esqueça do & no final para o shell não ficar preso a espera da execução.

/home/pi/./RPi_shutdown.py &

 

Comentários

Postar um comentário