Instale botões para desligar e reiniciar a Raspberry Pi 1

Está desenvolvendo um novo projeto embarcado? Aprenda a desligar e reiniciar a Raspberry Pi com segurança sem a necessidade do uso de teclado, mouse ou terminal com conexão SSH.

Botões para desligar e reiniciar a Raspberry Pi

Desligar e reiniciar a Raspberry Pi de forma segura mediante o uso de botões é muito importante para projetos embarcados, pois minimiza os problemas causados por dados corrompidos que pode acontecer ao desligar a Raspberry Pi diretamente pela fonte. Ou seja, quando o sistema Raspbian estiver executando algum programa será possível executar paralelamente os comandos “sudo shutdown -h now” e “sudo shutdown -r now” através da GPIO no modo auto RUN de forma rápida e fácil.Gostou da idéia? Então continue lendo o post!

Material necessário

Antes de tudo é necessário configurar a sua Raspberry Pi e deixa-lá operacional. Para isso veja o post Primeiros Passos com Raspberry Pi e Linux.

Para a realização deste projeto você vai precisar de:

Circuito esquemático para desligar e reiniciar a Raspberry Pi

O circuito esquemático do projeto é bem simples, pode ser feito através de cabos jumpers, wire-up com auxilio de uma protoboard, ou seja, basta conectar duas chaves tácteis push-button aos pinos da GPIO de sua Raspberry Pi.

A chave táctil, também conhecida como push button ou chave de toque, fecha o contato quando for pressionada.

Chave tactil

Os contatos normalmente aberto (NA) da primeira chave táctil conectamos no pino 18 e no pino GND da GPIO, esse comando desligará o sistema operacional.

Os contatos normalmente aberto (NA) da segunda chave táctil conectemos no pino 23 e no pino GND da GPIO, esse comando reinicializara o sistema operacional.

Conecte as chaves tácteis no conector GPIO seguindo o esquema de ligação abaixo. Utilizaremos apenas o pino 14 (GND), o pino 12 (GPIO18) e o pino 16 (GPIO23).

Circuito esquemático para desligar e reiniciar a Raspberry Pi

Com o circuito pronto, precisamos apenas programar a Raspberry Pi para desligar e reiniciar.

Código-fonte

O código-fonte do projeto, escrito em Python, pode ser visto abaixo:

Primeiramente importamos as bibliotecas que iremos utilizar, configuramos os pinos da GPIO da Raspberry Pi no modo Broadcom, habilitamos o pull-up interno. Dessa forma, é necessário que a Raspberry Pi receba um sinal de nível lógico baixo para ser acionada.

# Desligar e reiniciar a Raspberry Pi através do uso de chave táctil push button.

import RPi.GPIO as GPIO
import time
import os

# Numero dos pinos da Raspberry Pi configurada no modo Broadcom.
# Pull-up interno habilitado, necessita de um sinal nivel lógico baixo para ser acionado.
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Função habilita os comandos quando os botões forem pressionados.
def Desligar(channel):
    os.system("sudo shutdown -h now")
def Reiniciar(channel):
    os.system("sudo shutdown -r now")
# Executa as funções para desligar e reiniciar o sistema raspbian.
GPIO.add_event_detect(18, GPIO.FALLING, callback=Desligar, bouncetime=2000)
GPIO.add_event_detect(23, GPIO.FALLING, callback=Reiniciar, bouncetime=2000)

# Agora espere o comando ser finalizado.
while 1:
    time.sleep(1)

Agora precisamos dar um nome para nosso programa executável. Para isso, abra o terminal e digite o seguinte comando:

sudo nano RPiShutdown.py

Programa para reiniciar e desligar a Raspberry Pi

Copie e cole (você pode usar o botão direito do mouse para isso) o código fonte diretamente no terminal, conforme imagem abaixo:

Colando o programa para reiniciar e desligar a Raspberry Pi

Agora pressione Ctrl+X, depois Y (Inglês) ou S (Português) para sair e salvar o arquivo, conforme imagem abaixo:

Editando o programa para reiniciar e desligar a Raspberry Pi

Para este código fonte ficar sempre rodando durante a inicialização do sistema, abra o arquivo na pasta indicada abaixo:

sudo nano /etc/rc.local

Rodar o programa assim que ligar

Adicione o comando de execução na penúltima linha antes do comando exit 0 como no exemplo abaixo. Não se esqueça do & no final para o shell script não ficar preso esperando uma execução do programa. Veja a seguir:

python3 /home/pi/RPiShutdown.py &

Executa o programa assim que liga a placa

 

Agora pressione Ctrl+X, depois Y (Inglês) ou S (Português) e a tecla ENTER para sair e salvar o arquivo.

Pronto! O arquivo foi gerado, e ele já está em modo auto RUN. Agora pressione um dos botões e veja sua Raspberry Pi desligando ou reiniciando.

Gostou do post sobre Como instalar botões para desligar e reiniciar a Raspberry Pi? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso fórum!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Um Comentário

  1. sudo nano /etc/rc.local

    Arquivo inexistente.

    Gilson Vieira Castro Júnior